From admin at opensuse.org Sun Sep 1 01:35:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 01:35:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals-debian8-jessie in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5d6b208c67848_6aec2acc1e0e65f4510192@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals-debian8-jessie/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 170s] asciidoc: oap.adoc: line 51: evaluating: {set2:target:test-usermanual__53.png} [ 170s] asciidoc: oap.adoc: line 61: filtering: "/usr/bin/python" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -Tpng - [ 170s] asciidoc: oap.adoc: line 243: evaluating: {counter2:target-number} [ 170s] asciidoc: oap.adoc: line 243: evaluating: {set2:target:test-usermanual__54.png} [ 170s] asciidoc: oap.adoc: line 251: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - && echo " " [ 170s] [ 170s] ../build/Makefile.asciidoc.inc:61: recipe for target 'test-usermanual.pdf' failed [ 170s] make[3]: *** [test-usermanual.pdf] Error 1 [ 170s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 170s] Makefile:438: recipe for target 'all-recursive' failed [ 170s] make[2]: *** [all-recursive] Error 1 [ 170s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 170s] Makefile:362: recipe for target 'all' failed [ 170s] make[1]: *** [all] Error 2 [ 170s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 170s] dh_auto_build: make -j1 returned exit code 2 [ 170s] debian/rules:5: recipe for target 'binary' failed [ 170s] make: *** [binary] Error 2 [ 170s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 170s] [ 170s] lamb76 failed "build osmo-gsm-manuals-dev_0.2.0.1.6596.dsc" at Sun Sep 1 01:35:43 UTC 2019. [ 170s] [ 170s] ### VM INTERACTION START ### [ 173s] [ 161.490141] sysrq: SysRq : Power Off [ 173s] [ 161.500912] reboot: Power down [ 173s] ### VM INTERACTION END ### [ 173s] [ 173s] lamb76 failed "build osmo-gsm-manuals-dev_0.2.0.1.6596.dsc" at Sun Sep 1 01:35:46 UTC 2019. [ 173s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 01:45:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 01:45:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6b22e69b67f_6aec2acc1e0e65f45103b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 417s] ar: `u' modifier ignored since `D' is the default (see `U') [ 417s] libtool: link: ranlib .libs/libtransceiver_common.a [ 417s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 417s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 418s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 418s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 418s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 418s] collect2: error: ld returned 1 exit status [ 418s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 418s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 418s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 418s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 418s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 418s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 418s] make[1]: *** [Makefile:444: all] Error 2 [ 418s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 418s] dh_auto_build: make -j1 returned exit code 2 [ 418s] make: *** [debian/rules:6: build] Error 255 [ 418s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 418s] [ 418s] lamb08 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 01:45:42 UTC 2019. [ 418s] [ 418s] ### VM INTERACTION START ### [ 421s] [ 402.694049] sysrq: SysRq : Power Off [ 421s] [ 402.700694] reboot: Power down [ 421s] ### VM INTERACTION END ### [ 421s] [ 421s] lamb08 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 01:45:45 UTC 2019. [ 421s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 01:46:27 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 01:46:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6b2300e3102_6aec2acc1e0e65f451042e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 389s] ar: `u' modifier ignored since `D' is the default (see `U') [ 389s] libtool: link: ranlib .libs/libtransceiver_common.a [ 389s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 389s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 389s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 389s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 389s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 389s] collect2: error: ld returned 1 exit status [ 389s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 389s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 389s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 389s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 389s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 389s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 389s] make[1]: *** [Makefile:444: all] Error 2 [ 389s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 389s] dh_auto_build: make -j1 returned exit code 2 [ 389s] make: *** [debian/rules:6: build] Error 255 [ 389s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 390s] [ 390s] morla5 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 01:46:10 UTC 2019. [ 390s] [ 390s] ### VM INTERACTION START ### [ 393s] [ 374.114925] sysrq: SysRq : Power Off [ 393s] [ 374.122202] reboot: Power down [ 393s] ### VM INTERACTION END ### [ 393s] [ 393s] morla5 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 01:46:14 UTC 2019. [ 393s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 03:49:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 03:49:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6b3ff45a809_6aec2acc1e0e65f453202@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 393s] ar: `u' modifier ignored since `D' is the default (see `U') [ 393s] libtool: link: ranlib .libs/libtransceiver_common.a [ 393s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 393s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 394s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 394s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 394s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 394s] collect2: error: ld returned 1 exit status [ 394s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 394s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 394s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 394s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 394s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 394s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 394s] make[1]: *** [Makefile:444: all] Error 2 [ 394s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 394s] dh_auto_build: make -j1 returned exit code 2 [ 394s] make: *** [debian/rules:6: build] Error 255 [ 394s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 394s] [ 394s] lamb54 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 03:49:33 UTC 2019. [ 394s] [ 394s] ### VM INTERACTION START ### [ 397s] [ 379.005981] sysrq: SysRq : Power Off [ 397s] [ 379.014030] reboot: Power down [ 397s] ### VM INTERACTION END ### [ 397s] [ 397s] lamb54 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 03:49:37 UTC 2019. [ 397s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 03:49:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 03:49:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6b3ff4b0f41_6aec2acc1e0e65f45321b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 394s] ar: `u' modifier ignored since `D' is the default (see `U') [ 394s] libtool: link: ranlib .libs/libtransceiver_common.a [ 394s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 394s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 395s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 395s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 395s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 395s] collect2: error: ld returned 1 exit status [ 395s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 395s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 395s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 395s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 395s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 395s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 395s] make[1]: *** [Makefile:444: all] Error 2 [ 395s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 395s] dh_auto_build: make -j1 returned exit code 2 [ 395s] make: *** [debian/rules:6: build] Error 255 [ 395s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 395s] [ 395s] lamb59 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 03:49:40 UTC 2019. [ 395s] [ 395s] ### VM INTERACTION START ### [ 398s] [ 380.455951] sysrq: SysRq : Power Off [ 398s] [ 380.464896] reboot: Power down [ 398s] ### VM INTERACTION END ### [ 398s] [ 398s] lamb59 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 03:49:44 UTC 2019. [ 398s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 1 08:32:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 08:32:25 +0000 Subject: Change in ...libosmocore[master]: cbsp: Fix endless loop iteration when decoding cell list IEs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15370 ) Change subject: cbsp: Fix endless loop iteration when decoding cell list IEs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5758af4ec11a827d4b888a3a16c4ec22de90a7d6 Gerrit-Change-Number: 15370 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Sep 2019 08:32:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 08:32:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 08:32:31 +0000 Subject: Change in ...libosmocore[master]: cbsp: Remove printf() statement from early development/debugging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15371 ) Change subject: cbsp: Remove printf() statement from early development/debugging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6916e2330e004f20a22f273147fa6288d18b5d0d Gerrit-Change-Number: 15371 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Sep 2019 08:32:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 08:32:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 08:32:32 +0000 Subject: Change in ...libosmocore[master]: cbsp: Fix endless loop iteration when decoding cell list IEs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15370 ) Change subject: cbsp: Fix endless loop iteration when decoding cell list IEs ...................................................................... cbsp: Fix endless loop iteration when decoding cell list IEs The CBSP code assumed that gsm0808_decode_cell_id_u() would return the number of bytes it has consumed/parsed. But it actually always returns '0', whcih makes us run in an endless loop :( Change-Id: I5758af4ec11a827d4b888a3a16c4ec22de90a7d6 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/cbsp.c M src/gsm/gsm0808_utils.c 3 files changed, 26 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 76db2b6..ccdf5ed 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -95,6 +95,7 @@ int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid); void gsm0808_msgb_put_cell_id_u(struct msgb *msg, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u); int gsm0808_decode_cell_id_u(union gsm0808_cell_id_u *out, enum CELL_IDENT discr, const uint8_t *buf, unsigned int len); +int gsm0808_cell_id_size(enum CELL_IDENT discr); uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause); uint8_t gsm0808_enc_aoip_trasp_addr(struct msgb *msg, diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index 84b9235..c13be61 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -515,7 +515,7 @@ osmo_cbsp_errstr = "cell list: error decoding cell_id_union"; return rc; } - cur += rc; + cur += gsm0808_cell_id_size(cl->id_discr); llist_add_tail(&ent->list, &cl->list); } return 0; @@ -538,7 +538,7 @@ osmo_cbsp_errstr = "fail list: error decoding cell_id_union"; return rc; } - cur += rc; + cur += gsm0808_cell_id_size(ent->id_discr); ent->cause = *cur++; llist_add_tail(&ent->list, fl); } @@ -562,7 +562,7 @@ osmo_cbsp_errstr = "load list: error decoding cell_id_union"; return rc; } - cur += rc; + cur += gsm0808_cell_id_size(ll->id_discr); if (cur + 2 > buf + len) { talloc_free(ent); osmo_cbsp_errstr = "load list: truncated IE"; @@ -592,7 +592,7 @@ osmo_cbsp_errstr = "completed list: error decoding cell_id_union"; return rc; } - cur += rc; + cur += gsm0808_cell_id_size(cl->id_discr); if (cur + 3 > buf + len) { talloc_free(ent); osmo_cbsp_errstr = "completed list: truncated IE"; diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 364a04f..7416d8f 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -767,6 +767,27 @@ return (int)(elem - old_elem); } +/* Return the size of the value part of a cell identifier of given type */ +int gsm0808_cell_id_size(enum CELL_IDENT discr) +{ + switch (discr) { + case CELL_IDENT_WHOLE_GLOBAL: + return 7; + case CELL_IDENT_LAC_AND_CI: + return 4; + case CELL_IDENT_CI: + return 2; + case CELL_IDENT_LAI_AND_LAC: + return 5; + case CELL_IDENT_LAC: + return 2; + case CELL_IDENT_BSS: + case CELL_IDENT_NO_CELL: + return 0; + default: + return -EINVAL; + } +} /*! Decode a single GSM 08.08 Cell ID list element payload * \param[out] out caller-provided output union * \param[in] discr Cell ID discriminator describing type to be decoded -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5758af4ec11a827d4b888a3a16c4ec22de90a7d6 Gerrit-Change-Number: 15370 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 08:32:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 08:32:32 +0000 Subject: Change in ...libosmocore[master]: cbsp: Remove printf() statement from early development/debugging In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15371 ) Change subject: cbsp: Remove printf() statement from early development/debugging ...................................................................... cbsp: Remove printf() statement from early development/debugging Change-Id: I6916e2330e004f20a22f273147fa6288d18b5d0d --- M src/gsm/cbsp.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index c13be61..591ff25 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -1468,7 +1468,6 @@ return rc; discard_msg: - printf("discard_msg\n"); if (tmp_msg) *tmp_msg = NULL; msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6916e2330e004f20a22f273147fa6288d18b5d0d Gerrit-Change-Number: 15371 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 1 15:27:31 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 15:27:31 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6be36f41fe9_6aec2acc1e0e65f45878aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 508s] ar: `u' modifier ignored since `D' is the default (see `U') [ 508s] libtool: link: ranlib .libs/libtransceiver_common.a [ 508s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 508s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 508s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 508s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 508s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 508s] collect2: error: ld returned 1 exit status [ 508s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 508s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 508s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 508s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 508s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 508s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 508s] make[1]: *** [Makefile:444: all] Error 2 [ 508s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 508s] dh_auto_build: make -j1 returned exit code 2 [ 509s] make: *** [debian/rules:6: build] Error 255 [ 509s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 509s] [ 509s] cloud118 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 15:27:12 UTC 2019. [ 509s] [ 509s] ### VM INTERACTION START ### [ 512s] [ 488.296217] sysrq: SysRq : Power Off [ 512s] [ 488.301460] reboot: Power down [ 512s] ### VM INTERACTION END ### [ 512s] [ 512s] cloud118 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 15:27:16 UTC 2019. [ 512s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 15:28:05 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 15:28:05 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6be38ee7d0c_6aec2acc1e0e65f4587952@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 470s] ar: `u' modifier ignored since `D' is the default (see `U') [ 470s] libtool: link: ranlib .libs/libtransceiver_common.a [ 470s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 470s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 471s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 471s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 471s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 471s] collect2: error: ld returned 1 exit status [ 471s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 471s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 471s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 471s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 471s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 471s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 471s] make[1]: *** [Makefile:444: all] Error 2 [ 471s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 471s] dh_auto_build: make -j1 returned exit code 2 [ 471s] make: *** [debian/rules:6: build] Error 255 [ 471s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 471s] [ 471s] lamb03 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 15:27:54 UTC 2019. [ 471s] [ 471s] ### VM INTERACTION START ### [ 474s] [ 456.254267] sysrq: SysRq : Power Off [ 474s] [ 456.270748] reboot: Power down [ 474s] ### VM INTERACTION END ### [ 474s] [ 474s] lamb03 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 15:27:58 UTC 2019. [ 474s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 15:28:22 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 15:28:22 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6be3a942fdc_6aec2acc1e0e65f4588047@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 410s] ar: `u' modifier ignored since `D' is the default (see `U') [ 410s] libtool: link: ranlib .libs/libtransceiver_common.a [ 410s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 410s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 411s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 411s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 411s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 411s] collect2: error: ld returned 1 exit status [ 411s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] make[1]: *** [Makefile:444: all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] make: *** [debian/rules:6: build] Error 255 [ 411s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 411s] [ 411s] lamb12 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 15:28:03 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 414s] [ 396.131204] sysrq: SysRq : Power Off [ 414s] [ 396.139464] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] lamb12 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Sun Sep 1 15:28:07 UTC 2019. [ 414s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 1 15:28:40 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 01 Sep 2019 15:28:40 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6be3aa4544a_6aec2acc1e0e65f4588152@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 422s] ar: `u' modifier ignored since `D' is the default (see `U') [ 422s] libtool: link: ranlib .libs/libtransceiver_common.a [ 422s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 422s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 423s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 423s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 423s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 423s] collect2: error: ld returned 1 exit status [ 423s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 423s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 423s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 423s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 423s] make[1]: *** [Makefile:444: all] Error 2 [ 423s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 423s] dh_auto_build: make -j1 returned exit code 2 [ 423s] make: *** [debian/rules:6: build] Error 255 [ 423s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 423s] [ 423s] lamb25 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 15:28:20 UTC 2019. [ 423s] [ 423s] ### VM INTERACTION START ### [ 426s] [ 408.214223] sysrq: SysRq : Power Off [ 426s] [ 408.225181] reboot: Power down [ 426s] ### VM INTERACTION END ### [ 426s] [ 426s] lamb25 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 1 15:28:24 UTC 2019. [ 426s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 1 20:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 20:33:15 +0000 Subject: Change in ...libosmocore[master]: cbsp: Fix decoding of WRITE-REPLACE payload Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15372 Change subject: cbsp: Fix decoding of WRITE-REPLACE payload ...................................................................... cbsp: Fix decoding of WRITE-REPLACE payload The user length is the first IE *in* the fixed-length TV, make sure cbsp_dec_write_repl() respects that. Change-Id: I864cafac2466a89a4bd9644bc73363fff2babd03 --- M src/gsm/cbsp.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/15372/1 diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index 591ff25..ccc2df5 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -687,8 +687,8 @@ } page = talloc_zero(ctx, struct osmo_cbsp_content); OSMO_ASSERT(page); - page->user_len = *(ie-1); /* length byte before payload */ - memcpy(page->data, ie, sizeof(page->data)); + page->user_len = ie[0]; /* length byte before payload */ + memcpy(page->data, ie+1, sizeof(page->data)); llist_add_tail(&page->list, &out->u.cbs.msg_content); } } else { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I864cafac2466a89a4bd9644bc73363fff2babd03 Gerrit-Change-Number: 15372 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:30:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:30:08 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15373 Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Cell Broadcast: CBSP and CBCH scheduling support This adds code to handle CBSP (Cell Broadcast Service Protocol) from the CBC (Cell Broadcast Centre), as well as BSC-internal data structures for scheduling the various SMSCB on the CBCH of each BTS. There are currently one known shortcoming in the code: We don't yet verify if keepalives are received within repetition period. Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 --- A doc/manuals/chapters/smscb.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/debug.h M include/osmocom/bsc/gsm_data.h A include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/cbch_scheduler.c A src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_main.c A src/osmo-bsc/smscb.c M tests/handover/Makefile.am 18 files changed, 1,841 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/15373/1 diff --git a/doc/manuals/chapters/smscb.adoc b/doc/manuals/chapters/smscb.adoc new file mode 100644 index 0000000..0372dbd --- /dev/null +++ b/doc/manuals/chapters/smscb.adoc @@ -0,0 +1,82 @@ +[[smscb]] +== SMSCB (Cell Broadcast) + +OsmoBSC supports SMS Cell Broadcast (SMSCB) services (CBS). This +includes the CBSP protocol to interact with a CBC (Cell Broadcast +Centre) such as OsmoCBC, as well as the scheduling of SMSCB messages on +both the BASIC and EXTENDED CBCH and transmission of related RSL +messages to the attached BTS. + +More high-level information can be found at +https://en.wikipedia.org/wiki/Cell_Broadcast and the related +specification is <<3gpp-ts-23-041>>. + +In order to use SMSCB with OsmoBSC, you will need to + +* Configure the CBSP server and/or client +* Use a channel combination including a CBCH on the BTSs + +=== Enabling a CBCH channel combination + +On the Um interface, SMSCB are transmitted via the CBCH (Cell Broadcast +Channel). The CBCH is a separate downlink-only logical channel which +must be activated on any of the BTSs requiring CBSP support. + +The channel combination is configured in the `timeslot` node of each TRX. + +The two `phys_chan_config` supporting CBCH are `CCCH+SDCCH4+CBCH` and +`SDCCH/8+CBCH`. Please note that the CBCH steals one of the SDCCH, so +a SDCCH/4 will only have three remaining SDCCH, and a SDCCH/8 will +have only seven remaining SDCCH. + +=== Configuring the CBSP connection + +CBSP is the protocol between BSC and CBC. It operates over TCP. + +According to 3GPP TS 48.049, a BSC typically operates as a TCP server, +and the CBC connects as TCP client. This would require the CBC to have +out-of-band knowledge of all the BSCs in the network (and their IP +addresses). + +In order to comply with the specifications, OsmoBSC supports this mode +of operation as CBSP TCP server. However, to make network operation and +configuration more simple, ti also can operate in TCP client mode, +connecting to the CBC. This way the BSCs all need to know the CBC IP +address, but not vice-versa + +The BSC can operate both CBSP TCP server and CBSP TCP client mode in +parallel. + +The CBC related configuration of OsmoBSC can be found in the `cbc` configuration +node of the VTY interface. + +.Example: Configure CBSP TCP client to connect to CBC at 1.2.3.4:48049 +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# remote-ip 1.2.3.4 +OsmoBSC(config-cbc)# remote-port 48049 +OsmoBSC(config-cbc)# end +---- + +.Example: Disable CBSP TCP client +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# no remote-ip +OsmoBSC(config-cbc)# end +---- + +.Example: Configure CBSP TCP server to listen for CBC at 127.0.0.2:9999 +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# listen-ip 127.0.0.2 +OsmoBSC(config-cbc)# listen-port 9999 +OsmoBSC(config-cbc)# end +---- + +For more details on the available configuration commands, please check the OsmoBSC VTY Reference. diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index 766a11f..26f49da 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -24,6 +24,8 @@ include::{srcdir}/chapters/handover.adoc[] +include::{srcdir}/chapters/smscb.adoc[] + include::./common/chapters/counters-overview.adoc[] include::{srcdir}/chapters/counters.adoc[] @@ -34,8 +36,6 @@ include::{srcdir}/chapters/control.adoc[] -include::./common/chapters/cell-broadcast.adoc[] - include::{srcdir}/chapters/osmux_bsc.adoc[] include::./common/chapters/port_numbers.adoc[] diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index f44e7fc..396604e 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -55,4 +55,5 @@ gsm_08_08.h \ penalty_timers.h \ osmo_bsc_lcls.h \ + smscb.h \ $(NULL) diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 5612483..b9df4ba 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -150,6 +150,7 @@ /* * Per BSC data. */ +struct bsc_cbc_link; struct osmo_bsc_data { struct gsm_network *network; @@ -167,6 +168,8 @@ char *ussd_no_msc_txt; char *acc_lst_name; + + struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/debug.h b/include/osmocom/bsc/debug.h index 3260121..adc6abb 100644 --- a/include/osmocom/bsc/debug.h +++ b/include/osmocom/bsc/debug.h @@ -27,6 +27,7 @@ DCHAN, DTS, DAS, + DCBS, Debug_LastEntry, }; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d82d1ba..8dfbc64 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -957,6 +958,53 @@ struct gsm_bts *bts; }; +/* A single Page of a SMSCB message */ +struct bts_smscb_page { + /* SMSCB message we're part of */ + struct bts_smscb_message *msg; + /* Page Number within message (1 to 15) */ + uint8_t nr; + /* number of valid blocks in data (up to 4) */ + uint8_t num_blocks; + /* up to four blocks of 22 bytes each */ + uint8_t data[88]; +}; + +/* A SMSCB message (received from CBSP) */ +struct bts_smscb_message { + /* entry in bts_smscb_chan_state.messages */ + struct llist_head list; + struct { + /* input data from CBSP (CBC) side */ + uint16_t msg_id; + uint16_t serial_nr; + enum cbsp_category category; + uint16_t rep_period; + uint16_t num_bcast_req; + uint8_t dcs; + } input; + /* how often have all pages of this message been broadcast? */ + uint32_t bcast_count; + /* actual page data of this message */ + uint8_t num_pages; /* up to 15 */ + struct bts_smscb_page page[15]; +}; + +/* per-channel (basic/extended) CBCH state for a single BTS */ +struct bts_smscb_chan_state { + /* back-pointer to BTS */ + struct gsm_bts *bts; + /* list of bts_smscb_message */ + struct llist_head messages; + /* scheduling array; pointer of SMSCB pages */ + struct bts_smscb_page **sched_arr; + size_t sched_arr_size; + /* index of the next to be transmitted page into the scheduler array */ + size_t next_idx; + /* number of messages we have to pause due to overflow */ + uint8_t overflow; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -1213,6 +1261,11 @@ struct load_counter chan_load_samples[7]; int chan_load_samples_idx; uint8_t chan_load_avg; /* current channel load average in percent (0 - 100). */ + + /* cell broadcast system */ + struct osmo_timer_list cbch_timer; + struct bts_smscb_chan_state cbch_basic; + struct bts_smscb_chan_state cbch_extended; }; /* One rejected BTS */ diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h new file mode 100644 index 0000000..3fa9899 --- /dev/null +++ b/include/osmocom/bsc/smscb.h @@ -0,0 +1,61 @@ +#pragma once +#include + +#include +#include +#include + +struct bsc_cbc_link; + +/* smscb.c */ +void bts_smscb_del(struct bts_smscb_message *smscb, struct bts_smscb_chan_state *cstate, + const char *reason); +const char *bts_smscb_msg2str(const struct bts_smscb_message *smscb); +struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended); +int cbsp_rx_decoded(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec); +int cbsp_tx_restart(struct bsc_cbc_link *cbc, bool is_emerg); +const char *bts_smscb_chan_state_name(const struct bts_smscb_chan_state *cstate); +unsigned int bts_smscb_chan_load_percent(const struct bts_smscb_chan_state *cstate); +unsigned int bts_smscb_chan_page_count(const struct bts_smscb_chan_state *cstate); +void smscb_vty_init(void); + +/* cbch_scheduler.c */ +int bts_smscb_gen_sched_arr(struct bts_smscb_chan_state *cstate, struct bts_smscb_page ***arr_out); +struct bts_smscb_page *bts_smscb_pull_page(struct bts_smscb_chan_state *cstate); +void bts_smscb_page_done(struct bts_smscb_chan_state *cstate, struct bts_smscb_page *page); +int bts_smscb_rx_cbch_load_ind(struct gsm_bts *bts, bool cbch_extended, bool is_overflow, + uint8_t slot_count); +void bts_cbch_timer_schedule(struct gsm_bts *bts); + +/* cbsp_link.c */ +struct bsc_cbc_link { + struct gsm_network *net; + struct { + /* hostname/IP of CBC */ + char *cbc_hostname; + /* TCP port (Default: 48049) of CBC */ + int cbc_port; + /* local listening port (0 for disabling local server) */ + int listen_port; + /* local listening hostname/IP */ + char *listen_hostname; + /* use Osmocom CBSP extensions for dynamic registration */ + bool use_osmocom_ext; + } config; + /* for handling inbound TCP connections */ + struct { + struct osmo_stream_srv *srv; + struct osmo_stream_srv_link *link; + char *sock_name; + struct msgb *msg; + } server; + /* for handling outbound TCP connections */ + struct { + struct osmo_stream_cli *cli; + char *sock_name; + struct msgb *msg; + } client; +}; +void cbc_vty_init(void); +int bsc_cbc_link_restart(void); +int cbsp_tx_decoded(struct bsc_cbc_link *cbc, struct osmo_cbsp_decoded *decoded); diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 7e3c505..10ce16b 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -24,6 +24,7 @@ OM2K_NODE, OM2K_CON_GROUP_NODE, BSC_NODE, + CBC_NODE, }; struct log_info; diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index d50515b..51d8875 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -88,6 +88,9 @@ rest_octets.c \ system_information.c \ timeslot_fsm.c \ + smscb.c \ + cbch_scheduler.c \ + cbsp_link.c \ $(NULL) osmo_bsc_LDADD = \ @@ -96,6 +99,7 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMONETIF_LIBS) \ $(COVERAGE_LDFLAGS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 0b68d7c..06d19a5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1,7 +1,7 @@ /* GSM Radio Signalling Link messages on the A-bis interface * 3GPP TS 08.58 version 8.6.0 Release 1999 / ETSI TS 100 596 V8.6.0 */ -/* (C) 2008-2010 by Harald Welte +/* (C) 2008-2019 by Harald Welte * (C) 2012 by Holger Hans Peter Freyther * * All Rights Reserved @@ -52,6 +52,7 @@ #include #include #include +#include #define RSL_ALLOC_SIZE 1024 #define RSL_ALLOC_HEADROOM 128 @@ -1489,6 +1490,36 @@ return 0; } +/* 8.5.9 current load on the CBCH (Cell Broadcast) */ +static int rsl_rx_cbch_load(struct msgb *msg) +{ + struct e1inp_sign_link *sign_link = msg->dst; + struct abis_rsl_dchan_hdr *rslh = msgb_l2(msg); + struct gsm_bts *bts = sign_link->trx->bts; + bool cbch_extended = false; + bool is_overflow = false; + int8_t load_info; + struct tlv_parsed tp; + uint8_t slot_count; + + rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg) - sizeof(*rslh)); + if (!TLVP_PRESENT(&tp, RSL_IE_CBCH_LOAD_INFO)) { + LOG_BTS(bts, DRSL, LOGL_ERROR, "CBCH LOAD IND without mandatory CBCH Load Info IE\n"); + return -1; + } + /* 9.4.43 */ + load_info = *TLVP_VAL(&tp, RSL_IE_CBCH_LOAD_INFO); + if (load_info & 0x80) + is_overflow = true; + slot_count = load_info & 0x0F; + + if (TLVP_PRES_LEN(&tp, RSL_IE_SMSCB_CHAN_INDICATOR, 1) && + (*TLVP_VAL(&tp, RSL_IE_SMSCB_CHAN_INDICATOR) & 0x0F) == 0x01) + cbch_extended = true; + + return bts_smscb_rx_cbch_load_ind(bts, cbch_extended, is_overflow, slot_count); +} + /* Ericsson specific: Immediate Assign Sent */ static int rsl_rx_ericsson_imm_assign_sent(struct msgb *msg) { @@ -1537,7 +1568,7 @@ break; case RSL_MT_CBCH_LOAD_IND: /* current load on the CBCH */ - /* FIXME: handle this. Ignore for now */ + rc = rsl_rx_cbch_load(msg); break; case RSL_MT_ERICSSON_IMM_ASS_SENT: rc = rsl_rx_ericsson_imm_assign_sent(msg); diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 7d29d4f..aea8786 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -37,6 +37,9 @@ #include #include +#include +#include + #include #include #include @@ -244,6 +247,11 @@ talloc_free(net); return NULL; } + net->bsc_data->cbc = talloc_zero(net->bsc_data, struct bsc_cbc_link); + if (!net->bsc_data->cbc) { + talloc_free(net); + return NULL; + } /* Init back pointer */ net->bsc_data->auto_off_timeout = -1; @@ -272,6 +280,14 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); + net->bsc_data->cbc->net = net; + /* no cbc_hostname: client not started by default */ + net->bsc_data->cbc->config.cbc_port = CBSP_TCP_PORT; + /* listen_port == -1: server not started by default */ + net->bsc_data->cbc->config.listen_port = -1; + net->bsc_data->cbc->config.listen_hostname = talloc_strdup(net->bsc_data->cbc, "0.0.0.0"); + net->bsc_data->cbc->config.use_osmocom_ext = true; + return net; } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6de2d4b..06c06de 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -70,6 +70,7 @@ #include #include #include +#include #include #include @@ -318,6 +319,14 @@ vty_out(vty, " (%d)", count); } +static void bts_dump_vty_cbch(struct vty *vty, const struct bts_smscb_chan_state *cstate) +{ + vty_out(vty, " CBCH %s: %u messages, %u pages, %lu-entry sched_arr, %u%% load%s", + bts_smscb_chan_state_name(cstate), llist_count(&cstate->messages), + bts_smscb_chan_page_count(cstate), cstate->sched_arr_size, + bts_smscb_chan_load_percent(cstate), VTY_NEWLINE); +} + static void bts_dump_vty_features(struct vty *vty, struct gsm_bts *bts) { unsigned int i; @@ -504,6 +513,9 @@ vty_out(vty, " Current Channel Load:%s", VTY_NEWLINE); dump_pchan_load_vty(vty, " ", &pl); + bts_dump_vty_cbch(vty, &bts->cbch_basic); + bts_dump_vty_cbch(vty, &bts->cbch_extended); + vty_out(vty, " Channel Requests : %"PRIu64" total, %"PRIu64" no channel%s", bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL].current, bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL].current, @@ -5427,6 +5439,8 @@ osmo_fsm_vty_add_cmds(); ho_vty_init(); + cbc_vty_init(); + smscb_vty_init(); bsc_vty_init_extra(); diff --git a/src/osmo-bsc/cbch_scheduler.c b/src/osmo-bsc/cbch_scheduler.c new file mode 100644 index 0000000..8d9bed2 --- /dev/null +++ b/src/osmo-bsc/cbch_scheduler.c @@ -0,0 +1,286 @@ +/* CBCH (Cell Broadcast Channel) Scheduler for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +#include +#include +#include +#include + +/* add all pages of given SMSCB so they appear as soon as possible *after* (included) base_idx. */ +static int bts_smscb_sched_add_after(struct bts_smscb_page **sched_arr, int sched_arr_size, + int base_idx, struct bts_smscb_message *smscb) +{ + int arr_idx = base_idx; + int i; + + OSMO_ASSERT(smscb->num_pages <= ARRAY_SIZE(smscb->page)); + for (i = 0; i < smscb->num_pages; i++) { + while (sched_arr[arr_idx]) { + arr_idx++; + if (arr_idx >= sched_arr_size) + return -ENOSPC; + } + sched_arr[arr_idx] = &smscb->page[i]; + } + return arr_idx; +} + +/* add all pages of given smscb so they appear *before* (included) last_idx. */ +static int bts_smscb_sched_add_before(struct bts_smscb_page **sched_arr, int sched_arr_size, + int last_idx, struct bts_smscb_message *smscb) +{ + int arr_idx = last_idx; + int last_used_idx = 0; + int i; + + OSMO_ASSERT(smscb->num_pages <= ARRAY_SIZE(smscb->page)); + OSMO_ASSERT(smscb->num_pages >= 1); + + for (i = smscb->num_pages - 1; i >= 0; i--) { + while (sched_arr[arr_idx]) { + arr_idx--; + if (arr_idx < 0) + return -ENOSPC; + } + sched_arr[arr_idx] = &smscb->page[i]; + if (i == smscb->num_pages) + last_used_idx = i; + } + return last_used_idx; +} + +/* obtain the least frequently scheduled SMSCB for given SMSCB channel */ +static struct bts_smscb_message * +bts_smscb_chan_get_least_frequent_smscb(struct bts_smscb_chan_state *cstate) +{ + if (llist_empty(&cstate->messages)) + return NULL; + /* messages are expected to be ordered with increasing period, so we're + * able to return the last message in the list */ + return llist_entry(cstate->messages.prev, struct bts_smscb_message, list); +} + +/*! Generate per-BTS SMSCB scheduling array + * \param[in] cstate BTS CBCH channel state + * \param[out] arr_out return argument for allocated + generated scheduling array + * \return size of returned scheduling array arr_out in number of entries; negative on error */ +int bts_smscb_gen_sched_arr(struct bts_smscb_chan_state *cstate, struct bts_smscb_page ***arr_out) +{ + struct bts_smscb_message *smscb, *least_freq; + struct bts_smscb_page **arr; + int arr_size; + int rc; + + /* start with one instance of the least frequent message at position 0, as we + * need to transmit it exactly once during the duration of the scheduling array */ + least_freq = bts_smscb_chan_get_least_frequent_smscb(cstate); + if (!least_freq) { + LOG_BTS(cstate->bts, DCBS, LOGL_DEBUG, "No SMSCB; cannot create schedule array\n"); + return 0; + } + arr_size = least_freq->input.rep_period; + arr = talloc_zero_array(cstate->bts, struct bts_smscb_page *, arr_size); + OSMO_ASSERT(arr); + rc = bts_smscb_sched_add_after(arr, arr_size, 0, least_freq); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule first instance of " + "very first SMSCB %s ?!?\n", bts_smscb_msg2str(least_freq)); + talloc_free(arr); + return rc; + } + + /* continue filling with repetitions of the more frequent messages, starting from + * the most frequent message to the least frequent one, repeating them as needed + * throughout the duration of the array */ + llist_for_each_entry(smscb, &cstate->messages, list) { + int last_page; + if (smscb == least_freq) + continue; + /* messages are expected to be ordered with increasing period, so we're + * starting with the most frequent / shortest period first */ + rc = bts_smscb_sched_add_after(arr, arr_size, 0, smscb); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule first instance of " + "SMSCB %s\n", bts_smscb_msg2str(smscb)); + talloc_free(arr); + return rc; + } + last_page = rc; + + while (last_page < cstate->sched_arr_size) { + /* store further instances in a way that the last block of the N+1th instance + * happens no later than "interval" after the last block of the Nth instance */ + rc = bts_smscb_sched_add_before(arr, arr_size, + last_page + smscb->input.rep_period, smscb); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule further " + "SMSCB %s\n", bts_smscb_msg2str(smscb)); + talloc_free(arr); + return rc; + } + last_page = rc; + } + } + *arr_out = arr; + return arr_size; +} + +/*! Pull the next to-be-transmitted SMSCB page out of the scheduler for the given channel */ +struct bts_smscb_page *bts_smscb_pull_page(struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_page *page; + + /* if there are no messages to schedule, there is no array */ + if (!cstate->sched_arr) + return NULL; + + /* obtain the page from the scheduler array */ + page = cstate->sched_arr[cstate->next_idx]; + + /* increment the index for the next call to this function */ + cstate->next_idx = (cstate->next_idx + 1) % cstate->sched_arr_size; + + /* the array can have gaps in between where there is nothing scheduled */ + if (!page) + return NULL; + + return page; +} + +/*! To be called after bts_smscb_pull_page() in order to update transmission count and + * check if SMSCB is complete. + * \param[in] cstate BTS CBC channel state + * \param[in] page SMSCB Page which had been returned by bts_smscb_pull_page() and which + * is no longer needed now */ +void bts_smscb_page_done(struct bts_smscb_chan_state *cstate, struct bts_smscb_page *page) +{ + struct bts_smscb_message *smscb = page->msg; + + /* If this is the last page of a SMSCB, increment the SMSCB number-of-xmit counter */ + if (page->nr == smscb->num_pages) { + smscb->bcast_count++; + /* Check if the SMSCB transmission duration is now over */ + if (smscb->bcast_count >= smscb->input.num_bcast_req) + bts_smscb_del(smscb, cstate, "COMPLETE"); + } +} + + +/*********************************************************************** + * BTS / RSL side + ***********************************************************************/ + +static void bts_cbch_send_one(struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_page *page; + struct gsm_bts *bts = cstate->bts; + struct rsl_ie_cb_cmd_type cb_cmd; + bool is_extended = false; + + if (cstate == &bts->cbch_extended) + is_extended = true; + + if (cstate->overflow) { + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Skipping SMSCB due to overflow (%u)\n", + cstate->overflow); + cstate->overflow--; + return; + } + + page = bts_smscb_pull_page(cstate); + if (!page) { + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Skipping SMSCB: No page available\n"); + return; + } + + cb_cmd.spare = 0; + cb_cmd.def_bcast = 0; + cb_cmd.command = RSL_CB_CMD_TYPE_NORMAL; + switch (page->num_blocks) { + case 1: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_1; + break; + case 2: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_2; + break; + case 3: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_3; + break; + case 4: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_4; + break; + default: + osmo_panic("SMSCB Page must have 1..4 blocks, not %d\n", page->num_blocks); + } + rsl_sms_cb_command(bts, RSL_CHAN_SDCCH4_ACCH, cb_cmd, is_extended, + page->data, sizeof(page->data)); + + bts_smscb_page_done(cstate, page); +} + +static void bts_cbch_timer(void *data) +{ + struct gsm_bts *bts = (struct gsm_bts *)data; + + bts_cbch_send_one(&bts->cbch_basic); + bts_cbch_send_one(&bts->cbch_extended); + + bts_cbch_timer_schedule(bts); +} + +/* There is one SMSCB message (page) per eight 51-multiframes, i.e. 1.882 seconds */ +void bts_cbch_timer_schedule(struct gsm_bts *bts) +{ + osmo_timer_setup(&bts->cbch_timer, &bts_cbch_timer, bts); + osmo_timer_schedule(&bts->cbch_timer, 1, 882920); +} + +/*! Receive a (decoded) incoming CBCH LOAD IND from given bts. See TS 48.058 8.5.9 + * \param[in] bts The BTS for which the load indication was received + * \param[in] cbch_extended Is this report for extended (true) or basic CBCH + * \param[in] is_overflow Is this report and overflow (true) or underflow report + * \param[in] slot_count amount of SMSCB messages needed / delay needed */ +int bts_smscb_rx_cbch_load_ind(struct gsm_bts *bts, bool cbch_extended, bool is_overflow, + uint8_t slot_count) +{ + struct bts_smscb_chan_state *cstate = bts_get_smscb_chan(bts, cbch_extended); + int i; + + if (!gsm_bts_get_cbch(bts)) + return -ENODEV; + + if (is_overflow) { + /* halt/delay transmission of further CBCH messages */ + cstate->overflow = slot_count; + } else { + for (i = 0; i < slot_count; i++) + bts_cbch_send_one(cstate); + /* re-schedule the timer to count from now on */ + bts_cbch_timer_schedule(bts); + } + + return 0; +} diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c new file mode 100644 index 0000000..ec41bc5 --- /dev/null +++ b/src/osmo-bsc/cbsp_link.c @@ -0,0 +1,440 @@ +/* CBSP (Cell Broadcast Service Protocol) Handling for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + + +#include +#include +#include +#include +#include + +#include +#include +#include + +/* if a CBC IP/port has been configured, we continuously try to re-establish the TCP + * connection (as a client) to the CBC. If none has been configured, and we have a listen + * TCP port, we expect the CBC to connect to us. If neither of the two is configured, + * CBSP is effectively disabled */ + +/********************************************************************************* + * CBSP Server (inbound TCP connection from CBC) + *********************************************************************************/ + +static int cbsp_srv_closed_cb(struct osmo_stream_srv *conn) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_get_data(conn); + //struct osmo_fd *ofd = osmo_stream_srv_get_ofd(conn); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Server lost connection from %s\n", cbc->server.sock_name); + talloc_free(cbc->server.sock_name); + cbc->server.sock_name = NULL; + cbc->server.srv = NULL; + return 0; +} + +static int cbsp_srv_cb(struct osmo_stream_srv *conn) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_get_data(conn); + struct osmo_fd *ofd = osmo_stream_srv_get_ofd(conn); + struct osmo_cbsp_decoded *decoded; + struct msgb *msg; + int rc; + + /* READ */ + rc = osmo_cbsp_recv_buffered(cbc, ofd->fd, &msg, &cbc->server.msg); + if (rc <= 0) { + if (rc == -EAGAIN || rc == -EINTR) { + /* more data needs to be read */ + return 0; + } else if (rc == -EPIPE || rc == -ECONNRESET) { + /* lost connection */ + } else if (rc == 0) { + /* connection closed */ + } + osmo_stream_srv_destroy(conn); + cbc->server.srv = NULL; + return -EBADF; + } + OSMO_ASSERT(msg); + decoded = osmo_cbsp_decode(conn, msg); + if (decoded) { + LOGP(DCBS, LOGL_DEBUG, "Received CBSP %s\n", + get_value_string(cbsp_msg_type_names, decoded->msg_type)); + cbsp_rx_decoded(cbc, decoded); + talloc_free(decoded); + } else { + LOGP(DCBS, LOGL_ERROR, "Unable to decode CBSP %s: '%s'\n", + msgb_hexdump(msg), osmo_cbsp_errstr); + } + msgb_free(msg); + return 0; + +} + +static int cbsp_srv_link_accept_cb(struct osmo_stream_srv_link *link, int fd) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_link_get_data(link); + struct osmo_stream_srv *srv; + + LOGP(DCBS, LOGL_INFO, "CBSP Server received inbound connection from CBC: %s\n", + osmo_sock_get_name2(fd)); + + if (cbc->server.srv) { + LOGP(DCBS, LOGL_NOTICE, "CBSP Server refusing further connection (%s) " + "while we already have another connection (%s)\n", + osmo_sock_get_name2(fd), cbc->server.sock_name); + return -1; + } + + srv = osmo_stream_srv_create(cbc, link, fd, cbsp_srv_cb, cbsp_srv_closed_cb, cbc); + if (!srv) { + LOGP(DCBS, LOGL_ERROR, "Unable to create stream server for %s\n", + osmo_sock_get_name2(fd)); + return -1; + } + + cbc->server.srv = srv; + if (cbc->server.sock_name) + talloc_free(cbc->server.sock_name); + cbc->server.sock_name = osmo_sock_get_name(cbc, fd); + LOGP(DCBS, LOGL_NOTICE, "CBSP Server link established from CBC %s\n", cbc->server.sock_name); + /* FIXME: introduce ourselves to the peer */ + cbsp_tx_restart(cbc, false); + return 0; +} + +/********************************************************************************* + * CBSP Client (outbound TCP connection to CBC) + *********************************************************************************/ + +static int cbsp_client_connect_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + struct osmo_fd *ofd = osmo_stream_cli_get_ofd(cli); + + if (cbc->client.sock_name) + talloc_free(cbc->client.sock_name); + cbc->client.sock_name = osmo_sock_get_name(cbc, ofd->fd); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Client connected to CBC: %s\n", cbc->client.sock_name); + + /* FIXME: introduce ourselves to the peer */ + cbsp_tx_restart(cbc, false); + + return 0; +} + +static int cbsp_client_disconnect_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Client lost connection to %s\n", cbc->client.sock_name); + talloc_free(cbc->client.sock_name); + cbc->client.sock_name = NULL; + return 0; +} + +static int cbsp_client_read_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + struct osmo_fd *ofd = osmo_stream_cli_get_ofd(cli); + struct osmo_cbsp_decoded *decoded; + struct msgb *msg = NULL; + int rc; + + /* READ */ + rc = osmo_cbsp_recv_buffered(cbc, ofd->fd, &msg, &cbc->client.msg); + if (rc <= 0) { + if (rc == -EAGAIN || rc == -EINTR) { + /* more data needs to be read */ + return 0; + } else if (rc == -EPIPE || rc == -ECONNRESET) { + /* lost connection */ + } else if (rc == 0) { + /* connection closed */ + } + osmo_stream_cli_reconnect(cli); + return -EBADF; + } + OSMO_ASSERT(msg); + decoded = osmo_cbsp_decode(cli, msg); + if (decoded) { + LOGP(DCBS, LOGL_DEBUG, "Received CBSP %s\n", + get_value_string(cbsp_msg_type_names, decoded->msg_type)); + cbsp_rx_decoded(cbc, decoded); + talloc_free(decoded); + } else { + LOGP(DCBS, LOGL_ERROR, "Unable to decode CBSP %s: '%s'\n", + msgb_hexdump(msg), osmo_cbsp_errstr); + } + msgb_free(msg); + return 0; +} + +int bsc_cbc_link_restart(void) +{ + struct bsc_cbc_link *cbc = bsc_gsmnet->bsc_data->cbc; + + /* shut down client, if no longer configured */ + if (cbc->client.cli && !cbc->config.cbc_hostname) { + LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP client\n"); + osmo_stream_cli_close(cbc->client.cli); + osmo_stream_cli_destroy(cbc->client.cli); + cbc->client.cli = NULL; + } + + /* shut down server, if no longer configured */ + if (cbc->config.listen_port == -1) { + if (cbc->server.srv || cbc->server.link) + LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP server\n"); + if (cbc->server.srv) { + osmo_stream_srv_destroy(cbc->server.srv); + cbc->server.srv = NULL; + } + if (cbc->server.link) { + osmo_stream_srv_link_close(cbc->server.link); + osmo_stream_srv_link_destroy(cbc->server.link); + cbc->server.link = NULL; + } + } + + /* start client, if configured */ + if (cbc->config.cbc_hostname) { + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at %s:%u)\n", + cbc->config.cbc_hostname, cbc->config.cbc_port); + if (!cbc->client.cli) { + cbc->client.cli = osmo_stream_cli_create(cbc); + osmo_stream_cli_set_data(cbc->client.cli, cbc); + osmo_stream_cli_set_connect_cb(cbc->client.cli, cbsp_client_connect_cb); + osmo_stream_cli_set_disconnect_cb(cbc->client.cli, cbsp_client_disconnect_cb); + osmo_stream_cli_set_read_cb(cbc->client.cli, cbsp_client_read_cb); + } + /* CBC side */ + osmo_stream_cli_set_addr(cbc->client.cli, cbc->config.cbc_hostname); + osmo_stream_cli_set_port(cbc->client.cli, cbc->config.cbc_port); + /* Close/Reconnect? */ + osmo_stream_cli_open(cbc->client.cli); + } + + /* start server, if configured */ + if (cbc->config.listen_port != -1) { + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (bound to %s:%u)\n", + cbc->config.listen_hostname, cbc->config.listen_port); + if (!cbc->server.srv) { + cbc->server.link = osmo_stream_srv_link_create(cbc); + osmo_stream_srv_link_set_data(cbc->server.link, cbc); + osmo_stream_srv_link_set_accept_cb(cbc->server.link, cbsp_srv_link_accept_cb); + } + osmo_stream_srv_link_set_addr(cbc->server.link, cbc->config.listen_hostname); + osmo_stream_srv_link_set_port(cbc->server.link, cbc->config.listen_port); + } + return 0; +} + +/*! Encode + Transmit a 'decoded' CBSP message over given CBC link + * \param[in] cbc Data structure representing the BSCs link to the CBC + * \param[in] cbsp Decoded CBSP message to be transmitted. Ownership is transferred. + * \return 0 on success, negative otherwise */ +int cbsp_tx_decoded(struct bsc_cbc_link *cbc, struct osmo_cbsp_decoded *cbsp) +{ + struct msgb *msg; + + msg = osmo_cbsp_encode(cbc, cbsp); + if (!msg) { + LOGP(DCBS, LOGL_ERROR, "Unable to encode CBSP Message Type %s: %s\n", + get_value_string(cbsp_msg_type_names, cbsp->msg_type), osmo_cbsp_errstr); + talloc_free(cbsp); + return -1; + } + if (cbc->client.cli) + osmo_stream_cli_send(cbc->client.cli, msg); + else if (cbc->server.srv) + osmo_stream_srv_send(cbc->server.srv, msg); + else { + LOGP(DCBS, LOGL_ERROR, "Discarding CBSP Message, link is down: %s\n", msgb_hexdump(msg)); + msgb_free(msg); + } + + talloc_free(cbsp); + return 0; +} + +static struct bsc_cbc_link *vty_cbc_data(struct vty *vty) +{ + return bsc_gsmnet->bsc_data->cbc; +} + +/********************************************************************************* + * VTY Interface (Configuration + Introspection) + *********************************************************************************/ + +DEFUN(cfg_cbc, cfg_cbc_cmd, + "cbc", "Configure CBSP Link to Cell Broadcast Centre\n") +{ + vty->node = CBC_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_remote_ip, cfg_cbc_remote_ip_cmd, + "remote-ip A.B.C.D", + "IP Address of the Cell Broadcast Centre\n" + "IP Address of the Cell Broadcast Centre\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); + return CMD_SUCCESS; +} +DEFUN(cfg_cbc_no_remote_ip, cfg_cbc_no_remote_ip_cmd, + "no remote-ip", + NO_STR "Remove IP address of CBC; disables outbound CBSP connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + talloc_free(cbc->config.cbc_hostname); + cbc->config.cbc_hostname = NULL; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_remote_port, cfg_cbc_remote_port_cmd, + "remote-port <1-65535>", + "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n" + "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.cbc_port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_listen_port, cfg_cbc_listen_port_cmd, + "listen-port <1-65535>", + "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n" + "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.listen_port = atoi(argv[0]); + return CMD_SUCCESS; +} +DEFUN(cfg_cbc_no_listen_port, cfg_cbc_no_listen_port_cmd, + "no listen-port", + NO_STR "Remove CBSP Listen Port; disables inbound CBSP connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.listen_port = -1; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, + "listen-ip A.B.C.D", + "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n" + "Local IP Address where BSC listens for incoming CBC connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_osmo_ext, cfg_cbc_osmo_ext_cmd, + "osmocom-extensions", + "Enable Osmocom CBSP extensions (Default: Enabled)\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.use_osmocom_ext = true; + return CMD_SUCCESS; +} +DEFUN(cfg_cbc_no_osmo_ext, cfg_cbc_no_osmo_ext_cmd, + "no osmocom-extensions", + NO_STR "Disable Osmocom CBSP extensions (Default: Enabled)\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.use_osmocom_ext = false; + return CMD_SUCCESS; +} + +static struct cmd_node cbc_node = { + CBC_NODE, + "%s(config-cbc)# ", + 1, +}; + +static int config_write_cbc(struct vty *vty) +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + vty_out(vty, "cbc%s", VTY_NEWLINE); + + if (cbc->config.cbc_hostname) + vty_out(vty, " remote-ip %s%s", cbc->config.cbc_hostname, VTY_NEWLINE); + else + vty_out(vty, " no remote-ip%s", VTY_NEWLINE); + vty_out(vty, " remote-port %u%s", cbc->config.cbc_port, VTY_NEWLINE); + + if (cbc->config.listen_port >= 0) + vty_out(vty, " listen-port %u%s", cbc->config.listen_port, VTY_NEWLINE); + else + vty_out(vty, " no listen-port%s", VTY_NEWLINE); + vty_out(vty, " listen-ip %s%s", cbc->config.listen_hostname, VTY_NEWLINE); + if (cbc->config.use_osmocom_ext) + vty_out(vty, " osmocom-extensions%s", VTY_NEWLINE); + else + vty_out(vty, " no osmocom-extensions%s", VTY_NEWLINE); + + return 0; +} + +DEFUN(show_cbc, show_cbc_cmd, + "show cbc", + "Display state of CBC / CBSP\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + if (!cbc->config.cbc_hostname) + vty_out(vty, "CBSP Client Config: Disabled%s", VTY_NEWLINE); + else { + vty_out(vty, "CBSP Client Config: CBC IP=%s, CBC Port=%u%s", + cbc->config.cbc_hostname, cbc->config.cbc_port, VTY_NEWLINE); + vty_out(vty, "CBSP Client Connection: %s%s", + cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); + } + if (cbc->config.listen_port < 0) + vty_out(vty, "CBSP Server Config: Disabled%s\n", VTY_NEWLINE); + else { + vty_out(vty, "CBSP Server Config: Listen IP=%s, Port=%u%s\n", + cbc->config.listen_hostname, cbc->config.listen_port, VTY_NEWLINE); + vty_out(vty, "CBSP Server Connection: %s%s", + cbc->server.sock_name ? cbc->server.sock_name : "Disconnected", VTY_NEWLINE); + } + return CMD_SUCCESS; +} + +void cbc_vty_init(void) +{ + install_element(VIEW_NODE, &show_cbc_cmd); + install_element(CONFIG_NODE, &cfg_cbc_cmd); + install_node(&cbc_node, config_write_cbc); + install_element(CBC_NODE, &cfg_cbc_remote_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_no_remote_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_remote_port_cmd); + install_element(CBC_NODE, &cfg_cbc_listen_port_cmd); + install_element(CBC_NODE, &cfg_cbc_no_listen_port_cmd); + install_element(CBC_NODE, &cfg_cbc_listen_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_osmo_ext_cmd); + install_element(CBC_NODE, &cfg_cbc_no_osmo_ext_cmd); +} diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index ea33817..c2cfacf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -767,6 +767,12 @@ .initial_mcs = 6, }; +static void bts_init_cbch_state(struct bts_smscb_chan_state *cstate, struct gsm_bts *bts) +{ + cstate->bts = bts; + INIT_LLIST_HEAD(&cstate->messages); +} + /* Initialize those parts that don't require osmo-bsc specific dependencies. * This part is shared among the thin programs in osmo-bsc/src/utils/. * osmo-bsc requires further initialization that pulls in more dependencies (see @@ -945,6 +951,9 @@ } bts->mr_half.num_modes = 3; + bts_init_cbch_state(&bts->cbch_basic, bts); + bts_init_cbch_state(&bts->cbch_extended, bts); + return bts; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index aba8c40..dacd61a 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -310,6 +311,10 @@ OSMO_ASSERT(ts->fi); osmo_fsm_inst_dispatch(ts->fi, TS_EV_RSL_READY, NULL); } + + /* Start CBCH transmit timer if CBCH is present */ + if (trx->nr == 0 && gsm_bts_get_cbch(trx->bts)) + bts_cbch_timer_schedule(trx->bts); } static void all_ts_dispatch_event(struct gsm_bts_trx *trx, uint32_t event) @@ -379,6 +384,8 @@ rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL]); acc_ramp_abort(&trx->bts->acc_ramp); all_ts_dispatch_event(trx, TS_EV_RSL_DOWN); + if (trx->nr == 0) + osmo_timer_del(&trx->bts->cbch_timer); } gsm_bts_mo_reset(trx->bts); @@ -764,6 +771,11 @@ .description = "Local Call, Local Switch", .enabled = 1, .loglevel = LOGL_NOTICE, }, + [DCBS] = { + .name = "DCBS", + .description = "Cell Broadcast System", + .enabled = 1, .loglevel = LOGL_NOTICE, + } }; @@ -912,6 +924,7 @@ handover_decision_1_init(); hodec2_init(bsc_gsmnet); + bsc_cbc_link_restart(); signal(SIGINT, &signal_handler); signal(SIGTERM, &signal_handler); diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c new file mode 100644 index 0000000..b7217fa --- /dev/null +++ b/src/osmo-bsc/smscb.c @@ -0,0 +1,817 @@ +/* SMSCB (SMS Cell Broadcast) Handling for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include +#include +#include + +/********************************************************************************* + * Helper Functions + *********************************************************************************/ + +/* replace the old head of an entire list with e new head; effectively moves the entire + * list from old to new head */ +static void llist_replace_head(struct llist_head *new, struct llist_head *old) +{ + if (llist_empty(old)) + INIT_LLIST_HEAD(new); + else + __llist_add(new, old->prev, old->next); + INIT_LLIST_HEAD(old); +} + +/*! Obtain SMSCB Channel State for given BTS (basic or extended CBCH) */ +struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended) +{ + struct bts_smscb_chan_state *chan_state; + + if (extended) + chan_state = &bts->cbch_extended; + else + chan_state = &bts->cbch_basic; + + return chan_state; +} + +/* do an ordered list insertion. we keep the list with increasing period, i.e. the most + * frequent message first */ +static void __bts_smscb_add(struct bts_smscb_chan_state *cstate, struct bts_smscb_message *new) +{ + struct bts_smscb_message *tmp, *tmp2; + + if (llist_empty(&cstate->messages)) { + llist_add(&new->list, &cstate->messages); + return; + } + + llist_for_each_entry_safe(tmp, tmp2, &cstate->messages, list) { + if (tmp->input.rep_period > new->input.rep_period) { + /* we found the first message with longer period than the new message, + * we must insert ourselves before that one */ + __llist_add(&new->list, tmp->list.prev, &tmp->list); + return; + } + } +} + +/* stringify a SMSCB for logging */ +const char *bts_smscb_msg2str(const struct bts_smscb_message *smscb) +{ + static char buf[128]; + snprintf(buf, sizeof(buf), "MsgId=0x%04x/SerialNr=0x%04x/Pages=%u/Period=%u/NumBcastReq=%u", + smscb->input.msg_id, smscb->input.serial_nr, smscb->num_pages, + smscb->input.rep_period, smscb->input.num_bcast_req); + return buf; +} + +const char *bts_smscb_chan_state_name(const struct bts_smscb_chan_state *cstate) +{ + if (cstate == &cstate->bts->cbch_basic) + return "BASIC"; + else if (cstate == &cstate->bts->cbch_extended) + return "EXTENDED"; + else + return "UNKNOWN"; +} + +unsigned int bts_smscb_chan_load_percent(const struct bts_smscb_chan_state *cstate) +{ + unsigned int sched_arr_used = 0; + unsigned int i; + + if (cstate->sched_arr_size == 0) + return 0; + + /* count the number of used slots */ + for (i = 0; i < cstate->sched_arr_size; i++) { + if (cstate->sched_arr[i]) + sched_arr_used++; + } + + OSMO_ASSERT(sched_arr_used <= UINT_MAX/100); + return (sched_arr_used * 100) / cstate->sched_arr_size; +} + +unsigned int bts_smscb_chan_page_count(const struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_message *smscb; + unsigned int page_count = 0; + + llist_for_each_entry(smscb, &cstate->messages, list) + page_count += smscb->num_pages; + + return page_count; +} + + +/*! Obtain the Cell Global Identifier (CGI) of given BTS; returned in static buffer. */ +static struct osmo_cell_global_id *bts_get_cgi(struct gsm_bts *bts) +{ + static struct osmo_cell_global_id cgi; + cgi.lai.plmn = bts->network->plmn; + cgi.lai.lac = bts->location_area_code; + cgi.cell_identity = bts->cell_identity; + return &cgi; +} + +/* represents the various lists that the BSC can create as part of a response */ +struct response_state { + struct osmo_cbsp_cell_list success; /* osmo_cbsp_cell_ent */ + struct llist_head fail; /* osmo_cbsp_fail_ent */ + struct osmo_cbsp_num_compl_list num_completed; /* osmo_cbsp_num_compl_ent */ + struct osmo_cbsp_loading_list loading; /* osmo_cbsp_loading_ent */ +}; + +/*! per-BTS callback function used by cbsp_per_bts(). + * \param[in] bts BTS currently being processed + * \param[in] dec decoded CBSP message currently being processed + * \param r_state response state accumulating cell lists (success/failure/...) + * \param priv opaque private data provided by caller of cbsp_per_bts() + * \returns 0 on success; negative TS 48.049 cause value on error */ +typedef int bts_cb_fn(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv); + +/* append a success for given cell to response state */ +static void append_success(struct response_state *r_state, struct gsm_bts *bts) +{ + struct osmo_cbsp_cell_ent *cent = talloc_zero(r_state, struct osmo_cbsp_cell_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_INFO, "Success\n"); + + OSMO_ASSERT(cent); + + cent->cell_id.global = *cgi; + llist_add_tail(¢->list, &r_state->success.list); +} + +/* append a failure for given cell to response state */ +static void append_fail(struct response_state *r_state, struct gsm_bts *bts, uint8_t cause) +{ + struct osmo_cbsp_fail_ent *fent = talloc_zero(r_state, struct osmo_cbsp_fail_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Failure Cause 0x%02x\n", cause); + + OSMO_ASSERT(fent); + + fent->id_discr = CELL_IDENT_WHOLE_GLOBAL; + fent->cell_id.global = *cgi; + fent->cause = cause; + llist_add_tail(&fent->list, &r_state->fail); +} + +/* append a 'number of broadcasts completed' for given cell to response state */ +static void append_bcast_compl(struct response_state *r_state, struct gsm_bts *bts, + struct bts_smscb_message *smscb) +{ + struct osmo_cbsp_num_compl_ent *cent = talloc_zero(r_state, struct osmo_cbsp_num_compl_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Number of Broadcasts Completed: %u\n", smscb->bcast_count); + + OSMO_ASSERT(cent); + + r_state->num_completed.id_discr = CELL_IDENT_WHOLE_GLOBAL; + cent->cell_id.global = *cgi; + if (smscb->bcast_count > INT16_MAX) { + cent->num_compl = INT16_MAX; + cent->num_bcast_info = 0x01; /* Overflow */ + } else { + cent->num_compl = smscb->bcast_count; + cent->num_bcast_info = 0x00; + } + llist_add_tail(¢->list, &r_state->num_completed.list); +} + +/*! Iterate over all BTSs, find matching ones, execute command on BTS, add result + * to succeeded/failed lists. + * \param[in] net GSM network in which we operate + * \param[in] caller-allocated Response state structure collecting results + * \param[in] cell_list Decoded CBSP cell list describing BTSs to operate on + * \param[in] cb_fn Call-back function to call for each matching BTS + * \param[in] priv Opqaue private data; passed to cb_fn + * */ +static int cbsp_per_bts(struct gsm_network *net, struct response_state *r_state, + const struct osmo_cbsp_cell_list *cell_list, + bts_cb_fn *cb_fn, const struct osmo_cbsp_decoded *dec, void *priv) +{ + struct osmo_cbsp_cell_ent *ent; + struct gsm_bts *bts; + uint8_t bts_status[net->num_bts]; + int rc, ret = 0; + + memset(bts_status, 0, sizeof(bts_status)); + INIT_LLIST_HEAD(&r_state->success.list); + INIT_LLIST_HEAD(&r_state->fail); + INIT_LLIST_HEAD(&r_state->num_completed.list); + INIT_LLIST_HEAD(&r_state->loading.list); + + /* special case as cell_list->list is empty in this case */ + if (cell_list->id_discr == CELL_IDENT_BSS) { + llist_for_each_entry(bts, &net->bts_list, list) { + bts_status[bts->nr] = 1; + /* call function on this BTS */ + rc = cb_fn(bts, dec, r_state, priv); + if (rc < 0) { + append_fail(r_state, bts, -rc); + ret = -1; + } else + append_success(r_state, bts); + } + } else { + /* normal case: iterate over cell list */ + llist_for_each_entry(ent, &cell_list->list, list) { + bool found_at_least_one = false; + /* find all matching BTSs for this entry */ + llist_for_each_entry(bts, &net->bts_list, list) { + struct gsm0808_cell_id cell_id = { + .id_discr = cell_list->id_discr, + .id = ent->cell_id + }; + if (!gsm_bts_matches_cell_id(bts, &cell_id)) + continue; + found_at_least_one = true; + /* skip any BTSs which we've already processed */ + if (bts_status[bts->nr]) + continue; + bts_status[bts->nr] = 1; + /* call function on this BTS */ + rc = cb_fn(bts, dec, r_state, priv); + if (rc < 0) { + append_fail(r_state, bts, -rc); + ret = -1; + } else + append_success(r_state, bts); + } + if (!found_at_least_one) { + struct osmo_cbsp_fail_ent *fent; + LOGP(DCBS, LOGL_NOTICE, "CBSP: Couldn't find a single matching BTS\n"); + fent = talloc_zero(r_state, struct osmo_cbsp_fail_ent); + OSMO_ASSERT(fent); + fent->id_discr = cell_list->id_discr; + fent->cell_id = ent->cell_id; + llist_add_tail(&fent->list, &r_state->fail); + ret = -1; + } + } + } + return ret; +} + +/*! Find an existing SMSCB message within given BTS. + * \param[in] chan_state BTS CBCH channel state + * \param[in] msg_id Message Id of to-be-found message + * \param[in] serial_nr Serial Number of to-be-found message + * \returns SMSCB message if found; NULL otherwise */ +struct bts_smscb_message *bts_find_smscb(struct bts_smscb_chan_state *chan_state, + uint16_t msg_id, uint16_t serial_nr) +{ + struct bts_smscb_message *smscb; + + llist_for_each_entry(smscb, &chan_state->messages, list) { + if (smscb->input.msg_id == msg_id && smscb->input.serial_nr == serial_nr) + return smscb; + } + return NULL; +} + +/*! create a new SMSCB message for specified BTS; don't link it yet. + * \param[in] bts BTS for which the SMSCB is to be allocated + * \param[in] wrepl CBSP write-replace message + * \returns callee-allocated SMSCB message filled with data from wrepl */ +static struct bts_smscb_message *bts_smscb_msg_from_wrepl(struct gsm_bts *bts, + const struct osmo_cbsp_write_replace *wrepl) +{ + struct bts_smscb_message *smscb = talloc_zero(bts, struct bts_smscb_message); + struct osmo_cbsp_content *cont; + int i; + + if (!smscb) + return NULL; + + OSMO_ASSERT(wrepl->is_cbs); + + /* initialize all pages inside the message */ + for (i = 0; i < ARRAY_SIZE(smscb->page); i++) { + struct bts_smscb_page *page = &smscb->page[i]; + page->nr = i+1; /* page numbers are 1-based */ + page->msg = smscb; + } + + /* initialize "header" part */ + smscb->input.msg_id = wrepl->msg_id; + smscb->input.serial_nr = wrepl->new_serial_nr; + smscb->input.category = wrepl->u.cbs.category; + smscb->input.rep_period = wrepl->u.cbs.rep_period; + smscb->input.num_bcast_req = wrepl->u.cbs.num_bcast_req; + smscb->input.dcs = wrepl->u.cbs.dcs; + smscb->num_pages = llist_count(&wrepl->u.cbs.msg_content); + if (smscb->num_pages > ARRAY_SIZE(smscb->page)) { + LOG_BTS(bts, DCBS, LOGL_ERROR, "SMSCB with too many pages (%u > %lu)\n", + smscb->num_pages, ARRAY_SIZE(smscb->page)); + talloc_free(smscb); + return NULL; + } + + i = 0; + llist_for_each_entry(cont, &wrepl->u.cbs.msg_content, list) { + struct gsm23041_msg_param_gsm *msg_param; + struct bts_smscb_page *page; + size_t bytes_used; + + /* we have just ensured a few lines above that this cannot overflow */ + page = &smscb->page[i++]; + msg_param = (struct gsm23041_msg_param_gsm *) &page->data[0]; + + /* build 6 byte header according to TS 23.041 9.4.1.2 */ + osmo_store16be(wrepl->new_serial_nr, &msg_param->serial_nr); + osmo_store16be(wrepl->msg_id, &msg_param->message_id); + msg_param->dcs = wrepl->u.cbs.dcs; + msg_param->page_param.num_pages = smscb->num_pages; + msg_param->page_param.page_nr = page->nr; + + OSMO_ASSERT(cont->user_len <= ARRAY_SIZE(cont->data)); + OSMO_ASSERT(cont->user_len <= ARRAY_SIZE(page->data) - sizeof(*msg_param)); + memcpy(&msg_param->content[0], cont->data, cont->user_len); + bytes_used = sizeof(*msg_param) + cont->user_len; + /* compute number of valid blocks in page */ + page->num_blocks = bytes_used / 22; + if (bytes_used % 22) + page->num_blocks += 1; + } + + return smscb; +} + +/*! remove a SMSCB message */ +void bts_smscb_del(struct bts_smscb_message *smscb, struct bts_smscb_chan_state *cstate, + const char *reason) +{ + struct bts_smscb_page **arr; + int rc; + + LOG_BTS(cstate->bts, DCBS, LOGL_INFO, "%s Deleting %s (Reason: %s)\n", + bts_smscb_chan_state_name(cstate), bts_smscb_msg2str(smscb), reason); + llist_del(&smscb->list); + + /* we must recompute the scheduler array here, as the old one will have pointers + * to the pages of the just-to-be-deleted message */ + rc = bts_smscb_gen_sched_arr(cstate, &arr); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Cannot generate new CBCH scheduler array after " + "removing message %s. WTF?\n", bts_smscb_msg2str(smscb)); + /* we cannot free the message now, to ensure the page pointers in the old + * array are still valid. let's re-add it to keep things sane */ + __bts_smscb_add(cstate, smscb); + } else { + /* success */ + talloc_free(smscb); + } +} + + +/********************************************************************************* + * Transmit of CBSP to CBC + *********************************************************************************/ + +/* transmit a CBSP RESTART message stating all message data was lost for entire BSS */ +int cbsp_tx_restart(struct bsc_cbc_link *cbc, bool is_emerg) +{ + struct osmo_cbsp_decoded *cbsp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESTART); + + if (is_emerg) + cbsp->u.restart.bcast_msg_type = 0x01; + cbsp->u.restart.recovery_ind = 0x01; /* message data lost */ + cbsp->u.restart.cell_list.id_discr = CELL_IDENT_BSS; + + return cbsp_tx_decoded(cbc, cbsp); +} + +/* transmit a CBSP KEEPALIVE COMPLETE to the CBC */ +static int tx_cbsp_keepalive_compl(struct bsc_cbc_link *cbc) +{ + struct osmo_cbsp_decoded *cbsp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KEEP_ALIVE_COMPL); + return cbsp_tx_decoded(cbc, cbsp); +} + +/********************************************************************************* + * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() + *********************************************************************************/ + +/*! Try to execute a write-replace operation; roll-back if it fails. + * \param[in] chan_state BTS CBCH channel state + * \param[in] extended_cbch Basic (false) or Extended (true) CBCH + * \param[in] new_msg New SMSCB message which should be added + * \param[in] exclude_msg Existing SMSCB message that shall be replaced (if possible). Can be NULL + * \return 0 on success; negative on error */ +static int bts_try_write_replace(struct bts_smscb_chan_state *chan_state, + struct bts_smscb_message *new_msg, + struct bts_smscb_message *exclude_msg, + struct response_state *r_state) +{ + struct bts_smscb_page **arr; + int rc; + + if (exclude_msg) { + /* temporarily remove from list of SMSCB */ + llist_del(&exclude_msg->list); + } + /* temporarily add new_msg to list of SMSCB */ + __bts_smscb_add(chan_state, new_msg); + + /* attempt to create scheduling array */ + rc = bts_smscb_gen_sched_arr(chan_state, &arr); + if (rc < 0) { + /* it didn't work out; we couldn't schedule it */ + /* remove the new message again */ + llist_del(&new_msg->list); + /* up to the caller to free() it */ + if (exclude_msg) { + /* re-add the temporarily removed message */ + __bts_smscb_add(chan_state, new_msg); + } + return -1; + } + + /* success! */ + if (exclude_msg) { + LOG_BTS(chan_state->bts, DCBS, LOGL_INFO, "%s Replaced MsgId=0x%04x/Serial=0x%04x, " + "pages(%u -> %u), period(%u -> %u), num_bcast(%u -> %u)\n", + bts_smscb_chan_state_name(chan_state), + new_msg->input.msg_id, new_msg->input.serial_nr, + exclude_msg->num_pages, new_msg->num_pages, + exclude_msg->input.rep_period, new_msg->input.rep_period, + exclude_msg->input.num_bcast_req, new_msg->input.num_bcast_req); + append_bcast_compl(r_state, chan_state->bts, exclude_msg); + talloc_free(exclude_msg); + } else + LOG_BTS(chan_state->bts, DCBS, LOGL_INFO, "%s Added %s\n", + bts_smscb_chan_state_name(chan_state), bts_smscb_msg2str(new_msg)); + + /* replace array with new one */ + talloc_free(chan_state->sched_arr); + chan_state->sched_arr = arr; + chan_state->sched_arr_size = rc; + chan_state->next_idx = 0; + return 0; +} + + +static int bts_rx_write_replace(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + const struct osmo_cbsp_write_replace *wrepl = &dec->u.write_replace; + bool extended_cbch = wrepl->u.cbs.channel_ind; + struct bts_smscb_chan_state *chan_state = bts_get_smscb_chan(bts, extended_cbch); + struct bts_smscb_message *smscb; + int rc; + + if (!wrepl->is_cbs) { + LOG_BTS(bts, DCBS, LOGL_ERROR, "(Primary) Emergency Message not supported\n"); + return -CBSP_CAUSE_CB_NOT_SUPPORTED; + } + + /* check if cell has a CBCH at all */ + if (!gsm_bts_get_cbch(bts)) + return -CBSP_CAUSE_CB_NOT_SUPPORTED; + + /* check for duplicate */ + if (bts_find_smscb(chan_state, wrepl->msg_id, wrepl->new_serial_nr)) + return -CBSP_CAUSE_MSG_REF_ALREADY_USED; + + if (!wrepl->old_serial_nr) { /* new message */ + /* create new message */ + smscb = bts_smscb_msg_from_wrepl(bts, wrepl); + if (!smscb) + return -CBSP_CAUSE_BSC_MEMORY_EXCEEDED; + /* check if scheduling permits this additional message */ + rc = bts_try_write_replace(chan_state, smscb, NULL, r_state); + if (rc < 0) { + talloc_free(smscb); + return -CBSP_CAUSE_BSC_CAPACITY_EXCEEDED; + } + } else { /* modify / replace existing message */ + struct bts_smscb_message *smscb_old; + /* find existing message */ + smscb_old = bts_find_smscb(chan_state, wrepl->msg_id, *wrepl->old_serial_nr); + if (!smscb_old) + return -CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED; + /* create new message */ + smscb = bts_smscb_msg_from_wrepl(bts, wrepl); + if (!smscb) + return -CBSP_CAUSE_BSC_MEMORY_EXCEEDED; + /* check if scheduling permits this modified message */ + rc = bts_try_write_replace(chan_state, smscb, smscb_old, r_state); + if (rc < 0) { + talloc_free(smscb); + return -CBSP_CAUSE_BSC_CAPACITY_EXCEEDED; + } + } + return 0; +} + +static int bts_rx_kill(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + const struct osmo_cbsp_kill *kill = &dec->u.kill; + struct bts_smscb_chan_state *chan_state; + struct bts_smscb_message *smscb; + bool extended = false; + + if (kill->channel_ind && *kill->channel_ind == 0x01) + extended = true; + chan_state = bts_get_smscb_chan(bts, extended); + + /* Find message by msg_id + old_serial_nr */ + smscb = bts_find_smscb(chan_state, kill->msg_id, kill->old_serial_nr); + if (!smscb) + return -CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED; + + /* Remove it */ + bts_smscb_del(smscb, chan_state, "KILL"); + return 0; +} + +static int bts_rx_reset(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + struct bts_smscb_chan_state *chan_state; + struct bts_smscb_message *smscb, *smscb2; + + /* remove all SMSCB from CBCH BASIC this BTS */ + chan_state = bts_get_smscb_chan(bts, false); + llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) + bts_smscb_del(smscb, chan_state, "RESET"); + + /* remove all SMSCB from CBCH EXTENDED this BTS */ + chan_state = bts_get_smscb_chan(bts, true); + llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) + bts_smscb_del(smscb, chan_state, "RESET"); + + return 0; +} + +/********************************************************************************* + * Receive of CBSP from CBC + *********************************************************************************/ + +static int cbsp_rx_write_replace(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + const struct osmo_cbsp_write_replace *wrepl = &dec->u.write_replace; + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + enum cbsp_channel_ind channel_ind; + int rc; + + LOGP(DCBS, LOGL_INFO, "CBSP Rx WRITE_REPLACE (%s)\n", wrepl->is_cbs ? "CBS" : "EMERGENCY"); + + rc = cbsp_per_bts(net, r_state, &dec->u.write_replace.cell_list, + bts_rx_write_replace, dec, NULL); + /* generate response */ + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_WRITE_REPLACE_FAIL); + struct osmo_cbsp_write_replace_failure *fail = &resp->u.write_replace_fail; + fail->msg_id = wrepl->msg_id; + fail->new_serial_nr = wrepl->new_serial_nr; + fail->old_serial_nr = wrepl->old_serial_nr; + llist_replace_head(&fail->fail_list, &r_state->fail); + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + if (wrepl->is_cbs) { + channel_ind = wrepl->u.cbs.channel_ind; + fail->channel_ind = &channel_ind; + } + if (wrepl->old_serial_nr) { + fail->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&fail->num_compl_list.list, &r_state->num_completed.list); + } + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_WRITE_REPLACE_COMPL); + struct osmo_cbsp_write_replace_complete *compl = &resp->u.write_replace_compl; + compl->msg_id = wrepl->msg_id; + compl->new_serial_nr = wrepl->new_serial_nr; + compl->old_serial_nr = wrepl->old_serial_nr; + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + if (wrepl->is_cbs) { + channel_ind = wrepl->u.cbs.channel_ind; + compl->channel_ind = &channel_ind; + } + if (wrepl->old_serial_nr) { + compl->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&compl->num_compl_list.list, &r_state->num_completed.list); + } + } + + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + +static int cbsp_rx_keep_alive(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx KEEP_ALIVE\n"); + + /* FIXME: repetition period */ + return tx_cbsp_keepalive_compl(cbc); +} + +static int cbsp_rx_kill(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + const struct osmo_cbsp_kill *kill = &dec->u.kill; + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + int rc; + + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx KILL\n"); + + rc = cbsp_per_bts(net, r_state, &dec->u.kill.cell_list, bts_rx_kill, dec, NULL); + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KILL_FAIL); + struct osmo_cbsp_kill_failure *fail = &resp->u.kill_fail; + fail->msg_id = kill->msg_id; + fail->old_serial_nr = kill->old_serial_nr; + fail->channel_ind = kill->channel_ind; + llist_replace_head(&fail->fail_list, &r_state->fail); + + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + + fail->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&fail->num_compl_list.list, &r_state->num_completed.list); + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KILL_COMPL); + struct osmo_cbsp_kill_complete *compl = &resp->u.kill_compl; + compl->msg_id = kill->msg_id; + compl->old_serial_nr = kill->old_serial_nr; + compl->channel_ind = kill->channel_ind; + + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + + compl->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&compl->num_compl_list.list, &r_state->num_completed.list); + } + + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + +static int cbsp_rx_reset(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + int rc; + + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx RESET\n"); + + rc = cbsp_per_bts(net, r_state, &dec->u.reset.cell_list, bts_rx_reset, dec, NULL); + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESET_FAIL); + struct osmo_cbsp_reset_failure *fail = &resp->u.reset_fail; + llist_replace_head(&fail->fail_list, &r_state->fail); + + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESET_COMPL); + struct osmo_cbsp_reset_complete *compl = &resp->u.reset_compl; + if (dec->u.reset.cell_list.id_discr == CELL_IDENT_BSS) { + /* replace the list of individual cell identities with CELL_IDENT_BSS */ + compl->cell_list.id_discr = CELL_IDENT_BSS; + /* no need to free success_list entries, hierarchical talloc works */ + } else { + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + } + } + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + + +/*! process an incoming, already decoded CBSP message from the CBC. + * \param[in] cbc link to the CBC + * \param[in] dec decoded CBSP message structure. Ownership not transferred. + * \returns 0 on success; negative on error. */ +int cbsp_rx_decoded(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + int rc = -1; + + switch (dec->msg_type) { + case CBSP_MSGT_WRITE_REPLACE: /* create or modify message */ + rc = cbsp_rx_write_replace(cbc, dec); + break; + case CBSP_MSGT_KEEP_ALIVE: /* solicit an acknowledgement */ + rc = cbsp_rx_keep_alive(cbc, dec); + break; + case CBSP_MSGT_KILL: /* remove message */ + rc = cbsp_rx_kill(cbc, dec); + break; + case CBSP_MSGT_RESET: /* stop broadcasting of all messages */ + rc = cbsp_rx_reset(cbc, dec); + break; + case CBSP_MSGT_LOAD_QUERY: + case CBSP_MSGT_MSG_STATUS_QUERY: + case CBSP_MSGT_SET_DRX: + LOGP(DCBS, LOGL_ERROR, "Received Unimplemented CBSP Message Type %s", + get_value_string(cbsp_msg_type_names, dec->msg_type)); + /* we should implement those eventually */ + break; + default: + LOGP(DCBS, LOGL_ERROR, "Received Unknown/Unexpected CBSP Message Type %s", + get_value_string(cbsp_msg_type_names, dec->msg_type)); + break; + } + return rc; +} + +/********************************************************************************* + * VTY Interface (Introspection) + *********************************************************************************/ + +static void vty_dump_smscb_chan_state(struct vty *vty, const struct bts_smscb_chan_state *cs) +{ + const struct bts_smscb_message *sm; + + vty_out(vty, "%s CBCH:%s", cs == &cs->bts->cbch_basic ? "BASIC" : "EXTENDED", VTY_NEWLINE); + + vty_out(vty, " MsgId | SerNo | Pg | Category | Perd | #Tx | #Req | DCS%s", VTY_NEWLINE); + vty_out(vty, "-------|-------|----|---------------|------|------|------|----%s", VTY_NEWLINE); + llist_for_each_entry(sm, &cs->messages, list) { + vty_out(vty, " %04x | %04x | %2u | %13s | %4u | %4u | %4u | %02x%s", + sm->input.msg_id, sm->input.serial_nr, sm->num_pages, + get_value_string(cbsp_category_names, sm->input.category), + sm->input.rep_period, sm->bcast_count, sm->input.num_bcast_req, + sm->input.dcs, VTY_NEWLINE); + } + vty_out(vty, "%s", VTY_NEWLINE); +} + +DEFUN(bts_show_cbs, bts_show_cbs_cmd, + "show bts <0-255> smscb [(basic|extended)]", + SHOW_STR "Display information about a BTS\n" "BTS number\n" + "SMS Cell Broadcast State\n" + "Show only information related to CBCH BASIC\n" + "Show only information related to CBCH EXTENDED\n") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + int bts_nr = atoi(argv[0]); + struct gsm_bts *bts; + + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + bts = gsm_bts_num(net, bts_nr); + + if (argc < 2 || !strcmp(argv[1], "basic")) + vty_dump_smscb_chan_state(vty, &bts->cbch_basic); + if (argc < 2 || !strcmp(argv[1], "extended")) + vty_dump_smscb_chan_state(vty, &bts->cbch_extended); + + return CMD_SUCCESS; +} + +void smscb_vty_init(void) +{ + install_element_ve(&bts_show_cbs_cmd); +} diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 84c341e..8bd0012 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -11,6 +11,7 @@ $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(NULL) @@ -91,11 +92,15 @@ $(top_builddir)/src/osmo-bsc/rest_octets.o \ $(top_builddir)/src/osmo-bsc/system_information.o \ $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ + $(top_builddir)/src/osmo-bsc/smscb.o \ + $(top_builddir)/src/osmo-bsc/cbch_scheduler.o \ + $(top_builddir)/src/osmo-bsc/cbsp_link.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOABIS_LIBS) \ + $(LIBOSMONETIF_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBOSMOMGCPCLIENT_LIBS) \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:33:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:33:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP (Cell Broadcast Service Protocol) types + templates Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 Change subject: Add CBSP (Cell Broadcast Service Protocol) types + templates ...................................................................... Add CBSP (Cell Broadcast Service Protocol) types + templates Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c --- A library/CBSP_Templates.ttcn A library/CBSP_Types.ttcn 2 files changed, 1,125 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/15374/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn new file mode 100644 index 0000000..3c60f14 --- /dev/null +++ b/library/CBSP_Templates.ttcn @@ -0,0 +1,744 @@ +module CBSP_Templates { + +import from Osmocom_Types all; +import from BSSAP_Types all; +import from CBSP_Types all; + +/* TODO: receive templates must match IEs in any arbitrary order */ + +/* For some reason the TTCN-3 RAW codec cannot automatically figure out the IEI + * that it needs to set for a given union-choice (body). So we have to explicitly + * specify the IEI by the caller :( */ +template (value) CBSP_IE ts_CBSP_IE(CBSP_IEI iei, template (value) CBSP_IE_Body body) := { + iei := iei, + body := body +} + +template CBSP_IE tr_CBSP_IE(template CBSP_IE_Body body) := { + iei := ?, + body := body +} + + +template (value) CBSP_IE ts_CbspMsgId(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_MSG_ID, {msg_id := val}); +template CBSP_IE tr_CbspMsgId(template uint16_t val := ?) := + tr_CBSP_IE({msg_id := val}); + +template (value) CBSP_IE ts_NewSerNo(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_NEW_SERIAL_NR, {new_ser_nr := val}); +template CBSP_IE tr_NewSerNo(template uint16_t val := ?) := + tr_CBSP_IE({new_ser_nr := val}); + +template (value) CBSP_IE ts_OldSerNo(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_OLD_SERIAL_NR, {old_ser_nr := val}); +template CBSP_IE tr_OldSerNo(template uint16_t val := ?) := + tr_CBSP_IE({old_ser_nr := val}); + +template (value) CBSP_IE ts_CbspKARepPeriod(template (value) uint8_t rep_per) := + ts_CBSP_IE(CBSP_IEI_KEEP_ALIVE_REP_PERIOD, {keep_alive_rep_period := rep_per}); +template CBSP_IE tr_CbspKARepPeriod(template uint8_t rep_per := ?) := + tr_CBSP_IE({keep_alive_rep_period := rep_per}); + +function ts_CbspChannelInd(template (omit) uint8_t val) return template (omit) CBSP_IE { + var template (omit) CBSP_IE ie; + if (istemplatekind(val, "omit")) { + ie := omit; + } else { + ie := ts_CBSP_IE(CBSP_IEI_CHANNEL_IND, {channel_ind := val}); + } + return ie; +} +function tr_CbspChannelInd(template uint8_t val := ?) return template CBSP_IE { + var template CBSP_IE ie; + if (istemplatekind(val, "omit")) { + ie := omit; + } else if (istemplatekind(val, "*")) { + ie := tr_CBSP_IE({channel_ind := ?}) ifpresent; + } else { + ie := tr_CBSP_IE({channel_ind := val}); + } + return ie; +} + +template (value) CBSP_IE ts_CbspCause(template (value) CBSP_Cause c) := + ts_CBSP_IE(CBSP_IEI_CAUSE, {cause := c}); +template CBSP_IE tr_CbspCause(template CBSP_Cause c := ?) := + tr_CBSP_IE({cause := c}); + +template (value) CBSP_IE ts_CbspCellList(template (value) BSSMAP_FIELD_CellIdentificationList list) := + ts_CBSP_IE(CBSP_IEI_CELL_LIST, { + cell_list := { + len := 0, + spare1_4 := '0000'B, + cell_id_discr := '0000'B, + cell_id := list + }}); +template CBSP_IE tr_CbspCellList(template BSSMAP_FIELD_CellIdentificationList list := ?) := + tr_CBSP_IE({ + cell_list := { + len := ?, + spare1_4 := ?, + cell_id_discr := ?, + cell_id := list + }}); + +template (value) CBSP_IE ts_CbspCategory(template (value) CBSP_Category cat) := + ts_CBSP_IE(CBSP_IEI_CATEGORY, {category := cat}); +template CBSP_IE tr_CbspCategory(template CBSP_Category cat := ?) := + tr_CBSP_IE({category := cat}); + +template (value) CBSP_IE ts_CbspRepetitionPeriod(template (value) uint16_t per) := + ts_CBSP_IE(CBSP_IEI_REP_PERIOD, {rep_period := per}); +template CBSP_IE tr_CbspRepetitionPeriod(template uint16_t per := ?) := + tr_CBSP_IE({rep_period := per}); + +template (value) CBSP_IE ts_CbspNumBcastReq(template (value) uint16_t num) := + ts_CBSP_IE(CBSP_IEI_NUM_BCAST_REQ, {num_bcast_req := num}); +template CBSP_IE tr_CbspNumBcastReq(template uint16_t num := ?) := + tr_CBSP_IE({num_bcast_req := num}); + +template (value) CBSP_IE ts_CbspNumPages(template (value) uint8_t num) := + ts_CBSP_IE(CBSP_IEI_NUM_OF_PAGES, {num_of_pages := num}); +template CBSP_IE tr_CbspNumPages(template uint16_t num := ?) := + tr_CBSP_IE({num_of_pages := num}); + +template (value) CBSP_IE ts_EmergencyInd(template (value) uint8_t val) := + ts_CBSP_IE(CBSP_IEI_EMERG_IND, {emerg_ind := val}); +template CBSP_IE tr_EmergencyInd(template uint8_t val := ?) := + tr_CBSP_IE({emerg_ind := val}); + +template (value) CBSP_IE ts_WarningType(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_WARN_TYPE, {warn_type := val}); +template CBSP_IE tr_WarningType(template uint16_t val) := + tr_CBSP_IE({warn_type := val}); + +template (value) CBSP_IE ts_WarnSecInfo(template (value) octetstring payl := ''O) := + ts_CBSP_IE(CBSP_IEI_WARN_SEC_INFO, {warn_sec_info := payl}); +template CBSP_IE tr_WarnSecInfo(template octetstring payl := ?) := + tr_CBSP_IE({warn_sec_info := payl}); + +template (value) CBSP_IE ts_WarningPeriod(template (value) uint8_t val) := + ts_CBSP_IE(CBSP_IEI_WARNING_PERIOD, {warning_period := val}); +template CBSP_IE tr_WarningPeriod(template uint8_t val := ?) := + tr_CBSP_IE({warning_period := val}); + +template (value) CBSP_IE ts_CbspFailList(template (value) CBSP_FailureListItems items) := + ts_CBSP_IE(CBSP_IEI_FAILURE_LIST, {failure_list := { + len := 0, + list := items + }}); +template CBSP_IE tr_CbspFailList(template CBSP_FailureListItems items := ?) := + tr_CBSP_IE({failure_list := { + len := 0, + list := items + }}); + +template (value) CBSP_IE ts_CbspNumComplList(template (value) CBSP_IE_NumBcastComplList list) := + ts_CBSP_IE(CBSP_IEI_NUM_BCAST_COMPL_LIST, {num_bcast_compl_list := list}); +template CBSP_IE tr_CbspNumComplList(template CBSP_IE_NumBcastComplList list := ?) := + tr_CBSP_IE({num_bcast_compl_list := list}); + +template (value) CBSP_IE ts_CbspBcastMsgType(template (value) CBSP_BcastMsgType bi) := + ts_CBSP_IE(CBSP_IEI_BCAST_MSG_TYPE, {bcast_msg_type := { + spare1_4 := '0000'B, + msg_type := bi + }}); +template CBSP_IE tr_CbspBcastMsgType(template CBSP_BcastMsgType bi := ?) := + tr_CBSP_IE({bcast_msg_type := { + spare1_4 := ?, + msg_type := bi + }}); + +template (value) CBSP_IE ts_CbspRecoveryInd(template (value) CBSP_RecoveryInd ri) := + ts_CBSP_IE(CBSP_IEI_RECOVERY_IND, {recovery_ind := { + spare1_4 := '0000'B, + recovery := ri + }}); +template CBSP_IE tr_CbspRecoveryInd(template CBSP_RecoveryInd ri) := + tr_CBSP_IE({recovery_ind := { + spare1_4 := ?, + recovery := ri + }}); + +template (value) CBSP_IE ts_CbspMsgContent(template (value) octetstring payload, uint8_t user_len) := + ts_CBSP_IE(CBSP_IEI_MSG_CONTENT, {msg_content := { + user_len := user_len, + val := payload + }}); +template CBSP_IE tr_CbspMsgContent(template octetstring payload := ?, template uint8_t user_len := ?) := + tr_CBSP_IE({msg_content := { + user_len := user_len, + val := payload + }}); + +template (value) CBSP_IE ts_CbspDCS(template (value) uint8_t dcs) := + ts_CBSP_IE(CBSP_IEI_DCS, {dcs := dcs}); +template CBSP_IE tr_CbspDCS(template uint8_t dcs := ?) := + tr_CBSP_IE({dcs := dcs}); + + +template (value) CBSP_PDU ts_CBSP(CBSP_MessageType msg_type, template (value) CBSP_IEs ies) := { + msg_type := msg_type, + len := 0, /* overwritten */ + ies := ies +} +template CBSP_PDU tr_CBSP(template CBSP_MessageType msg_type := ?, template CBSP_IEs ies := *) := { + msg_type := msg_type, + len := ?, + ies := ies +} + + + +/* 8.1.3.1 WRITE REPLACE */ +function ts_CBSP_WRITE_CBS(template (value) uint16_t msg_id, + template (value) uint16_t new_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind, + template (value) CBSP_Category category, + template (value) uint16_t rep_period, + template (value) uint16_t num_bcast_req, + template (value) uint8_t dcs, + template (value) CBSP_IEs content) return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind), + ts_CbspCategory(category), + ts_CbspRepetitionPeriod(rep_period), + ts_CbspNumBcastReq(num_bcast_req), + ts_CbspDCS(dcs), + ts_CbspNumPages(lengthof(content)) + }; + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE, valueof(ies) & valueof(content)); +} +template CBSP_PDU tr_CBSP_WRITE_CBS(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?, + template CBSP_Category category := ?, + template uint16_t rep_period := ?, + template uint16_t num_bcast_req := ?, + template uint8_t dcs := ?, + template CBSP_IEs content := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, ({ + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind), + tr_CbspCategory(category), + tr_CbspRepetitionPeriod(rep_period), + tr_CbspNumBcastReq(num_bcast_req), + tr_CbspDCS(dcs), + tr_CbspNumPages(lengthof(content)), all from content })); + + +function ts_CBSP_REPLACE_CBS(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind, + template (value) CBSP_Category category, + template (value) uint16_t rep_period, + template (value) uint16_t num_bcast_req, + template (value) uint8_t dcs, + template (value) CBSP_IEs content) return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind), + ts_CbspCategory(category), + ts_CbspRepetitionPeriod(rep_period), + ts_CbspNumBcastReq(num_bcast_req), + ts_CbspDCS(dcs), + ts_CbspNumPages(lengthof(content)) + }; + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE, valueof(ies) & valueof(content)); +} +template CBSP_PDU tr_CBSP_REPLACE_CBS(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?, + template CBSP_Category category := ?, + template uint16_t rep_period := ?, + template uint16_t num_bcast_req := ?, + template uint8_t dcs := ?, + template CBSP_IEs content := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, ({ + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind), + tr_CbspCategory(category), + tr_CbspRepetitionPeriod(rep_period), + tr_CbspNumBcastReq(num_bcast_req), + tr_CbspDCS(dcs), + tr_CbspNumPages(lengthof(content)), all from content })); + +template (value) CBSP_PDU ts_CBSP_WRITE_EMERG(uint16_t msg_id, uint16_t new_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t emerg_ind, + template (value) uint16_t warn_type, + template (value) uint16_t num_bcast_req, + template (value) uint8_t warn_per + ) := + ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspCellList(cell_list), + ts_EmergencyInd(emerg_ind), + ts_WarningType(warn_type), + ts_WarnSecInfo, + ts_WarningPeriod(warn_per) }); +template CBSP_PDU tr_CBSP_WRITE_EMERG(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t emerg_ind := ?, + template uint16_t warn_type := ?, + template uint16_t num_bcast_req := ?, + template uint8_t warn_per := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspCellList(cell_list), + tr_EmergencyInd(emerg_ind), + tr_WarningType(warn_type), + tr_WarnSecInfo, + tr_WarningPeriod(warn_per) }); + + +template (value) CBSP_PDU ts_CBSP_REPLACE_EMERG(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t emerg_ind, + template (value) uint16_t warn_type, + template (value) uint16_t num_bcast_req, + template (value) uint8_t warn_per + ) := + ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_EmergencyInd(emerg_ind), + ts_WarningType(warn_type), + ts_WarnSecInfo, + ts_WarningPeriod(warn_per) }); +template CBSP_PDU tr_CBSP_REPLACE_EMERG(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t emerg_ind := ?, + template uint16_t warn_type := ?, + template uint16_t num_bcast_req := ?, + template uint8_t warn_per := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_EmergencyInd(emerg_ind), + tr_WarningType(warn_type), + tr_WarnSecInfo, + tr_WarningPeriod(warn_per) }); + +/* 8.1.3.2 WRITE-REPLACE COMPLETE */ +function ts_CBSP_WRITE_CBS_COMPL(uint16_t msg_id, uint16_t new_ser_nr, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr) + }; + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} +function tr_CBSP_WRITE_CBS_COMPL(template uint16_t msg_id, template uint16_t new_ser_nr, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr) + }; + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} + + +function ts_CBSP_REPLACE_CBS_COMPL(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspNumComplList(compl_list) + }; + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} +function tr_CBSP_REPLACE_CBS_COMPL(template uint16_t msg_id, template uint16_t new_ser_nr, + template uint16_t old_ser_nr, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspNumComplList(compl_list) + }; + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} + + +/* 8.1.3.3 WRITE-REPLACE FAILURE */ +function ts_CBSP_WRITE_CBS_FAIL(uint16_t msg_id, uint16_t new_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} +function tr_CBSP_WRITE_CBS_FAIL(template uint16_t msg_id, template uint16_t new_ser_nr, + template CBSP_FailureListItems fail_list, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + } else if (istemplatekind(compl_list, "?")) { + ies[lengthof(ies)] := tr_CbspNumComplList(?); + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} + + +function ts_CBSP_REPLACE_CBS_FAIL(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} +function tr_CBSP_REPLACE_CBS_FAIL(template uint16_t msg_id, template uint16_t new_ser_nr, + template uint16_t old_ser_nr, + template CBSP_FailureListItems fail_list, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(compl_list, "?")) { + ies[lengthof(ies)] := tr_CbspNumComplList(?); + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} + +/* 8.1.3.4 KILL */ +template (value) CBSP_PDU ts_CBSP_KILL(template (value) uint16_t msg_id, + template (value) uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) := + ts_CBSP(CBSP_MSGT_KILL, { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind)}); +template CBSP_PDU tr_CBSP_KILL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?) := + tr_CBSP(CBSP_MSGT_KILL, { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind) }); + +/* 8.1.3.5 KILL COMPLETE */ +function ts_CBSP_KILL_COMPL(template (value) uint16_t msg_id, template (value) uint16_t old_ser_nr, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } + return ts_CBSP(CBSP_MSGT_KILL_COMPL, ies); +} +function tr_CBSP_KILL_COMPL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template CBSP_IE_NumBcastComplList compl_list := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + if (istemplatekind(channel_ind, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } + return tr_CBSP(CBSP_MSGT_KILL_COMPL, ies); +} + +/* 8.1.3.6 KILL FAILURE */ +function ts_CBSP_KILL_FAIL(template (value) uint16_t msg_id, template (value) uint16_t old_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } + return ts_CBSP(CBSP_MSGT_KILL_FAIL, ies); +} +function tr_CBSP_KILL_FAIL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template CBSP_FailureListItems fail_list := ?, + template CBSP_IE_NumBcastComplList compl_list := *, + template BSSMAP_FIELD_CellIdentificationList cell_list := *, + template uint8_t channel_ind := *) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + if (istemplatekind(channel_ind, "*")) { + ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; + } else if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } + return tr_CBSP(CBSP_MSGT_KILL_FAIL, ies); +} + + +/* 8.1.3.16 RESET */ +template (value) CBSP_PDU ts_CBSP_RESET(template (value) BSSMAP_FIELD_CellIdentificationList cell_list) := + ts_CBSP(CBSP_MSGT_RESET, { + ts_CbspCellList(cell_list) + }); +template CBSP_PDU tr_CBSP_RESET(template BSSMAP_FIELD_CellIdentificationList cell_list := ?) := + tr_CBSP(CBSP_MSGT_RESET, { + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.17 RESET COMPLETE */ +template (value) CBSP_PDU ts_CBSP_RESET_COMPL(template (value) BSSMAP_FIELD_CellIdentificationList cell_list) := + ts_CBSP(CBSP_MSGT_RESET_COMPL, { + ts_CbspCellList(cell_list) + }); +template CBSP_PDU tr_CBSP_RESET_COMPL(template BSSMAP_FIELD_CellIdentificationList cell_list := ?) := + tr_CBSP(CBSP_MSGT_RESET_COMPL, { + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.18 RESET FAILURE */ +template (value) CBSP_PDU ts_CBSP_RESET_FAIL(template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) CBSP_FailureListItems fail_items) := + ts_CBSP(CBSP_MSGT_RESET_FAIL, { + ts_CbspFailList(fail_items), + ts_CbspCellList(cell_list) + }); + +template CBSP_PDU tr_CBSP_RESET_FAIL(template BSSMAP_FIELD_CellIdentificationList cell_list, + template CBSP_FailureListItems fail_items) := + tr_CBSP(CBSP_MSGT_RESET_FAIL, { + tr_CbspFailList(fail_items), + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.18a KEEP-ALIVE */ +template (value) CBSP_PDU ts_CBSP_KEEP_ALIVE(uint8_t rep_period) := + ts_CBSP(CBSP_MSGT_KEEP_ALIVE, {ts_CbspKARepPeriod(rep_period)}); +template CBSP_PDU tr_CBSP_KEEP_ALIVE(template uint8_t rep_period := ?) := + tr_CBSP(CBSP_MSGT_KEEP_ALIVE, {tr_CbspKARepPeriod(rep_period)}); + +/* 8.1.3.18b KEEP-ALIVE COMPLETE */ +template (value) CBSP_PDU ts_CBSP_KEEP_ALIVE_COMPL := + ts_CBSP(CBSP_MSGT_KEEP_ALIVE_COMPL, {}); +template CBSP_PDU tr_CBSP_KEEP_ALIVE_COMPL := + tr_CBSP(CBSP_MSGT_KEEP_ALIVE_COMPL, {}); + +/* 8.1.3.19 RESTART */ +template (value) CBSP_PDU ts_CBSP_RESTART(template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) CBSP_BcastMsgType msg_type, + template (value) CBSP_RecoveryInd rec_ind) := + ts_CBSP(CBSP_MSGT_RESTART, { + ts_CbspCellList(cell_list), + ts_CbspBcastMsgType(msg_type), + ts_CbspRecoveryInd(rec_ind) + }); +template CBSP_PDU tr_CBSP_RESTART(template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template CBSP_BcastMsgType msg_type := ?, + template CBSP_RecoveryInd rec_ind := ?) := + tr_CBSP(CBSP_MSGT_RESTART, { + tr_CbspCellList(cell_list), + tr_CbspBcastMsgType(msg_type), + tr_CbspRecoveryInd(rec_ind) + }); + +/* 8.1.3.20 FAILURE */ +template (value) CBSP_PDU ts_CBSP_FAILURE(template (value) CBSP_FailureListItems fail_list, + template (value) CBSP_BcastMsgType msg_type) := + ts_CBSP(CBSP_MSGT_FAILURE, { + ts_CbspFailList(fail_list), + ts_CbspBcastMsgType(msg_type) + }); +template CBSP_PDU tr_CBSP_FAILURE(template CBSP_FailureListItems fail_list := ?, + template CBSP_BcastMsgType msg_type := ?) := + tr_CBSP(CBSP_MSGT_FAILURE, { + tr_CbspFailList(fail_list), + tr_CbspBcastMsgType(msg_type) + }); + +/* 8.1.3.21 ERROR INDICATION */ +template (value) CBSP_PDU ts_CBSP_ERROR_IND(CBSP_Cause cause) := + ts_CBSP(CBSP_MSGT_ERROR_IND, {ts_CbspCause(cause)}); +template CBSP_PDU tr_CBSP_ERROR_IND(template CBSP_Cause cause) := + tr_CBSP(CBSP_MSGT_ERROR_IND, {tr_CbspCause(cause), *}); + + +function f_cbsp_find_ie(CBSP_PDU msg, CBSP_IEI iei, out CBSP_IE ret) return boolean { + for (var integer i := 0; i < sizeof(msg.ies); i := i+1) { + if (msg.ies[i].iei == iei) { + ret := msg.ies[i]; + return true; + } + } + return false; +} + + +} diff --git a/library/CBSP_Types.ttcn b/library/CBSP_Types.ttcn new file mode 100644 index 0000000..43a7d7d --- /dev/null +++ b/library/CBSP_Types.ttcn @@ -0,0 +1,381 @@ +module CBSP_Types { + +/* CBSP_Types, defining abstract TTCN-3 data types for the CBSP protocol. + * + * CBSP is a ETSI/3GPP standard protocol used between CBC (Cell Broadcast Centre) + * and BSC (Base Station Controller) in 2G/GSM/GERAN networks. It is specified + * in 3GPP TS 48.049. + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +import from General_Types all; +import from Osmocom_Types all; +import from BSSAP_Types all; + + +/* 8.2.2 Message Type */ +type enumerated CBSP_MessageType { + CBSP_MSGT_WRITE_REPLACE ('01'O), + CBSP_MSGT_WRITE_REPLACE_COMPL ('02'O), + CBSP_MSGT_WRITE_REPLACE_FAIL ('03'O), + CBSP_MSGT_KILL ('04'O), + CBSP_MSGT_KILL_COMPL ('05'O), + CBSP_MSGT_KILL_FAIL ('06'O), + CBSP_MSGT_LOAD_QUERY ('07'O), + CBSP_MSGT_LOAD_QUERY_COMPL ('08'O), + CBSP_MSGT_LOAD_QUERY_FAIL ('09'O), + CBSP_MSGT_MSG_STATUS_QUERY ('0a'O), + CBSP_MSGT_MSG_STATUS_QUERY_COMPL ('0b'O), + CBSP_MSGT_MSG_STATUS_QUERY_FAIL ('0c'O), + CBSP_MSGT_SET_DRX ('0d'O), + CBSP_MSGT_SET_DRX_COMPL ('0e'O), + CBSP_MSGT_SET_DRX_FAIL ('0f'O), + CBSP_MSGT_RESET ('10'O), + CBSP_MSGT_RESET_COMPL ('11'O), + CBSP_MSGT_RESET_FAIL ('12'O), + CBSP_MSGT_RESTART ('13'O), + CBSP_MSGT_FAILURE ('14'O), + CBSP_MSGT_ERROR_IND ('15'O), + CBSP_MSGT_KEEP_ALIVE ('16'O), + CBSP_MSGT_KEEP_ALIVE_COMPL ('17'O) +} with { variant "FIELDLENGTH(8)" }; + +/* 8.2.1 Information Element Identifier */ +type enumerated CBSP_IEI { + CBSP_IEI_MSG_CONTENT ('01'O), + CBSP_IEI_OLD_SERIAL_NR ('02'O), + CBSP_IEI_NEW_SERIAL_NR ('03'O), + CBSP_IEI_CELL_LIST ('04'O), + CBSP_IEI_CATEGORY ('05'O), + CBSP_IEI_REP_PERIOD ('06'O), + CBSP_IEI_NUM_BCAST_REQ ('07'O), + CBSP_IEI_NUM_BCAST_COMPL_LIST ('08'O), + CBSP_IEI_FAILURE_LIST ('09'O), + CBSP_IEI_RR_LOADING_LIST ('0a'O), + CBSP_IEI_CAUSE ('0b'O), + CBSP_IEI_DCS ('0c'O), + CBSP_IEI_RECOVERY_IND ('0d'O), + CBSP_IEI_MSG_ID ('0e'O), + CBSP_IEI_EMERG_IND ('0f'O), + CBSP_IEI_WARN_TYPE ('10'O), + CBSP_IEI_WARN_SEC_INFO ('11'O), + CBSP_IEI_CHANNEL_IND ('12'O), + CBSP_IEI_NUM_OF_PAGES ('13'O), + CBSP_IEI_SCHEDULE_PERIOD ('14'O), + CBSP_IEI_NUM_OF_RES_SLOTS ('15'O), + CBSP_IEI_BCAST_MSG_TYPE ('16'O), + CBSP_IEI_WARNING_PERIOD ('17'O), + CBSP_IEI_KEEP_ALIVE_REP_PERIOD ('18'O) +} with { variant "FIELDLENGTH(8)" }; + +/* 8.2.7 Category */ +type enumerated CBSP_Category { + CBSP_CATEG_HIGH_PRIO ('00'O), + CBSP_CATEG_BACKGROUND ('01'O), + CBSP_CATEG_NORMAL ('02'O) +} with { variant "FIELDLENGTH(8)" }; + +/* Cell ID Discriminator (8.2.11, ...) */ +type enumerated CBSP_CellIdDisc { + CBSP_CIDD_WHOLE_CGI (0), + CBSP_CIDD_LAC_CI (1), + CBSP_CIDD_CI (2), + CBSP_CIDD_LAI (4), + CBSP_CIDD_LAC (5), + CBSP_CIDD_ALL_IN_BSC (6) +} with { variant "FIELDLENGTH(4)" }; + +/* 8.2.13 Cause */ +type enumerated CBSP_Cause { + CBSP_CAUSE_PARAM_NOT_RECOGNISED ('00'O), + CBSP_CAUSE_PARAM_VAL_INVALID ('01'O), + CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED ('02'O), + CBSP_CAUSE_CELL_ID_NOT_VALID ('03'O), + CBSP_CAUSE_UNRECOGNISED_MSG ('04'O), + CBSP_CAUSE_MISSING_MAND_IE ('05'O), + CBSP_CAUSE_BSC_CAPACITY_EXCEEDED ('06'O), + CBSP_CAUSE_CELL_MEMORY_EXCEEDED ('07'O), + CBSP_CAUSE_BSC_MEMORY_EXCEEDED ('08'O), + CBSP_CAUSE_CB_NOT_SUPPORTED ('09'O), + CBSP_CAUSE_CB_NOT_OPERATIONAL ('0a'O), + CBSP_CAUSE_INCOMPATIBLE_DRX_PARAM ('0b'O), + CBSP_CAUSE_EXT_CHAN_NOT_SUPPORTED ('0c'O), + CBSP_CAUSE_MSG_REF_ALREADY_USED ('0d'O), + CBSP_CAUSE_UNSPECIFIED_ERROR ('0e'O), + CBSP_CAUSE_LAI_OR_LAC_NPT_VALID ('0f'O) +} with { variant "FIELDLENGTH(8)" }; + +type record CBSP_IE_MessageContent { + uint8_t user_len, + octetstring val +} with { variant (val) "FIELDLENGTH(82)" }; + +/* 8.2.6 Cell List */ +type record CBSP_IE_CellList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + BSSMAP_FIELD_CellIdentificationList cell_id +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,cell_id)" + variant (cell_id) "CROSSTAG( + cIl_CGI, cell_id_discr = '0000'B; + cIl_LAC_CI, cell_id_discr = '0001'B; + cIl_CI, cell_id_discr = '0010'B; + cIl_LAI, cell_id_discr = '0100'B; + cIl_LAC, cell_id_discr = '0101'B; + cIl_allInBSS, cell_id_discr = '0110'B; + )" +}; + +/* 8.2.10 Number of Broadcasts Completed List */ +type record CBSP_IE_NumBcastComplList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_NumBcastCompl list +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,list)" + variant (list) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_NumBcastCompl { + CBSP_FIELD_NumBcastCompl_CGI cI_CGI, + CBSP_FIELD_NumBcastCompl_LAC_CI cI_LAC_CI, + OCT0 cI_allInBSS, + CBSP_FIELD_NumBcastCompl_CI cI_CI, + CBSP_FIELD_NumBcastCompl_LAC cI_LAC, + CBSP_FIELD_NumBcastCompl_LAI cI_LAI +}; +type record CBSP_FIELD_NumBcastCompl_CGI { + BSSMAP_FIELD_CellIdentification_CGI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAC_CI { + BSSMAP_FIELD_CellIdentification_LAC_CI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAI { + BSSMAP_FIELD_CellIdentification_LAI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_CI { + OCT2 ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAC { + OCT2 lac, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type enumerated CBSP_NumBcastInfo { + CBSP_NUM_BCAST_INFO_VALID (0), + CBSP_NUM_BCAST_INFO_OVERFLOW (1), + CBSP_NUM_BCAST_INFO_UNKNOWN (2) +} with { variant "FIELDLENGTH(4)" }; + + +/* 8.2.11 Failure List */ +type record CBSP_FailureListItem { + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_CellIdentification cell_id, + CBSP_Cause cause +} with { + variant (cell_id) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_CellIdentification +{ + BSSMAP_FIELD_CellIdentification_CGI cI_CGI, + BSSMAP_FIELD_CellIdentification_LAC_CI cI_LAC_CI, + OCT2 cI_CI, + BSSMAP_FIELD_CellIdentification_LAI cI_LAI, + OCT2 cI_LAC, + OCT2 cI_allInBSS +}; + +type record of CBSP_FailureListItem CBSP_FailureListItems; +type record CBSP_IE_FailureList { + uint16_t len, + CBSP_FailureListItems list +} with { + variant (len) "LENGTHTO(list)" +}; + +/* 8.2.12 RR Loading List */ +type record CBSP_IE_RrLoadingList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_RrLoadingList list +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,list)" + variant (list) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_RrLoadingList { + CBSP_FIELD_RrLoadingList_CGI cI_CGI, + CBSP_FIELD_RrLoadingList_LAC_CI cI_LAC_CI, + OCT0 cI_allInBSS, + CBSP_FIELD_RrLoadingList_CI cI_CI, + CBSP_FIELD_RrLoadingList_LAC cI_LAC, + CBSP_FIELD_RrLoadingList_LAI cI_LAI +}; +type record CBSP_FIELD_RrLoadingList_CGI { + BSSMAP_FIELD_CellIdentification_CGI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAC_CI { + BSSMAP_FIELD_CellIdentification_LAC_CI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAI { + BSSMAP_FIELD_CellIdentification_LAI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_CI { + OCT2 ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAC { + OCT2 lac, + uint8_t load1, + uint8_t load2 +}; + +/* 8.2.15 Recovery Indication */ +type record CBSP_IE_RecoveryInd { + BIT4 spare1_4, + CBSP_RecoveryInd recovery +}; +type enumerated CBSP_RecoveryInd { + CBSP_RI_DATA_AVAILABLE (0), + CBSP_RI_DATA_LOST (1) +} with { variant "FIELDLENGTH(4)" }; + +/* 8.2.24 Broadcast Message Type */ +type record CBSP_IE_BcastMsgType { + BIT4 spare1_4, + CBSP_BcastMsgType msg_type +}; +type enumerated CBSP_BcastMsgType { + CBSP_BC_MSGT_CBS (0), + CBSP_BC_MSGT_EMERG (1) +} with { variant "FIELDLENGTH(4)" }; + + +type union CBSP_IE_Body { + CBSP_IE_MessageContent msg_content, + uint16_t old_ser_nr, + uint16_t new_ser_nr, + CBSP_IE_CellList cell_list, + CBSP_Category category, + uint16_t rep_period, + uint16_t num_bcast_req, + CBSP_IE_NumBcastComplList num_bcast_compl_list, + CBSP_IE_FailureList failure_list, + CBSP_IE_RrLoadingList rr_loading_list, + CBSP_Cause cause, + uint8_t dcs, + CBSP_IE_RecoveryInd recovery_ind, + uint16_t msg_id, + uint8_t emerg_ind, + uint16_t warn_type, + octetstring warn_sec_info, + uint8_t channel_ind, + uint8_t num_of_pages, + uint8_t schedule_period, + uint8_t num_of_res_slots, + CBSP_IE_BcastMsgType bcast_msg_type, + uint8_t warning_period, + uint8_t keep_alive_rep_period +} with { + variant (warn_sec_info) "FIELDLENGTH(50)" +}; + +type record CBSP_IE { + CBSP_IEI iei, + CBSP_IE_Body body +} with { + variant (body) "CROSSTAG( msg_content, iei = CBSP_IEI_MSG_CONTENT; + old_ser_nr, iei = CBSP_IEI_OLD_SERIAL_NR; + new_ser_nr, iei = CBSP_IEI_NEW_SERIAL_NR; + cell_list, iei = CBSP_IEI_CELL_LIST; + category, iei = CBSP_IEI_CATEGORY; + rep_period, iei = CBSP_IEI_REP_PERIOD; + num_bcast_req, iei = CBSP_IEI_NUM_BCAST_REQ; + num_bcast_compl_list, iei = CBSP_IEI_NUM_BCAST_COMPL_LIST; + failure_list, iei = CBSP_IEI_FAILURE_LIST; + rr_loading_list, iei = CBSP_IEI_RR_LOADING_LIST; + cause, iei = CBSP_IEI_CAUSE; + dcs, iei = CBSP_IEI_DCS; + recovery_ind, iei = CBSP_IEI_RECOVERY_IND; + msg_id, iei = CBSP_IEI_MSG_ID; + emerg_ind, iei = CBSP_IEI_EMERG_IND; + warn_type, iei = CBSP_IEI_WARN_TYPE; + warn_sec_info, iei = CBSP_IEI_WARN_SEC_INFO; + channel_ind, iei = CBSP_IEI_CHANNEL_IND; + num_of_pages, iei = CBSP_IEI_NUM_OF_PAGES; + schedule_period, iei = CBSP_IEI_SCHEDULE_PERIOD; + num_of_res_slots, iei = CBSP_IEI_NUM_OF_RES_SLOTS; + bcast_msg_type, iei = CBSP_IEI_BCAST_MSG_TYPE; + warning_period, iei = CBSP_IEI_WARNING_PERIOD; + keep_alive_rep_period, iei = CBSP_IEI_KEEP_ALIVE_REP_PERIOD + )" +}; + +type set of CBSP_IE CBSP_IEs; + +type record CBSP_PDU { + CBSP_MessageType msg_type, + uint24_t len, + CBSP_IEs ies +} with { + variant (len) "LENGTHTO(ies)" +}; + +external function enc_CBSP_PDU(in CBSP_PDU msg) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + +external function dec_CBSP_PDU(in octetstring msg) return CBSP_PDU + with { extension "prototype(convert) decode(RAW)" }; + + +} with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c Gerrit-Change-Number: 15374 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:33:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:33:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP_CodecPort + CBSP_Adapter Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 Change subject: Add CBSP_CodecPort + CBSP_Adapter ...................................................................... Add CBSP_CodecPort + CBSP_Adapter Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 --- A library/CBSP_Adapter.ttcn A library/CBSP_CodecPort.ttcn A library/CBSP_CodecPort_CtrlFunct.ttcn A library/CBSP_CodecPort_CtrlFunctdef.cc 4 files changed, 259 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/15375/1 diff --git a/library/CBSP_Adapter.ttcn b/library/CBSP_Adapter.ttcn new file mode 100644 index 0000000..8dbee6a --- /dev/null +++ b/library/CBSP_Adapter.ttcn @@ -0,0 +1,77 @@ +module CBSP_Adapter { + +/* CBSP Adapter layer, sitting on top of CBSP_CodecPort. + * test suites can 'inherit' in order to have a CBSP connection to the IUT which they're testing + * + * (C) 2018-2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from Osmocom_Types all; +import from General_Types all; +import from CBSP_Types all; +import from CBSP_Templates all; +import from CBSP_CodecPort all; +import from CBSP_CodecPort_CtrlFunct all; +import from IPL4asp_Types all; +import from IPL4asp_PortType all; +import from Socket_API_Definitions all; + +const integer NUM_CBSP := 3; + +type component CBSP_Adapter_CT { + /* down-facing port to CBSP Codec port */ + port CBSP_CODEC_PT CBSP[NUM_CBSP]; + var IPL4asp_Types.ConnectionId g_cbsp_conn_id[NUM_CBSP] := { -1, -1, -1 }; +} + +private function f_set_tcp_segmentation(integer idx) runs on CBSP_Adapter_CT { + /* Set function for dissecting the binary stream into packets */ + var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen); + /* Offset: 1, size of length: 3, delta: 4, multiplier: 1, big-endian */ + CBSP_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(CBSP[idx], g_cbsp_conn_id[idx], vl_f, {1, 3, 4, 1, 0}); +} + +function f_connect(charstring remote_host, IPL4asp_Types.PortNumber remote_port, + charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on CBSP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:CBSP[idx], system:CBSP); + res := CBSP_CodecPort_CtrlFunct.f_IPL4_connect(CBSP[idx], remote_host, remote_port, + local_host, local_port, 0, { tcp :={} }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect to CBSP port, check your configuration"); + mtc.stop; + } + g_cbsp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +/* Function to use to bind to a local port as IPA server, accepting remote clients */ +function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on CBSP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:CBSP[idx], system:CBSP); + res := CBSP_CodecPort_CtrlFunct.f_IPL4_listen(CBSP[idx], local_host, local_port, { tcp:={} }); + g_cbsp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +function f_cbsp_send(template (value) CBSP_PDU pdu, integer idx := 0) runs on CBSP_Adapter_CT { + CBSP[idx].send(ts_CBSP_Send(g_cbsp_conn_id[idx], pdu)); +} + +function f_cbsp_exp(template CBSP_PDU exp, integer idx := 0) runs on CBSP_Adapter_CT return CBSP_PDU { + var CBSP_RecvFrom rf; + CBSP[idx].receive(tr_CBSP_Recv(g_cbsp_conn_id[idx], exp)) -> value rf; + return rf.msg; +} + + +} diff --git a/library/CBSP_CodecPort.ttcn b/library/CBSP_CodecPort.ttcn new file mode 100644 index 0000000..442b3e4 --- /dev/null +++ b/library/CBSP_CodecPort.ttcn @@ -0,0 +1,64 @@ +module CBSP_CodecPort { + +/* Simple CBSP Codec Port, translating between raw TCP octetstring payload + * towards the IPL4asp port provider, and CBSP primitives + * which carry the decoded CBSP data types as payload. + * + * (C) 2018 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from IPL4asp_PortType all; +import from IPL4asp_Types all; +import from CBSP_Types all; + +type record CBSP_RecvFrom { + ConnectionId connId, + CBSP_PDU msg +} + +type record CBSP_Send { + ConnectionId connId, + CBSP_PDU msg +} + +template (value) CBSP_Send ts_CBSP_Send(ConnectionId conn_id, template (value) CBSP_PDU msg) := { + connId := conn_id, + msg := msg +} + +template CBSP_RecvFrom tr_CBSP_Recv(template ConnectionId conn_id, template CBSP_PDU msg) := { + connId := conn_id, + msg := msg +} + +private function IPL4_to_CBSP_RecvFrom(in ASP_RecvFrom pin, out CBSP_RecvFrom pout) { + pout.connId := pin.connId; + pout.msg := dec_CBSP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +private function CBSP_to_IPL4_Send(in CBSP_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { tcp := {} }; + pout.msg := enc_CBSP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +type port CBSP_CODEC_PT message { + out CBSP_Send; + in CBSP_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(CBSP_Send -> ASP_Send: function(CBSP_to_IPL4_Send)) + in(ASP_RecvFrom -> CBSP_RecvFrom: function(IPL4_to_CBSP_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + + + +} diff --git a/library/CBSP_CodecPort_CtrlFunct.ttcn b/library/CBSP_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..9a5d44b --- /dev/null +++ b/library/CBSP_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,52 @@ +module CBSP_CodecPort_CtrlFunct { + + import from CBSP_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout CBSP_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout CBSP_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + + external function f_IPL4_setGetMsgLen( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + inout f_IPL4_getMsgLen f, + in ro_integer msgLenArgs + ); + + +} + diff --git a/library/CBSP_CodecPort_CtrlFunctdef.cc b/library/CBSP_CodecPort_CtrlFunctdef.cc new file mode 100644 index 0000000..6d5e96b --- /dev/null +++ b/library/CBSP_CodecPort_CtrlFunctdef.cc @@ -0,0 +1,66 @@ +#include "IPL4asp_PortType.hh" +#include "CBSP_CodecPort.hh" +#include "IPL4asp_PT.hh" + +namespace CBSP__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + + void f__IPL4__setGetMsgLen( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + Socket__API__Definitions::f__getMsgLen& f, + const Socket__API__Definitions::ro__integer& msgLenArgs) + { + return f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs); + } + + +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 Gerrit-Change-Number: 15375 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:33:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:33:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: First CBSP related tests Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 Change subject: bsc: First CBSP related tests ...................................................................... bsc: First CBSP related tests Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 --- A bsc/BSC_Tests_CBSP.ttcn M bsc/gen_links.sh M bsc/regen_makefile.sh M library/CBSP_Templates.ttcn M library/CBSP_Types.ttcn M library/RSL_Types.ttcn 6 files changed, 549 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15376/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn new file mode 100644 index 0000000..d128761 --- /dev/null +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -0,0 +1,504 @@ +module BSC_Tests_CBSP { + +/* CBSP Integration Tests for OsmoBSC + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests OsmoBSC while emulating the CBC (Cell Broadcast Centre) + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from IPL4asp_Types all; +import from BSSAP_Types all; +import from BSSMAP_Templates all; + +import from BSC_Tests all; + +import from IPA_Emulation all; +import from IPA_CodecPort all; +import from IPA_Types all; + +import from RSL_Types all; +import from RSL_Emulation all; + +import from CBSP_Types all; +import from CBSP_Templates all; +import from CBSP_Adapter all; +import from CBSP_CodecPort all; + +modulepar { + charstring mp_cbc_ip := "0.0.0.0"; + integer mp_cbc_port := 48049; + integer mp_bsc_cbsp_port := 48050; + + /* BTS 0: 262-42-1-0 with CBCH + * BTS 1: 262-42-1-1 with CBCH + * BTS 2: 262-42-2-1 with CBCH + * BTS 3: 262-42-2-3 without CBCH */ + GsmCgiAbstract mp_cgi_bts0 := { '262'H, '42'H, 1, 0 }; + GsmCgiAbstract mp_cgi_bts1 := { '262'H, '42'H, 1, 1 }; + GsmCgiAbstract mp_cgi_bts2 := { '262'H, '42'H, 2, 1 }; + GsmCgiAbstract mp_cgi_bts3 := { '262'H, '42'H, 2, 3 }; +} + +private type record GsmCgiAbstract { + GsmMcc mcc, + GsmMnc mnc, + GsmLac lac, + GsmCellId ci +}; +private template (value) BSSMAP_FIELD_CellIdentification_CGI bssmap_cgi(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_CGI(cgi.mcc, cgi.mnc, cgi.lac, cgi.ci); +private template (value) BSSMAP_FIELD_CellIdentification_LAC_CI bssmap_lac_ci(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_LAC_CI(cgi.lac, cgi.ci); +private template (value) BSSMAP_FIELD_CellIdentification_LAI bssmap_lai(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_LAI(cgi.mcc, cgi.mnc, cgi.lac); +private template (value) OCT2 bssmap_lac(GsmCgiAbstract cgi) := ts_BSSMAP_CI_LAC(cgi.lac); +private template (value) OCT2 bssmap_ci(GsmCgiAbstract cgi) := ts_BSSMAP_CI_CI(cgi.ci); + +type component cbsp_test_CT extends test_CT, CBSP_Adapter_CT { +} + +private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { +[] IPA_RSL[0].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[1].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[2].receive(tr_RSL_UD(tr)) { repeat; } +} + +private altstep as_FailRSL() runs on cbsp_test_CT { +var template RSL_Message tr := (tr_RSL_SMSCB_CMD); +var ASP_RSL_Unitdata rx; +[] IPA_RSL[0].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +[] IPA_RSL[1].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +[] IPA_RSL[2].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +} + +private function f_init() runs on cbsp_test_CT { + BSC_Tests.f_init(); + activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, + tr_RSL_NO_BCCH_INFO, tr_RSL_NO_SACCH_FILL, + tr_RSL_MsgTypeD(?)))); + activate(as_FailRSL()); +} +private function f_cbsp_init_client() runs on cbsp_test_CT { + f_init(); + CBSP_Adapter.f_connect(mp_bsc_ip, mp_bsc_cbsp_port, "", -1); + f_cbsp_init_tail(); +} + +private function f_cbsp_init_server() runs on cbsp_test_CT { + var ASP_Event asp_evt; + timer T := 10.0; + + f_init(); + CBSP_Adapter.f_bind(mp_cbc_ip, mp_cbc_port); + + T.start; + alt { + [] CBSP[0].receive(ASP_Event:{connOpened:=?}) -> value asp_evt { + g_cbsp_conn_id[0] := asp_evt.connOpened.connId; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for incoming connection to CBSP Port"); + } + } + f_cbsp_init_tail(); +} +private function f_cbsp_init_tail() runs on cbsp_test_CT { + interleave { + [] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_CBS, CBSP_RI_DATA_LOST))); + //[] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_EMERG, CBSP_RI_DATA_LOST))); + } +} + +function f_gen_page() return CBSP_IE { + var integer len := f_rnd_int(82); + var octetstring payload := f_rnd_octstring(len); + return valueof(ts_CbspMsgContent(payload, len)); +} + +function f_cbsp_reset_bss(integer idx) runs on CBSP_Adapter_CT { + var template (value) CBSP_PDU tx; + timer T := 3.0; + tx := ts_CBSP_RESET(cell_list := ts_BSSMAP_CIL_BSS); + CBSP[idx].clear; + CBSP[idx].send(ts_CBSP_Send(g_cbsp_conn_id[idx], tx)); + T.start; + alt { + [] CBSP[idx].receive(tr_CBSP_Recv(?, tr_CBSP_RESET_COMPL(cell_list := ts_BSSMAP_CIL_BSS))); + [] CBSP[idx].receive { + setverdict(fail, "received unexpected CBSP"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "timeout waiting for RESET COMPLETE"); + mtc.stop; + } + } +} + +/* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_write(uint16_t msg_id, uint16_t ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) CBSP_Category category := CBSP_CATEG_NORMAL, + uint16_t rep_period := 10, uint16_t num_bcast_req := 1, + uint8_t dcs := 0, uint8_t channel_ind := 0, CBSP_IEs content, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_WRITE_CBS(msg_id, ser_no, cell_list, channel_ind, category, + rep_period, num_bcast_req, dcs, content); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_WRITE_CBS_COMPL(msg_id, ser_no, success_list, channel_ind); + } else { + rx := tr_CBSP_WRITE_CBS_FAIL(msg_id, ser_no, fail_list, *, success_list, channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +/* send a REPLACE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_replace(uint16_t msg_id, uint16_t new_ser_no, uint16_t old_ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) CBSP_Category category := CBSP_CATEG_NORMAL, + uint16_t rep_period := 10, uint16_t num_bcast_req := 1, + uint8_t dcs := 0, uint8_t channel_ind := 0, CBSP_IEs content, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_REPLACE_CBS(msg_id, new_ser_no, old_ser_no, cell_list, channel_ind, category, + rep_period, num_bcast_req, dcs, content); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_REPLACE_CBS_COMPL(msg_id, new_ser_no, old_ser_no, ?, success_list, + channel_ind); + } else { + rx := tr_CBSP_REPLACE_CBS_FAIL(msg_id, new_ser_no, old_ser_no, fail_list, *, success_list, + channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} +/* send a KILL CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_kill(uint16_t msg_id, uint16_t ser_no, template (omit) uint8_t channel_ind := 0, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT +{ + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + + tx := ts_CBSP_KILL(msg_id, ser_no, cell_list, channel_ind); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=*, cell_list:=success_list, + channel_ind:=channel_ind); + } else { + rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=*, cell_list:=success_list, + channel_ind:=channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +private template (present) ASP_RSL_Unitdata tr_RSL_UD(template (present) RSL_Message rsl) := { + streamId := ?, + rsl := rsl +} + +template (present) RSL_IE_CbCommandType +tr_RslCbCmdType(template (present) uint2_t lblock := ?, template (present) RSL_CbCommand cmd := ?) := { + command := cmd, + default_bcast_null := ?, + spare := ?, + last_block := lblock +} + +/* build a RSL_Message receive template from a CBSP page */ +private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false) +return template (present) RSL_Message +{ + var template RSL_Message tr; + var integer lblock := page.body.msg_content.user_len / 22; + var octetstring payload; + if (page.body.msg_content.user_len mod 22 > 0) { + lblock := lblock + 1; + } + payload := int2oct(ser_no, 2) & int2oct(msg_id, 2) & '0011'O & page.body.msg_content.val; + tr := tr_RSL_SMSCB_CMD(tr_RslCbCmdType(lblock), f_pad_oct(payload, 88, '00'O)); + if (ext_cbch) { + tr.ies[3] := tr_RSL_IE(RSL_IE_Body:{smscb_chan_ind := 1}); + tr.ies[4] := *; + } + return tr; +} + +/*********************************************************************** + * Test Cases + ***********************************************************************/ + +/* Test if BSC (server) accepts connections from CBC (client) */ +testcase TC_cbsp_bsc_server() runs on cbsp_test_CT { + f_cbsp_init_client(); + setverdict(pass); +} + +/* Test if BSC (client) is connecting to CBC (server) */ +testcase TC_cbsp_bsc_client() runs on cbsp_test_CT { + f_cbsp_init_server(); + setverdict(pass); +} + +/* Test if a BSS-global RESET is executed successfully */ +testcase TC_cbsp_reset_bss() runs on cbsp_test_CT { + f_cbsp_init_server(); + + f_cbsp_reset_bss(0); + setverdict(pass); +} + +testcase TC_cbsp_write() runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var CBSP_IEs pages := {f_gen_page()}; + f_cbsp_init_server(); + + tx := ts_CBSP_WRITE_CBS(msg_id:=23, new_ser_nr:=42, cell_list:=ts_BSSMAP_CIL_BSS, + channel_ind:=0, category:=CBSP_CATEG_NORMAL, + rep_period:=10, num_bcast_req:=1, dcs := 0, + content:=pages); + + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + f_sleep(10.0); +} + +/* Write to entire BSS; three cells succeed; one fails (no CBCH) */ +testcase TC_cbsp_write_bss() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_BSS; + f_cbsp_init_server(); + f_cbsp_write(1, 1001, cell_list, content:=pages, + success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); + + var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + interleave { + [] IPA_RSL[0].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[1].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[2].receive(tr_RSL_UD(tr)) {} + } +} + +/* Write to single BTS supporting CBCH: success */ +testcase TC_cbsp_write_bts_cgi() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(2, 1002, cell_list, content:=pages, + success_list:=cell_list, fail_list:=omit); + var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + IPA_RSL[0].receive(tr_RSL_UD(tr)); + f_sleep(5.0); +} + +/* Write to single BTS not supporting CBCH: failure */ +testcase TC_cbsp_write_bts_no_cbch() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts3)}); + f_cbsp_init_server(); + f_cbsp_write(3, 1003, cell_list, content:=pages, + success_list:=omit, fail_list:={?}); + f_sleep(5.0); +} + +/* Write to single non-existant BTS */ +testcase TC_cbsp_write_unknown_bts() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({ts_BSSMAP_CI_CGI(mp_cgi_bts0.mcc, mp_cgi_bts1.mnc, 22222, 33333)}); + f_cbsp_init_server(); + f_cbsp_write(4, 1004, cell_list, content:=pages, + success_list:=omit, fail_list:={?}); + f_sleep(5.0); +} + +/* Write to single BTS using LAC+CI */ +testcase TC_cbsp_write_lac_ci() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(5, 1005, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + f_sleep(5.0); +} + +/* Write to single BTS using CI */ +testcase TC_cbsp_write_ci() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CI({bssmap_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(6, 1006, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + f_sleep(5.0); +} + +/* Write to single BTS using LAI */ +testcase TC_cbsp_write_lai() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(7, 1007, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + f_sleep(5.0); +} + +/* Write to two BTS using LAC */ +testcase TC_cbsp_write_lac() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC({bssmap_lac(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(8, 1008, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); + interleave { + [] IPA_RSL[0].receive(tr_RSL_UD(tr)); + [] IPA_RSL[1].receive(tr_RSL_UD(tr)); + } + f_sleep(5.0); +} + +/* Write a message, then replace it */ +testcase TC_cbsp_write_then_replace() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(9, 1009, cell_list, num_bcast_req:=10, content:=pages, + success_list:=?, fail_list:=omit); + f_cbsp_replace(9, 2009, 1009, cell_list, content:=pages, + success_list:=?, fail_list:=omit); +} + +/* Replace a message that doesn't exist: failure */ +testcase TC_cbsp_replace_nonexist() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_replace(10, 2010, 1010, cell_list, content:=pages, + success_list:=omit, fail_list:=?); +} + +/* Write more messages than can be scheduled */ +testcase TC_cbsp_write_too_many() runs on cbsp_test_CT { + /* repeating three pages at an interval of 1 is impossible */ + var CBSP_IEs pages := {f_gen_page(), f_gen_page(), f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(11, 1011, cell_list, rep_period:=1, content:=pages, + success_list:=omit, fail_list:=?); +} + +/* Kill message that doesn't exist: failure */ +testcase TC_cbsp_kill_nonexist() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_kill(12, 1012, 0, cell_list, success_list:=omit, fail_list:=?); +} +/* Write a message, then kill it */ +testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(13, 1013, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_kill(13, 1013, 0, cell_list, success_list:=?, fail_list:=omit); +} + +/* Write a message, then reset all messages */ +testcase TC_cbsp_write_then_reset() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(14, 1014, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_reset_bss(0); +} + +control { + execute( TC_cbsp_bsc_server() ); + execute( TC_cbsp_bsc_client() ); + execute( TC_cbsp_reset_bss() ); + + /* test various different types of Cell Identities */ + execute( TC_cbsp_write_bss() ); + execute( TC_cbsp_write_bts_cgi() ); + execute( TC_cbsp_write_bts_no_cbch() ); + execute( TC_cbsp_write_unknown_bts() ); + execute( TC_cbsp_write_lac_ci() ); + execute( TC_cbsp_write_ci() ); + execute( TC_cbsp_write_lai() ); + execute( TC_cbsp_write_lac() ); + + execute( TC_cbsp_write_then_replace() ); + execute( TC_cbsp_replace_nonexist() ); + execute( TC_cbsp_write_too_many() ); + execute( TC_cbsp_kill_nonexist() ); + execute( TC_cbsp_write_then_kill() ); + execute( TC_cbsp_write_then_reset() ); +} + + +} diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index c71b31a..99c4cf5 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -67,7 +67,9 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " +FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " +FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index 389aaed..def4a3f 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -2,7 +2,7 @@ MAIN=BSC_Tests.ttcn -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc *.c" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 3c60f14..5e53dd9 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -130,7 +130,7 @@ }}); template CBSP_IE tr_CbspFailList(template CBSP_FailureListItems items := ?) := tr_CBSP_IE({failure_list := { - len := 0, + len := ?, list := items }}); diff --git a/library/CBSP_Types.ttcn b/library/CBSP_Types.ttcn index 43a7d7d..c4c6cf2 100644 --- a/library/CBSP_Types.ttcn +++ b/library/CBSP_Types.ttcn @@ -113,7 +113,8 @@ type record CBSP_IE_MessageContent { uint8_t user_len, octetstring val -} with { variant (val) "FIELDLENGTH(82)" }; +} with { variant (val) "FIELDLENGTH(82)" + variant (val) "ALIGN(left)" }; /* 8.2.6 Cell List */ type record CBSP_IE_CellList { diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 87de9a4..c1b89b3 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1547,6 +1547,25 @@ t_RSL_IE(RSL_IE_FULL_BCCH_INFO, RSL_IE_Body:{other := ts_RSL_LV(full_bcch_info)}) } } + template RSL_Message tr_RSL_NO_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_BCCH_INFO, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}), + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}) + } + } + template RSL_Message tr_RSL_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?, + template octetstring full_bcch_info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_BCCH_INFO, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}), + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}), + tr_RSL_IE(RSL_IE_Body:{other := tr_RSL_LV(full_bcch_info)}), + * + } + } /* 8.5.2 BTS -> BSC */ template (value) RSL_Message ts_RSL_RACH_LOAD_IND(uint16_t slot_ct, uint16_t busy_ct, @@ -1560,7 +1579,7 @@ } template RSL_Message tr_RSL_RACH_LOAD_IND(template uint16_t slot_ct := ?, template uint16_t busy_ct := ?, - template uint16_t acc_ct) := { + template uint16_t acc_ct := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_CCCH_LOAD_IND, ies := { @@ -1759,6 +1778,24 @@ t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)}) } } + template RSL_Message tr_RSL_NO_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_SACCH_FILL, + ies := { + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}) + } + } + template RSL_Message tr_RSL_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?, + template octetstring l3_info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_SACCH_FILL, + ies := { + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}), + tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)}), + * + } + } + /* 8.6.4 BTS -> BSC */ template (value) RSL_Message ts_RSL_ERROR_REPORT(RSL_Cause cause) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:33:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:33:53 +0000 Subject: Change in ...libosmocore[master]: cbsp: Fix decoding of WRITE-REPLACE payload In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15372 ) Change subject: cbsp: Fix decoding of WRITE-REPLACE payload ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I864cafac2466a89a4bd9644bc73363fff2babd03 Gerrit-Change-Number: 15372 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 01 Sep 2019 21:33:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 1 21:33:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 1 Sep 2019 21:33:54 +0000 Subject: Change in ...libosmocore[master]: cbsp: Fix decoding of WRITE-REPLACE payload In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15372 ) Change subject: cbsp: Fix decoding of WRITE-REPLACE payload ...................................................................... cbsp: Fix decoding of WRITE-REPLACE payload The user length is the first IE *in* the fixed-length TV, make sure cbsp_dec_write_repl() respects that. Change-Id: I864cafac2466a89a4bd9644bc73363fff2babd03 --- M src/gsm/cbsp.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index 591ff25..ccc2df5 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -687,8 +687,8 @@ } page = talloc_zero(ctx, struct osmo_cbsp_content); OSMO_ASSERT(page); - page->user_len = *(ie-1); /* length byte before payload */ - memcpy(page->data, ie, sizeof(page->data)); + page->user_len = ie[0]; /* length byte before payload */ + memcpy(page->data, ie+1, sizeof(page->data)); llist_add_tail(&page->list, &out->u.cbs.msg_content); } } else { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I864cafac2466a89a4bd9644bc73363fff2babd03 Gerrit-Change-Number: 15372 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Sep 2 01:45:26 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 01:45:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6c7444a6771_6aec2acc1e0e65f46132b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 393s] ar: `u' modifier ignored since `D' is the default (see `U') [ 393s] libtool: link: ranlib .libs/libtransceiver_common.a [ 393s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 393s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 394s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 394s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 394s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 394s] collect2: error: ld returned 1 exit status [ 394s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 394s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 394s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 394s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 394s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 394s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 394s] make[1]: *** [Makefile:444: all] Error 2 [ 394s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 394s] dh_auto_build: make -j1 returned exit code 2 [ 394s] make: *** [debian/rules:6: build] Error 255 [ 394s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 394s] [ 394s] morla5 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 01:45:09 UTC 2019. [ 394s] [ 394s] ### VM INTERACTION START ### [ 397s] [ 377.857493] sysrq: SysRq : Power Off [ 397s] [ 377.864417] reboot: Power down [ 397s] ### VM INTERACTION END ### [ 397s] [ 397s] morla5 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 01:45:12 UTC 2019. [ 397s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 2 01:45:43 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 01:45:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6c7463899b7_6aec2acc1e0e65f46133e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 415s] ar: `u' modifier ignored since `D' is the default (see `U') [ 415s] libtool: link: ranlib .libs/libtransceiver_common.a [ 415s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 415s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 416s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 416s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 416s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 416s] collect2: error: ld returned 1 exit status [ 416s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 416s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 416s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 416s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 416s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 416s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 416s] make[1]: *** [Makefile:444: all] Error 2 [ 416s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 416s] dh_auto_build: make -j1 returned exit code 2 [ 416s] make: *** [debian/rules:6: build] Error 255 [ 416s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 416s] [ 416s] lamb25 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 01:45:30 UTC 2019. [ 416s] [ 416s] ### VM INTERACTION START ### [ 419s] [ 401.461831] sysrq: SysRq : Power Off [ 419s] [ 401.470040] reboot: Power down [ 419s] ### VM INTERACTION END ### [ 419s] [ 419s] lamb25 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 01:45:33 UTC 2019. [ 419s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 2 03:17:09 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 03:17:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6c89b749821_6aec2acc1e0e65f461411f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 292s] asciidoc: gsup.adoc: line 1459: evaluating: {counter2:target-number} [ 292s] asciidoc: gsup.adoc: line 1459: evaluating: {set2:target:test-usermanual__52.png} [ 292s] asciidoc: gsup.adoc: line 1474: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__52.png" -Tpng - && echo " " [ 292s] asciidoc: gsup.adoc: line 1542: evaluating: {counter2:target-number} [ 292s] asciidoc: gsup.adoc: line 1542: evaluating: {set2:target:test-usermanual__53.png} [ 292s] asciidoc: gsup.adoc: line 1551: filtering: "/usr/bin/python2" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -Tpng - [ 292s] asciidoc: gsup.adoc: line 1574: evaluating: {counter2:target-number} [ 292s] asciidoc: gsup.adoc: line 1574: evaluating: {set2:target:test-usermanual__54.png} [ 292s] asciidoc: gsup.adoc: line 1584: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - && echo " " [ 292s] [ 292s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 292s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 292s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 292s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 292s] make[1]: *** [Makefile:362: all] Error 2 [ 292s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 292s] dh_auto_build: make -j1 returned exit code 2 [ 292s] make: *** [debian/rules:5: binary] Error 255 [ 292s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 292s] [ 292s] lamb57 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Mon Sep 2 03:17:03 UTC 2019. [ 292s] [ 292s] ### VM INTERACTION START ### [ 295s] [ 279.134492] sysrq: SysRq : Power Off [ 295s] [ 279.141757] reboot: Power down [ 295s] ### VM INTERACTION END ### [ 295s] [ 295s] lamb57 failed "build osmo-gsm-manuals-dev_0.2.0.dsc" at Mon Sep 2 03:17:07 UTC 2019. [ 295s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 2 03:23:26 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 03:23:26 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6c8b3ad6c25_6aec2acc1e0e65f46152ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 303s] ar: `u' modifier ignored since `D' is the default (see `U') [ 303s] libtool: link: ranlib .libs/libtransceiver_common.a [ 303s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 303s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 304s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 304s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 304s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 304s] collect2: error: ld returned 1 exit status [ 304s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 304s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 304s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 304s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 304s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 304s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 304s] make[1]: *** [Makefile:444: all] Error 2 [ 304s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 304s] dh_auto_build: make -j1 returned exit code 2 [ 304s] make: *** [debian/rules:6: build] Error 255 [ 304s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 304s] [ 304s] sheep81 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 2 03:23:06 UTC 2019. [ 304s] [ 304s] ### VM INTERACTION START ### [ 307s] [ 294.878942] sysrq: SysRq : Power Off [ 307s] [ 294.885049] reboot: Power down [ 307s] ### VM INTERACTION END ### [ 307s] [ 307s] sheep81 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 2 03:23:10 UTC 2019. [ 307s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 2 03:26:51 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 03:26:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6c8c0d9d492_6aec2acc1e0e65f461564e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 397s] ar: `u' modifier ignored since `D' is the default (see `U') [ 397s] libtool: link: ranlib .libs/libtransceiver_common.a [ 397s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 397s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 397s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 398s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 398s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 398s] collect2: error: ld returned 1 exit status [ 398s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 398s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 398s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 398s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 398s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 398s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 398s] make[1]: *** [Makefile:444: all] Error 2 [ 398s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 398s] dh_auto_build: make -j1 returned exit code 2 [ 398s] make: *** [debian/rules:6: build] Error 255 [ 398s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 398s] [ 398s] lamb51 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 03:26:41 UTC 2019. [ 398s] [ 398s] ### VM INTERACTION START ### [ 401s] [ 383.236948] sysrq: SysRq : Power Off [ 401s] [ 383.245512] reboot: Power down [ 401s] ### VM INTERACTION END ### [ 401s] [ 401s] lamb51 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 03:26:45 UTC 2019. [ 401s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 2 07:22:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 07:22:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: add BssgpDecodeDepth Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 Change subject: BSSGP_Emulation: add BssgpDecodeDepth ...................................................................... BSSGP_Emulation: add BssgpDecodeDepth Make the decoding level (BSSGP, LLC, SNDCP, L3) configurable, so the existing PCU tests, that expect messages only decoded to the BSSGP level, can pass again. Move the SNDCP decoding in f_dec_bssgp above the L3 decoding, so f_dec_bssgp goes through the layers in the reverse order of f_send_bssgp_dec. I have verified, that all testsuites using the BSSGP Emulation (SGSN, PCU, PCU-SNS) are still working with this patch. Related: OS#4180 Fixes: 955aa94504510139a12d223071cf49ef90788a3d ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure") Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 --- M library/BSSGP_Emulation.ttcn M pcu/PCU_Tests.ttcn M sgsn/SGSN_Tests.ttcn 3 files changed, 38 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/77/15377/1 diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index 44946c1..e3023ed 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -164,11 +164,19 @@ n_u_rx_last := - } +type enumerated BssgpDecodeDepth { + BSSGP_DECODE_DEPTH_BSSGP, + BSSGP_DECODE_DEPTH_LLC, + BSSGP_DECODE_DEPTH_SNDCP, + BSSGP_DECODE_DEPTH_L3 +}; + type record BssgpConfig { Nsvci nsei, Nsvci bvci, BssgpCellId cell_id, - boolean sgsn_role + boolean sgsn_role, + BssgpDecodeDepth depth }; function f_BnsUdReq(template PDU_BSSGP pdu, BssgpBvci bvci) @@ -706,25 +714,32 @@ }; /* Decode LLC, if it is a PDU that contains LLC */ - if (ischosen(bssgp.pDU_BSSGP_DL_UNITDATA)) { - dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_DL_UNITDATA.lLC_PDU.lLC_PDU); - } else if (ischosen(bssgp.pDU_BSSGP_UL_UNITDATA)) { - dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_UL_UNITDATA.lLC_PDU.lLC_PDU); - } - - /* Decode L3, if it is a LLC PDU containing L3 */ - if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_L3)) { - if (g_cfg.sgsn_role) { - dec.l3_mo := dec_PDU_L3_MS_SGSN(dec.llc.pDU_LLC_UI.information_field_UI); - } else { - dec.l3_mt := dec_PDU_L3_SGSN_MS(dec.llc.pDU_LLC_UI.information_field_UI); + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_LLC) { + if (ischosen(bssgp.pDU_BSSGP_DL_UNITDATA)) { + dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_DL_UNITDATA.lLC_PDU.lLC_PDU); + } else if (ischosen(bssgp.pDU_BSSGP_UL_UNITDATA)) { + dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_UL_UNITDATA.lLC_PDU.lLC_PDU); } } /* Decode SNDCP, if it is a LLC PDU containing user plane data */ - if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_USER)) { - dec.sndcp := dec_PDU_SN(dec.llc.pDU_LLC_UI.information_field_UI); + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_SNDCP) { + if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_USER)) { + dec.sndcp := dec_PDU_SN(dec.llc.pDU_LLC_UI.information_field_UI); + } } + + /* Decode L3, if it is a LLC PDU containing L3 */ + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_L3) { + if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_L3)) { + if (g_cfg.sgsn_role) { + dec.l3_mo := dec_PDU_L3_MS_SGSN(dec.llc.pDU_LLC_UI.information_field_UI); + } else { + dec.l3_mt := dec_PDU_L3_SGSN_MS(dec.llc.pDU_LLC_UI.information_field_UI); + } + } + } + return dec; } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a88dfed..0f43f28 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -44,7 +44,8 @@ }, cell_id := 20960 }, - sgsn_role := true + sgsn_role := true, + depth := BSSGP_DECODE_DEPTH_BSSGP }; NSConfiguration mp_nsconfig := { diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index db7d54b..b68df85 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -286,7 +286,8 @@ }, cell_id := 20960 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; g_gb[1].cfg := { nsei := 97, @@ -299,7 +300,8 @@ }, cell_id := 20961 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; g_gb[2].cfg := { nsei := 98, @@ -312,7 +314,8 @@ }, cell_id := 20962 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; f_init_vty(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 Gerrit-Change-Number: 15377 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:20:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 08:20:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP (Cell Broadcast Service Protocol) types + templates In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 ) Change subject: Add CBSP (Cell Broadcast Service Protocol) types + templates ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c Gerrit-Change-Number: 15374 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:20:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:22:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 08:22:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP_CodecPort + CBSP_Adapter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 ) Change subject: Add CBSP_CodecPort + CBSP_Adapter ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15375/1/library/CBSP_CodecPort_CtrlFunctdef.cc File library/CBSP_CodecPort_CtrlFunctdef.cc: https://gerrit.osmocom.org/#/c/15375/1/library/CBSP_CodecPort_CtrlFunctdef.cc at 16 PS1, Line 16: several whitespace in this file. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 Gerrit-Change-Number: 15375 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:22:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:26:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 08:26:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: add BssgpDecodeDepth In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 ) Change subject: BSSGP_Emulation: add BssgpDecodeDepth ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 Gerrit-Change-Number: 15377 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:26:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:30:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 08:30:50 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce log helper LOGGGSN and log category DGTP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 ) Change subject: Introduce log helper LOGGGSN and log category DGTP ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/15307/2/include/osmocom/sgsn/gprs_sgsn.h File include/osmocom/sgsn/gprs_sgsn.h: https://gerrit.osmocom.org/#/c/15307/2/include/osmocom/sgsn/gprs_sgsn.h at 410 PS2, Line 410: INET_ADDRSTRLEN > What about '\0'? As far as I can see, other code parts are using INET_ADDRSTRLEN + 1, while in libos [?] "man inet_ntop": "The buffer dst must be at least INET_ADDRSTRLEN bytes long." /usr/include/netinet/in.h 232:#define INET_ADDRSTRLEN 16 xxx.xxx.xxx.xxx = 3*4 + 3 = 15 So \0 is accounted in the define. https://gerrit.osmocom.org/#/c/15307/2/include/osmocom/sgsn/gprs_sgsn.h at 411 PS2, Line 411: &(ggc)->remote_addr > So this address is always IPv4, right? So far yes, remot_addr is an in_addr. We can imporve this later if/when we add ipv6 support. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I30f46f44af1d0eee324b1a995c1dad2e1315af7c Gerrit-Change-Number: 15307 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 08:30:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:56:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:56:05 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 to look at the new patch set (#2). Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Cell Broadcast: CBSP and CBCH scheduling support This adds code to handle CBSP (Cell Broadcast Service Protocol) from the CBC (Cell Broadcast Centre), as well as BSC-internal data structures for scheduling the various SMSCB on the CBCH of each BTS. There are currently one known shortcoming in the code: We don't yet verify if keepalives are received within repetition period. Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 --- A doc/manuals/chapters/smscb.adoc M doc/manuals/osmobsc-usermanual.adoc M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/debug.h M include/osmocom/bsc/gsm_data.h A include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/cbch_scheduler.c A src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_main.c A src/osmo-bsc/smscb.c M tests/handover/Makefile.am 19 files changed, 1,898 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/15373/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:56:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:56:08 +0000 Subject: Change in ...osmo-bsc[master]: doc: update bsc_vty_reference.xml Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15378 Change subject: doc: update bsc_vty_reference.xml ...................................................................... doc: update bsc_vty_reference.xml Change-Id: I6244a0de8802f437b5b291c76b4fc7bd4262baf8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 140 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/15378/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 6a3e4fb..178e5b5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -402,6 +402,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1070,6 +1120,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2602,7 +2702,7 @@ - + @@ -2612,7 +2712,7 @@ - + @@ -2622,8 +2722,8 @@ - - + + @@ -2662,7 +2762,7 @@ - + @@ -2672,7 +2772,7 @@ - + @@ -2682,8 +2782,8 @@ - - + + @@ -2720,7 +2820,7 @@ - + @@ -2740,7 +2840,7 @@ - + @@ -2801,7 +2901,7 @@ - + @@ -2810,7 +2910,7 @@ - + @@ -2819,7 +2919,7 @@ - + @@ -2827,7 +2927,7 @@ - + @@ -2836,7 +2936,7 @@ - + @@ -2920,15 +3020,15 @@ - - + + - + @@ -2959,8 +3059,8 @@ - - + + @@ -4072,6 +4172,12 @@ + + + + + + @@ -4129,7 +4235,7 @@ - + @@ -4139,7 +4245,7 @@ - + @@ -4149,8 +4255,8 @@ - - + + @@ -4189,7 +4295,7 @@ - + @@ -4199,7 +4305,7 @@ - + @@ -4209,8 +4315,8 @@ - - + + @@ -4247,7 +4353,7 @@ - + @@ -4267,7 +4373,7 @@ - + @@ -4328,7 +4434,7 @@ - + @@ -4337,7 +4443,7 @@ - + @@ -4346,7 +4452,7 @@ - + @@ -4354,7 +4460,7 @@ - + -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6244a0de8802f437b5b291c76b4fc7bd4262baf8 Gerrit-Change-Number: 15378 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:57:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 08:57:09 +0000 Subject: Change in ...osmo-bsc[master]: doc: update bsc_vty_reference.xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15378 ) Change subject: doc: update bsc_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6244a0de8802f437b5b291c76b4fc7bd4262baf8 Gerrit-Change-Number: 15378 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 02 Sep 2019 08:57:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:58:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:58:17 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15174 ) Change subject: gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I709f847802a975e1a75d0b87ac5125240cfd0854 Gerrit-Change-Number: 15174 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:58:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:58:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:58:52 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: only update gb/iu cell information when Iu/Gb present In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15172 ) Change subject: gprs_gmm: only update gb/iu cell information when Iu/Gb present ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id52761f3ea655a2d0cc663a950154c6b7c1b5f7a Gerrit-Change-Number: 15172 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:59:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:59:40 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: clarify comment of Iu follow-on request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15173 ) Change subject: gprs_gmm: clarify comment of Iu follow-on request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib6b3a1b250de373656310a3c8f88d1d39bdcee60 Gerrit-Change-Number: 15173 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 08:59:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:59:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:59:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: only update gb/iu cell information when Iu/Gb present In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15172 ) Change subject: gprs_gmm: only update gb/iu cell information when Iu/Gb present ...................................................................... gprs_gmm: only update gb/iu cell information when Iu/Gb present This function should not do the transistion of Iu/Gb. Only copy simple data Change-Id: Id52761f3ea655a2d0cc663a950154c6b7c1b5f7a --- M src/gprs/gprs_gmm.c 1 file changed, 16 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index e44b3ec..d232156 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -375,17 +375,23 @@ /* Store BVCI/NSEI in MM context */ static void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg) { - mm->gb.bvci = msgb_bvci(msg); - mm->gb.nsei = msgb_nsei(msg); - /* In case a Iu connection is reconnected we need to update the ue ctx */ - mm->iu.ue_ctx = MSG_IU_UE_CTX(msg); - if (mm->ran_type == MM_CTX_T_UTRAN_Iu - && mm->iu.ue_ctx) { -#ifdef BUILD_IU - mm->iu.ue_ctx->rab_assign_addr_enc = - sgsn->cfg.iu.rab_assign_addr_enc; -#endif + /* check for Iu or Gb */ + if (!MSG_IU_UE_CTX(msg)) { + mm->gb.bvci = msgb_bvci(msg); + mm->gb.nsei = msgb_nsei(msg); } +#ifdef BUILD_IU + else { + /* In case a Iu connection is reconnected we need to update the ue ctx */ + /* FIXME: the old ue_ctx have to be freed/disconnected */ + mm->iu.ue_ctx = MSG_IU_UE_CTX(msg); + if (mm->ran_type == MM_CTX_T_UTRAN_Iu + && mm->iu.ue_ctx) { + mm->iu.ue_ctx->rab_assign_addr_enc = + sgsn->cfg.iu.rab_assign_addr_enc; + } + } +#endif } /* Store BVCI/NSEI in MM context */ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id52761f3ea655a2d0cc663a950154c6b7c1b5f7a Gerrit-Change-Number: 15172 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:59:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:59:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: clarify comment of Iu follow-on request In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15173 ) Change subject: gprs_gmm: clarify comment of Iu follow-on request ...................................................................... gprs_gmm: clarify comment of Iu follow-on request Change-Id: Ib6b3a1b250de373656310a3c8f88d1d39bdcee60 --- M src/gprs/gprs_gmm.c 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index d232156..185cd9a 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -1404,7 +1404,11 @@ goto err_inval; cur += msnc_len; - /* TODO: In iu mode - handle follow-on request */ + /* TODO: In iu mode - handle follow-on request. + * The follow-on request can be signaled in an Attach Request on IuPS. + * This means the MS/UE asks to keep the PS connection open for further requests + * after the Attach Request succeed. + * The SGSN can decide if it close the connection or not. Both are spec conform. */ /* aTTACH Type 10.5.5.2 */ att_type = *cur++ & 0x07; @@ -1742,7 +1746,11 @@ enum gsm48_gmm_cause reject_cause = GMM_CAUSE_PROTO_ERR_UNSPEC; int rc; - /* TODO: In iu mode - handle follow-on request */ + /* TODO: In iu mode - handle follow-on request. + * The follow-on request can be signaled in an Attach Request on IuPS. + * This means the MS/UE asks to keep the PS connection open for further requests + * after the Attach Request succeed. + * The SGSN can decide if it close the connection or not. Both are spec conform. */ /* Update Type 10.5.5.18 */ upd_type = *cur++ & 0x07; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib6b3a1b250de373656310a3c8f88d1d39bdcee60 Gerrit-Change-Number: 15173 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 08:59:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 08:59:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15174 ) Change subject: gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code ...................................................................... gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code Change-Id: I709f847802a975e1a75d0b87ac5125240cfd0854 --- M src/gprs/gprs_gmm.c 1 file changed, 6 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index 185cd9a..00335e8 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -1460,11 +1460,6 @@ } osmo_strlcpy(ctx->imsi, mi_string, sizeof(ctx->imsi)); } - if (ctx->ran_type == MM_CTX_T_GERAN_Gb) { - ctx->gb.tlli = msgb_tlli(msg); - ctx->gb.llme = llme; - } - msgid2mmctx(ctx, msg); break; case GSM_MI_TYPE_TMSI: memcpy(&tmsi, mi+1, 4); @@ -1485,11 +1480,6 @@ } ctx->p_tmsi = tmsi; } - if (ctx->ran_type == MM_CTX_T_GERAN_Gb) { - ctx->gb.tlli = msgb_tlli(msg); - ctx->gb.llme = llme; - } - msgid2mmctx(ctx, msg); break; default: LOGMMCTXP(LOGL_NOTICE, ctx, "Rejecting ATTACH REQUEST with " @@ -1497,6 +1487,12 @@ reject_cause = GMM_CAUSE_MS_ID_NOT_DERIVED; goto rejected; } + + if (ctx->ran_type == MM_CTX_T_GERAN_Gb) { + ctx->gb.tlli = msgb_tlli(msg); + ctx->gb.llme = llme; + } + msgid2mmctx(ctx, msg); /* Update MM Context with currient RA and Cell ID */ ctx->ra = ra_id; if (ctx->ran_type == MM_CTX_T_GERAN_Gb) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I709f847802a975e1a75d0b87ac5125240cfd0854 Gerrit-Change-Number: 15174 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:00:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:00:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: as_unblocked: fix SIG broadcast In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15348 ) Change subject: BSSGP_Emulation: as_unblocked: fix SIG broadcast ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36a9a4d61be52a4d86ac1cbf6e6976cf01cff7c6 Gerrit-Change-Number: 15348 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:00:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:00:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:00:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu/GPRS_TBF.ttcn: less verbose logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15349 ) Change subject: pcu/GPRS_TBF.ttcn: less verbose logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibccfc399a6e8b50e4f01b5f167c47fbbde4533ed Gerrit-Change-Number: 15349 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:00:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:00:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:00:27 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce log helper LOGGGSN and log category DGTP In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 ) Change subject: Introduce log helper LOGGGSN and log category DGTP ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I30f46f44af1d0eee324b1a995c1dad2e1315af7c Gerrit-Change-Number: 15307 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 09:00:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: add BssgpDecodeDepth In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 ) Change subject: BSSGP_Emulation: add BssgpDecodeDepth ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 Gerrit-Change-Number: 15377 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:01:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu/GPRS_TBF.ttcn: less verbose logging In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15349 ) Change subject: pcu/GPRS_TBF.ttcn: less verbose logging ...................................................................... pcu/GPRS_TBF.ttcn: less verbose logging Reduce the formatted log size of TC_ul_tbf from ~140 MB to ~8 MB. Related: OS#3925 Change-Id: Ibccfc399a6e8b50e4f01b5f167c47fbbde4533ed --- M pcu/GPRS_TBF.ttcn 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/GPRS_TBF.ttcn b/pcu/GPRS_TBF.ttcn index 9fbe191..1c9a75b 100644 --- a/pcu/GPRS_TBF.ttcn +++ b/pcu/GPRS_TBF.ttcn @@ -144,8 +144,6 @@ us.cur_index := us.cur_index + len; us.total_bytes_remain := us.total_bytes_remain - len; - log("copy_from_llc: ", ret, " us: ", us); - /* if we completed this PDU, move on to the next, resetting the index */ if (us.cur_index >= pdu_len) { us.cur_pdu := us.cur_pdu +1; @@ -307,7 +305,6 @@ var integer blk_len_net := f_gprs_blocksize(cs) - hdr_size; var integer num_remain := f_div_round_up(us.total_bytes_remain, blk_len_net); var integer cv := f_calc_cv(num_remain + sizeof(us.rlc_sent), us.bsn_p, us.num_ts, us.tbf.initial_cs, 14 /* FIXME */); - log("CV=", cv, ", num_rmain=", num_remain, " from ", us); return cv; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibccfc399a6e8b50e4f01b5f167c47fbbde4533ed Gerrit-Change-Number: 15349 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add configs for running without docker In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14960 ) Change subject: pcu: add configs for running without docker ...................................................................... pcu: add configs for running without docker Base on docker-playground.git's ttcn3-pcu-test/*.cfg files, change IPs to 127.0.0.1, log to stderr, adjust pcu-socket path. Change-Id: Iff3e5e6cf0c608680c8c5f9f83e8bc1032274ea9 --- A pcu/PCU_Tests_SNS.cfg A pcu/osmo-bsc.cfg A pcu/osmo-bts.cfg A pcu/osmo-pcu-sns.cfg A pcu/osmo-pcu.cfg 5 files changed, 346 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests_SNS.cfg b/pcu/PCU_Tests_SNS.cfg new file mode 100644 index 0000000..1419e1e --- /dev/null +++ b/pcu/PCU_Tests_SNS.cfg @@ -0,0 +1,24 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./PCU_Tests.default" + +[LOGGING] + +[MODULE_PARAMETERS] +PCU_Tests.mp_nsconfig := { + local_ip := "127.0.0.1", + local_udp_port := 23000, + remote_ip := "127.0.0.1", + remote_udp_port := 22000, + nsvci := 1234, + nsei := 1234 +} + +[TESTPORT_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +PCU_Tests_RAW_SNS.control diff --git a/pcu/osmo-bsc.cfg b/pcu/osmo-bsc.cfg new file mode 100644 index 0000000..c561955 --- /dev/null +++ b/pcu/osmo-bsc.cfg @@ -0,0 +1,194 @@ +! +! OsmoBSC (1.1.2.236-5f22) configuration saved from vty +!! +password foo +! +log gsmtap 127.0.0.1 + logging level set-all debug +! + +log stderr + logging color 1 + logging filter all 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + #~ logging level hodec info + #~ logging level ho info + #~ logging level nm info + #~ logging level meas info + #~ logging level lmi info + #~ logging level linp notice + #~ logging level lss7 notice + #~ logging level lsccp notice + #~ logging level lsua notice + #~ logging level lm3ua notice + +stats interval 5 +! +line vty + no login + bind 127.0.0.1 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive + ipa bind 127.0.0.1 +cs7 instance 0 + point-code 0.23.3 + asp asp-clnt-msc-0 2905 0 m3ua + as as-clnt-msc-0 m3ua + asp asp-clnt-msc-0 + routing-key 2 0.23.3 +network + network country code 262 + mobile network code 42 + encryption a5 0 + neci 1 + paging any use tch 0 + handover 0 + handover1 window rxlev averaging 10 + handover1 window rxqual averaging 1 + handover1 window rxlev neighbor averaging 10 + handover1 power budget interval 6 + handover1 power budget hysteresis 3 + handover1 maximum distance 9999 + periodic location update 30 + bts 0 + type sysmobts + band DCS1800 + cell_identity 20960 + location_area_code 13135 + dtx uplink force + dtx downlink + base_station_id_code 63 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + early-classmark-sending forbidden + early-classmark-sending-3g allowed + ip.access unit_id 1234 0 + ip.access rsl-ip 127.0.0.1 + oml ip.access stream_id 255 line 0 + neighbor-list mode manual-si5 + neighbor-list add arfcn 100 + neighbor-list add arfcn 200 + si5 neighbor-list add arfcn 10 + si5 neighbor-list add arfcn 20 + codec-support fr + gprs mode gprs + gprs 11bit_rach_support_for_egprs 0 + gprs routing area 0 + gprs network-control-order nc0 + gprs cell bvci 1234 + gprs cell timer blocking-timer 3 + gprs cell timer blocking-retries 3 + gprs cell timer unblocking-retries 3 + gprs cell timer reset-timer 3 + gprs cell timer reset-retries 3 + gprs cell timer suspend-timer 10 + gprs cell timer suspend-retries 3 + gprs cell timer resume-timer 10 + gprs cell timer resume-retries 3 + gprs cell timer capability-update-timer 10 + gprs cell timer capability-update-retries 3 + gprs nsei 1234 + gprs ns timer tns-block 3 + gprs ns timer tns-block-retries 3 + gprs ns timer tns-reset 3 + gprs ns timer tns-reset-retries 3 + gprs ns timer tns-test 30 + gprs ns timer tns-alive 3 + gprs ns timer tns-alive-retries 10 + gprs nsvc 0 nsvci 1234 + gprs nsvc 0 local udp port 22000 + gprs nsvc 0 remote udp port 23000 + gprs nsvc 0 remote ip 127.0.0.1 + no force-combined-si + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 20 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + #~ timeslot 1 + #~ phys_chan_config TCH/F + #~ hopping enabled 0 + #~ timeslot 2 + #~ phys_chan_config TCH/F + #~ hopping enabled 0 + #~ timeslot 3 + #~ phys_chan_config TCH/F_PDCH + #~ hopping enabled 0 + #~ timeslot 4 + #~ phys_chan_config TCH/F_TCH/H_PDCH + #~ hopping enabled 0 + #~ timeslot 5 + #~ phys_chan_config TCH/H + #~ hopping enabled 0 + #~ timeslot 6 + #~ phys_chan_config SDCCH8 + #~ hopping enabled 0 + #~ timeslot 7 + #~ phys_chan_config PDCH + #~ hopping enabled 0 +msc 0 + core-location-area-code 666 + core-cell-identity 333 + ip.access rtp-base 4000 + timeout-ping 12 + timeout-pong 14 + no timeout-ping advanced + no bsc-welcome-text + no bsc-msc-lost-text + no bsc-grace-text + codec-list fr1 fr2 fr3 + type normal + allow-emergency allow + amr-config 12_2k forbidden + amr-config 10_2k forbidden + amr-config 7_95k forbidden + amr-config 7_40k forbidden + amr-config 6_70k forbidden + amr-config 5_90k allowed + amr-config 5_15k forbidden + amr-config 4_75k forbidden +bsc + mid-call-timeout 0 + no missing-msc-text + access-list-name bsc-list diff --git a/pcu/osmo-bts.cfg b/pcu/osmo-bts.cfg new file mode 100644 index 0000000..7f36f87 --- /dev/null +++ b/pcu/osmo-bts.cfg @@ -0,0 +1,83 @@ +! +! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty +!! +! +log gsmtap 127.0.0.1 + logging level set-all debug +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level rsl info + logging level oml info + logging level rll notice + logging level rr notice + logging level meas info + logging level pag info + logging level l1c info + logging level l1p notice + logging level dsp info + logging level pcu debug + logging level ho notice + logging level trx info + logging level loop notice + logging level abis notice + logging level rtp notice + logging level sum notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib debug + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice +! +line vty + no login + bind 127.0.0.1 +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +phy 0 + !virtual-um ms-multicast-group 239.193.23.1 + !virtual-um bts-multicast-group 239.193.23.2 + instance 0 +bts 0 + band DCS1800 + ipa unit-id 1234 0 + oml remote-ip 127.0.0.1 + rtp jitter-buffer 100 + paging queue-size 200 + paging lifetime 0 + uplink-power-target -75 + gsmtap-sapi rach + gsmtap-sapi agch + gsmtap-sapi bcch + gsmtap-sapi pch + gsmtap-sapi sdcch + gsmtap-sapi sacch + min-qual-rach 50 + min-qual-norm -5 + pcu-socket /tmp/pcu_bts + trx 0 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + ms-power-control dsp + phy 0 instance 0 +ctrl + bind 127.0.0.1 diff --git a/pcu/osmo-pcu-sns.cfg b/pcu/osmo-pcu-sns.cfg new file mode 100644 index 0000000..c2cd58a --- /dev/null +++ b/pcu/osmo-pcu-sns.cfg @@ -0,0 +1,23 @@ +log gsmtap 127.0.0.1 + logging level set-all debug + +log stderr + logging filter all 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + +line vty + no login + bind 127.0.0.1 +pcu + flow-control-interval 10 + cs 2 + alloc-algorithm dynamic + alpha 0 + gamma 0 + pcu-socket /tmp/pcu_bts + gb-dialect ip-sns diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg new file mode 100644 index 0000000..d6213b5 --- /dev/null +++ b/pcu/osmo-pcu.cfg @@ -0,0 +1,22 @@ +log gsmtap 127.0.0.1 + logging level set-all debug + +log stderr + logging filter all 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + +line vty + no login + bind 127.0.0.1 +pcu + flow-control-interval 10 + cs 2 + alloc-algorithm dynamic + alpha 0 + gamma 0 + pcu-socket /tmp/pcu_bts -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff3e5e6cf0c608680c8c5f9f83e8bc1032274ea9 Gerrit-Change-Number: 14960 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: add BssgpDecodeDepth In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 ) Change subject: BSSGP_Emulation: add BssgpDecodeDepth ...................................................................... BSSGP_Emulation: add BssgpDecodeDepth Make the decoding level (BSSGP, LLC, SNDCP, L3) configurable, so the existing PCU tests, that expect messages only decoded to the BSSGP level, can pass again. Move the SNDCP decoding in f_dec_bssgp above the L3 decoding, so f_dec_bssgp goes through the layers in the reverse order of f_send_bssgp_dec. I have verified, that all testsuites using the BSSGP Emulation (SGSN, PCU, PCU-SNS) are still working with this patch. Related: OS#4180 Fixes: 955aa94504510139a12d223071cf49ef90788a3d ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure") Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 --- M library/BSSGP_Emulation.ttcn M pcu/PCU_Tests.ttcn M sgsn/SGSN_Tests.ttcn 3 files changed, 38 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index 44946c1..e3023ed 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -164,11 +164,19 @@ n_u_rx_last := - } +type enumerated BssgpDecodeDepth { + BSSGP_DECODE_DEPTH_BSSGP, + BSSGP_DECODE_DEPTH_LLC, + BSSGP_DECODE_DEPTH_SNDCP, + BSSGP_DECODE_DEPTH_L3 +}; + type record BssgpConfig { Nsvci nsei, Nsvci bvci, BssgpCellId cell_id, - boolean sgsn_role + boolean sgsn_role, + BssgpDecodeDepth depth }; function f_BnsUdReq(template PDU_BSSGP pdu, BssgpBvci bvci) @@ -706,25 +714,32 @@ }; /* Decode LLC, if it is a PDU that contains LLC */ - if (ischosen(bssgp.pDU_BSSGP_DL_UNITDATA)) { - dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_DL_UNITDATA.lLC_PDU.lLC_PDU); - } else if (ischosen(bssgp.pDU_BSSGP_UL_UNITDATA)) { - dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_UL_UNITDATA.lLC_PDU.lLC_PDU); - } - - /* Decode L3, if it is a LLC PDU containing L3 */ - if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_L3)) { - if (g_cfg.sgsn_role) { - dec.l3_mo := dec_PDU_L3_MS_SGSN(dec.llc.pDU_LLC_UI.information_field_UI); - } else { - dec.l3_mt := dec_PDU_L3_SGSN_MS(dec.llc.pDU_LLC_UI.information_field_UI); + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_LLC) { + if (ischosen(bssgp.pDU_BSSGP_DL_UNITDATA)) { + dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_DL_UNITDATA.lLC_PDU.lLC_PDU); + } else if (ischosen(bssgp.pDU_BSSGP_UL_UNITDATA)) { + dec.llc := dec_PDU_LLC(bssgp.pDU_BSSGP_UL_UNITDATA.lLC_PDU.lLC_PDU); } } /* Decode SNDCP, if it is a LLC PDU containing user plane data */ - if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_USER)) { - dec.sndcp := dec_PDU_SN(dec.llc.pDU_LLC_UI.information_field_UI); + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_SNDCP) { + if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_USER)) { + dec.sndcp := dec_PDU_SN(dec.llc.pDU_LLC_UI.information_field_UI); + } } + + /* Decode L3, if it is a LLC PDU containing L3 */ + if (g_cfg.depth >= BSSGP_DECODE_DEPTH_L3) { + if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_L3)) { + if (g_cfg.sgsn_role) { + dec.l3_mo := dec_PDU_L3_MS_SGSN(dec.llc.pDU_LLC_UI.information_field_UI); + } else { + dec.l3_mt := dec_PDU_L3_SGSN_MS(dec.llc.pDU_LLC_UI.information_field_UI); + } + } + } + return dec; } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a88dfed..0f43f28 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -44,7 +44,8 @@ }, cell_id := 20960 }, - sgsn_role := true + sgsn_role := true, + depth := BSSGP_DECODE_DEPTH_BSSGP }; NSConfiguration mp_nsconfig := { diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index db7d54b..b68df85 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -286,7 +286,8 @@ }, cell_id := 20960 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; g_gb[1].cfg := { nsei := 97, @@ -299,7 +300,8 @@ }, cell_id := 20961 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; g_gb[2].cfg := { nsei := 98, @@ -312,7 +314,8 @@ }, cell_id := 20962 }, - sgsn_role := false + sgsn_role := false, + depth := BSSGP_DECODE_DEPTH_L3 }; f_init_vty(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f76385528c1de98c557cee451c0e0dfd182b605 Gerrit-Change-Number: 15377 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: update configs for running without docker In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15350 ) Change subject: sgsn: update configs for running without docker ...................................................................... sgsn: update configs for running without docker Base on docker-playground.git's ttcn3-sgsn-test/*.cfg files, change IPs to 127.0.0.* (keep last octet), log to stderr. The reasoning behind the IP change is, that using almost the same IP as in the docker configs makes it easier to compare the configs. Change-Id: I15b5a943e9c665dfd4eb6b30bff84afc8adeb4a2 --- M sgsn/SGSN_Tests.cfg M sgsn/osmo-sgsn.cfg A sgsn/osmo-stp.cfg 3 files changed, 71 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.cfg b/sgsn/SGSN_Tests.cfg index 8782845..5167750 100644 --- a/sgsn/SGSN_Tests.cfg +++ b/sgsn/SGSN_Tests.cfg @@ -9,8 +9,30 @@ [LOGGING] [TESTPORT_PARAMETERS] +*.SGSNVTY.CTRL_HOSTNAME := "127.0.0.10" [MODULE_PARAMETERS] +SGSN_Tests.mp_nsconfig := { + { + local_ip := "127.0.0.103", + remote_ip := "127.0.0.10" + }, + { + local_ip := "127.0.0.103", + remote_ip := "127.0.0.10" + }, + { + local_ip := "127.0.0.103", + remote_ip := "127.0.0.10" + } +} +SGSN_Tests.mp_ranap_cfg := { + { + sctp_addr := { 23908, "127.0.0.103", 2905, "127.0.0.200" } + } +} +SGSN_Tests.mp_hlr_ip := "127.0.0.103" +SGSN_Tests.mp_ggsn_ip := "127.0.0.103" [MAIN_CONTROLLER] diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg index 09da510..7ac50bc 100644 --- a/sgsn/osmo-sgsn.cfg +++ b/sgsn/osmo-sgsn.cfg @@ -28,10 +28,17 @@ ! line vty no login - bind 127.0.0.1 + bind 127.0.0.10 ctrl - bind 127.0.0.1 + bind 127.0.0.10 ! +cs7 instance 0 + point-code 0.23.4 + asp asp-clnt-OsmoSGSN-A 2905 0 m3ua + remote-ip 127.0.0.200 + as as-clnt-OsmoSGSN-A m3ua + asp asp-clnt-OsmoSGSN-A + routing-key 3 0.23.4 ns timer tns-block 3 timer tns-block-retries 3 @@ -40,15 +47,15 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation udp local-ip 127.0.0.1 + encapsulation udp local-ip 127.0.0.10 encapsulation udp local-port 23000 encapsulation framerelay-gre enabled 0 bssgp sgsn - gtp local-ip 127.0.0.1 - ggsn 0 remote-ip 127.0.0.2 + gtp local-ip 127.0.0.10 + ggsn 0 remote-ip 127.0.0.103 ggsn 0 gtp-version 1 - gsup remote-ip 127.0.0.1 + gsup remote-ip 127.0.0.103 gsup remote-port 4222 auth-policy remote gsup oap-id 0 diff --git a/sgsn/osmo-stp.cfg b/sgsn/osmo-stp.cfg new file mode 100644 index 0000000..b42f967 --- /dev/null +++ b/sgsn/osmo-stp.cfg @@ -0,0 +1,36 @@ +! +! OsmoSTP (0.8.1) configuration saved from vty +!! +! +log gsmtap 127.0.0.1 + logging level set-all debug +! +log stderr + logging color 1 + logging filter all 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug +! +line vty + no login +! +cs7 instance 0 + xua rkm routing-key-allocation dynamic-permitted + asp virt-rnc0-0 23908 2905 m3ua + local-ip 127.0.0.200 + remote-ip 127.0.0.103 + as virt-rnc0 m3ua + asp virt-rnc0-0 + routing-key 2 0.24.3 + route-table system + update route 0.24.3 7.255.7 linkset virt-rnc0 + listen m3ua 2905 + local-ip 127.0.0.200 + accept-asp-connections dynamic-permitted + listen ipa 5000 + local-ip 127.0.0.200 + accept-asp-connections dynamic-permitted -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I15b5a943e9c665dfd4eb6b30bff84afc8adeb4a2 Gerrit-Change-Number: 15350 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:01:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSGP_Emulation: as_unblocked: fix SIG broadcast In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15348 ) Change subject: BSSGP_Emulation: as_unblocked: fix SIG broadcast ...................................................................... BSSGP_Emulation: as_unblocked: fix SIG broadcast I am not aware that this caused breakage anywhere. But from reading the patch, this is a regression that needs to be fixed. Fixes: 955aa94504510139a12d223071cf49ef90788a3d ("BSSGP_Emulation: Abandon "BssgpDecoded" intermediate structure") Change-Id: I36a9a4d61be52a4d86ac1cbf6e6976cf01cff7c6 --- M library/BSSGP_Emulation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn index f8b9f06..44946c1 100644 --- a/library/BSSGP_Emulation.ttcn +++ b/library/BSSGP_Emulation.ttcn @@ -593,7 +593,7 @@ // TITAN DOESN'T DO THIS, *SIGH*: "BSSGP_SP.send(dec) to all component;" for (var integer i := 0; i < sizeof(ClientTable); i := i+1) { if (isbound(ClientTable[i].comp_ref)) { - f_send_bssgp_dec(dec, vc_conn, BSSGP_SP_SIG); + f_send_bssgp_dec(dec, ClientTable[i].comp_ref, BSSGP_SP_SIG); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36a9a4d61be52a4d86ac1cbf6e6976cf01cff7c6 Gerrit-Change-Number: 15348 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:02:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:02:11 +0000 Subject: Change in ...osmo-gsm-manuals[master]: tests/Makefile.am: always put glossary at the end In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15351 ) Change subject: tests/Makefile.am: always put glossary at the end ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I91e857255b1b6d5b8708cc7f7b303a58403120d3 Gerrit-Change-Number: 15351 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:02:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:02:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:02:12 +0000 Subject: Change in ...osmo-gsm-manuals[master]: tests/Makefile.am: always put glossary at the end In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15351 ) Change subject: tests/Makefile.am: always put glossary at the end ...................................................................... tests/Makefile.am: always put glossary at the end Make sure that glossary.adoc is the last file, when building the test pdf with all common chapters included. Otherwise, newer asciidoc versions will complain that we cannot have subchapters after the glossary began: asciidoc: ERROR: mgcp_extension_osmux.adoc: line 2: glossary section cannot contain sub-sections Related: OS#4183 Change-Id: I91e857255b1b6d5b8708cc7f7b303a58403120d3 --- M tests/Makefile.am 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index b2f579d..6eba2c5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -6,10 +6,11 @@ # Do not install any of the test pdfs OSMO_GSM_MANUALS_NO_INSTALL = 1 -# Generate adoc file that includes all chapters +# Generate adoc file that includes all chapters (OS#4183: glossary.adoc must be the last file) ASCIIDOC = test-usermanual.adoc ASCIIDOC_DEPS = -COMMON_CHAPTERS = $(shell find $(OSMO_GSM_MANUALS_DIR)/common/chapters -name '*.adoc') +COMMON_CHAPTERS = $(shell find $(OSMO_GSM_MANUALS_DIR)/common/chapters -name '*.adoc' | grep -v glossary\.adoc) \ + $(OSMO_GSM_MANUALS_DIR)/common/chapters/glossary.adoc $(ASCIIDOC): $(COMMON_CHAPTERS) echo ":gfdl-enabled:" > $@ echo ":program-name: Test" >> $@ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/15351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: I91e857255b1b6d5b8708cc7f7b303a58403120d3 Gerrit-Change-Number: 15351 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:02:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:02:38 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce log helper LOGGGSN and log category DGTP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 ) Change subject: Introduce log helper LOGGGSN and log category DGTP ...................................................................... Introduce log helper LOGGGSN and log category DGTP It will be used in forthcoming commits. Change-Id: I30f46f44af1d0eee324b1a995c1dad2e1315af7c --- M include/osmocom/sgsn/debug.h M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/sgsn_main.c 3 files changed, 13 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/debug.h b/include/osmocom/sgsn/debug.h index 4d0fc69..29d500d 100644 --- a/include/osmocom/sgsn/debug.h +++ b/include/osmocom/sgsn/debug.h @@ -39,6 +39,7 @@ DVLR, DIUCS, DSIGTRAN, + DGTP, Debug_LastEntry, }; diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 48c063d..17cafa3 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -405,6 +406,11 @@ void sgsn_ggsn_ctx_remove_pdp(struct sgsn_ggsn_ctx *ggc, struct sgsn_pdp_ctx *pdp); void sgsn_ggsn_ctx_check_echo_timer(struct sgsn_ggsn_ctx *ggc); +#define LOGGGSN(ggc, level, fmt, args...) { \ + char _buf[INET_ADDRSTRLEN]; \ + LOGP(DGTP, level, "GGSN(%" PRIu32 ":%s): " fmt, (ggc)->id, inet_ntop(AF_INET, &(ggc)->remote_addr, _buf, sizeof(_buf)), ## args); \ + } while (0) + struct apn_ctx { struct llist_head list; struct sgsn_ggsn_ctx *ggsn; diff --git a/src/gprs/sgsn_main.c b/src/gprs/sgsn_main.c index 4232e23..9f2e111 100644 --- a/src/gprs/sgsn_main.c +++ b/src/gprs/sgsn_main.c @@ -340,7 +340,12 @@ .name = "DV42BIS", .description = "V.42bis data compression (SNDCP)", .enabled = 1, .loglevel = LOGL_NOTICE, - } + }, + [DGTP] = { + .name = "DGTP", + .description = "GPRS Tunnelling Protocol (GTP)", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, }; static const struct log_info gprs_log_info = { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I30f46f44af1d0eee324b1a995c1dad2e1315af7c Gerrit-Change-Number: 15307 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:03:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:03:44 +0000 Subject: Change in ...osmo-ggsn[master]: gtp_update_pdp_ind(): fix NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15367 ) Change subject: gtp_update_pdp_ind(): fix NULL-pointer dereference ...................................................................... gtp_update_pdp_ind(): fix NULL-pointer dereference As stated in the comment above, we need to use the tunnel identifier to find a GTP context, and derive both IMSI and NSAPI from that TID, when speaking GTP version 0. This change fixes the following warnings (found with Clang): gtp.c:2115:22: warning: variable 'pdp' is uninitialized when used here [-Wuninitialized] pdp_set_imsi_nsapi(pdp, tid); ^^^ gtp.c:2118:34: warning: variable 'imsi' is uninitialized when used here [-Wuninitialized] if (gtp_pdp_getimsi(gsn, &pdp, imsi, nsapi)) ^^^^ gtp.c:2118:40: warning: variable 'nsapi' is uninitialized when used here [-Wuninitialized] if (gtp_pdp_getimsi(gsn, &pdp, imsi, nsapi)) ^^^^^ Change-Id: I8f1c8d0ba2e8189d97fe1bb5c872680e5ad1cd7a --- M gtp/gtp.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/gtp/gtp.c b/gtp/gtp.c index 88248d1..7cb82b6 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2084,12 +2084,8 @@ /* For GTP1 we must use imsi and nsapi if imsi is present. Otherwise */ /* we have to use the tunnel endpoint identifier */ if (version == 0) { - uint64_t tid = be64toh(((union gtp_packet *)pack)->gtp0.h.tid); - - pdp_set_imsi_nsapi(pdp, tid); - /* Find the context in question */ - if (gtp_pdp_getimsi(gsn, &pdp, imsi, nsapi)) { + if (gtp_pdp_tidget(gsn, &pdp, get_tid(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); @@ -2097,6 +2093,9 @@ len, NULL, GTPCAUSE_NON_EXIST); } + + /* Update IMSI and NSAPI */ + pdp_set_imsi_nsapi(pdp, get_tid(pack)); } else if (version == 1) { /* NSAPI (mandatory) */ if (gtpie_gettv1(ie, GTPIE_NSAPI, 0, &nsapi)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8f1c8d0ba2e8189d97fe1bb5c872680e5ad1cd7a Gerrit-Change-Number: 15367 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:03:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:03:44 +0000 Subject: Change in ...osmo-ggsn[master]: gtp_error_ind_conf(): fix: guard against an unknown GTP version In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15368 ) Change subject: gtp_error_ind_conf(): fix: guard against an unknown GTP version ...................................................................... gtp_error_ind_conf(): fix: guard against an unknown GTP version This change fixes the following compiler warnings (found by Clang): gtp.c:2747:13: warning: variable 'pdp' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] } else if (version == 1) { gtp.c:2781:14: note: uninitialized use occurs here OSMO_ASSERT(pdp); ^^^ Shall not happen in general, but let's make Clang happy. Change-Id: Id471b22afd4c45435589a4edda0a804e66be3a7a --- M gtp/gtp.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/gtp/gtp.c b/gtp/gtp.c index 7cb82b6..3979165 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2743,6 +2743,9 @@ GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); return EOF; } + } else { + LOGP(DLGTP, LOGL_ERROR, "Unknown version: %d\n", version); + return EOF; } GTP_LOGPKG(LOGL_ERROR, peer, pack, len, -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id471b22afd4c45435589a4edda0a804e66be3a7a Gerrit-Change-Number: 15368 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:03:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:03:45 +0000 Subject: Change in ...osmo-ggsn[master]: gtp/gtp.c: cosmetic: use get_tid() where we need TID In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15369 ) Change subject: gtp/gtp.c: cosmetic: use get_tid() where we need TID ...................................................................... gtp/gtp.c: cosmetic: use get_tid() where we need TID Change-Id: I39e92f25ed51665c8a615826ed52f35024bdd54b --- M gtp/gtp.c 1 file changed, 3 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/gtp/gtp.c b/gtp/gtp.c index 3979165..22c95b5 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -1423,11 +1423,8 @@ pdp = &pdp_buf; memset(pdp, 0, sizeof(struct pdp_t)); - if (version == 0) { - uint64_t tid = be64toh(((union gtp_packet *)pack)->gtp0.h.tid); - - pdp_set_imsi_nsapi(pdp, tid); - } + if (version == 0) + pdp_set_imsi_nsapi(pdp, get_tid(pack)); pdp->seq = seq; pdp->sa_peer = *peer; @@ -2712,7 +2709,7 @@ /* Find the context in question */ if (version == 0) { - if (gtp_pdp_tidget(gsn, &pdp, be64toh(((union gtp_packet *)pack)->gtp0.h.tid))) { + if (gtp_pdp_tidget(gsn, &pdp, get_tid(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I39e92f25ed51665c8a615826ed52f35024bdd54b Gerrit-Change-Number: 15369 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:04:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:04:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Proper shutdown of RAN_Adapter components In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15295 ) Change subject: sgsn: Proper shutdown of RAN_Adapter components ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I471eb851e5d41de5d8d974ec81be27024d7d313a Gerrit-Change-Number: 15295 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:04:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:04:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:04:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Proper shutdown of RAN_Adapter components In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15295 ) Change subject: sgsn: Proper shutdown of RAN_Adapter components ...................................................................... sgsn: Proper shutdown of RAN_Adapter components Otherwise TTCN3 errors sproadically during shutdown: """" SCCP_Emulation.ttcn:5661 Receive operation on port SCCP_SP_PORT succeeded, message from SGSN_Test_0-RAN(414) ... SCCP_Emulation.ttcn:5293 Sent on MTP3_SCCP_PORT to SGSN_Test_0-M3UA(415) @SCCP_Types.ASP_MTP3_TRANSFERreq_sccp SCCP_Emulation.ttcn:5293 Outgoing message was mapped to @MTP3asp_Types.ASP_MTP3_TRANSFERreq SCCP_Emulation.ttcn:5293 Dynamic test case error: Sending data on the connection of port MTP3_SCCP_PORT to 415:MTP3_SP_PORT failed. (Broken pipe) SCCP_Emulation.ttcn:5293 setverdict(error): none -> error """ Similar shutdown is already done in f_cleanup() of SCCP_Tests.ttcn. Related: OS#4176 Change-Id: I471eb851e5d41de5d8d974ec81be27024d7d313a --- M library/RAN_Adapter.ttcnpp M sgsn/SGSN_Tests.ttcn 2 files changed, 88 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index e995e8d..f84fd34 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -47,6 +47,7 @@ MSC_SCCP_MTP3_parameters sccp_pars, SCCP_PAR_Address sccp_addr_own, SCCP_PAR_Address sccp_addr_peer, + RAN_Transport transport, /* handler mode */ RAN_Emulation_CT vc_RAN @@ -79,6 +80,7 @@ }; ba.sccp_addr_own := valueof(ts_SccpAddr_PC_SSN(cfg.own_pc, cfg.own_ssn, cfg.sio, cfg.sccp_service_type)); ba.sccp_addr_peer := valueof(ts_SccpAddr_PC_SSN(cfg.peer_pc, cfg.peer_ssn, cfg.sio, cfg.sccp_service_type)); + ba.transport := cfg.transport; } @@ -92,6 +94,8 @@ ba.vc_SCCP := SCCP_CT.create(id & "-SCCP"); if (isvalue(ops)) { ba.vc_RAN := RAN_Emulation_CT.create(id & "-RAN"); + } else { + ba.vc_RAN := null; } select (cfg.transport) { case (BSSAP_TRANSPORT_AoIP, RANAP_TRANSPORT_IuCS) { @@ -186,5 +190,27 @@ ba.vc_SCCP.start(SCCPStart(ba.sccp_pars)); } +function f_ran_adapter_cleanup(inout RAN_Adapter ba) { + if (ba.vc_RAN != null) { + if (ba.transport == RANAP_TRANSPORT_IuCS) { +#ifdef RAN_EMULATION_RANAP + disconnect(ba.vc_RAN:RANAP, ba.vc_SCCP:SCCP_SP_PORT); +#endif + } else { +#ifdef RAN_EMULATION_BSSAP + disconnect(ba.vc_RAN:BSSAP, ba.vc_SCCP:SCCP_SP_PORT); +#endif + } + ba.vc_RAN.stop; + } + if (ba.transport == BSSAP_TRANSPORT_AoIP or + ba.transport == RANAP_TRANSPORT_IuCS) { + unmap(ba.vc_M3UA:SCTP_PORT, system:sctp); + disconnect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); + ba.vc_M3UA.stop; + } + ba.vc_SCCP.stop; +} + } diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index b68df85..c9309dd 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -332,6 +332,14 @@ f_vty_enable_echo_interval(g_use_echo); } +function f_cleanup() runs on test_CT { + var integer i; + for (i := 0; i < NUM_RNC; i := i+1) { + f_ran_adapter_cleanup(g_ranap[i]); + } + self.stop; +} + private function RncUnitdataCallback(RANAP_PDU ranap) runs on RAN_Emulation_CT return template RANAP_PDU { var template RANAP_PDU resp := omit; @@ -458,6 +466,7 @@ testcase TC_wait_ns_up() runs on test_CT { f_init(); f_sleep(20.0); + f_cleanup(); } function f_send_llc(template (value) PDU_LLC llc_pdu, integer gb_index := 0) runs on BSSGP_ConnHdlr { @@ -688,6 +697,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1); vc_conn.done; + f_cleanup(); } testcase TC_attach_mnc3() runs on test_CT { @@ -696,6 +706,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1001); vc_conn.done; + f_cleanup(); } private function f_TC_attach_umts_aka_umts_res(charstring id) runs on BSSGP_ConnHdlr { @@ -708,6 +719,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_umts_res), testcasename(), g_gb, 1002); vc_conn.done; + f_cleanup(); } private function f_TC_attach_umts_aka_gsm_sres(charstring id) runs on BSSGP_ConnHdlr { @@ -720,6 +732,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_gsm_sres), testcasename(), g_gb, 1003); vc_conn.done; + f_cleanup(); } /* MS never responds to ID REQ, expect ATTACH REJECT */ @@ -746,6 +759,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_auth_id_timeout), testcasename(), g_gb, 2, 40.0); vc_conn.done; + f_cleanup(); } /* HLR never responds to SAI REQ, expect ATTACH REJECT */ @@ -766,6 +780,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_timeout), testcasename(), g_gb, 3); vc_conn.done; + f_cleanup(); } /* HLR rejects SAI, expect ATTACH REJECT */ @@ -787,6 +802,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_reject), testcasename(), g_gb, 4); vc_conn.done; + f_cleanup(); } /* HLR never responds to UL REQ, expect ATTACH REJECT */ @@ -816,6 +832,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_timeout), testcasename(), g_gb, 5); vc_conn.done; + f_cleanup(); } /* HLR rejects UL REQ, expect ATTACH REJECT */ @@ -846,6 +863,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_reject), testcasename(), g_gb, 6); vc_conn.done; + f_cleanup(); } @@ -871,6 +889,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_combined), testcasename(), g_gb, 7); vc_conn.done; + f_cleanup(); } /* Attempt of GPRS ATTACH in 'accept all' mode */ @@ -895,6 +914,7 @@ f_vty_config(SGSNVTY, "sgsn", "auth-policy accept-all"); vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 8); vc_conn.done; + f_cleanup(); } /* Attempt of GPRS ATTACH in 'accept all' mode */ @@ -933,6 +953,7 @@ /* test with home IMSI: Must Accept */ vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 10); vc_conn.done; + f_cleanup(); } /* Routing Area Update from Unknown TLLI -> REJECT */ @@ -954,6 +975,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_rau_unknown), testcasename(), g_gb, 11); vc_conn.done; + f_cleanup(); } private function f_TC_attach_rau(charstring id) runs on BSSGP_ConnHdlr { @@ -969,6 +991,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_rau), testcasename(), g_gb, 12); vc_conn.done; + f_cleanup(); } /* general GPRS DETACH helper */ @@ -1022,6 +1045,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_detach_unknown_nopoweroff), testcasename(), g_gb, 13); vc_conn.done; + f_cleanup(); } /* IMSI DETACH (power-off) for unknown TLLI */ @@ -1034,6 +1058,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_detach_unknown_poweroff), testcasename(), g_gb, 14); vc_conn.done; + f_cleanup(); } /* IMSI DETACH (non-power-off) for known TLLI */ @@ -1049,6 +1074,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_detach_nopoweroff), testcasename(), g_gb, 15); vc_conn.done; + f_cleanup(); } /* IMSI DETACH (power-off) for known TLLI */ @@ -1064,6 +1090,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_detach_poweroff), testcasename(), g_gb, 16); vc_conn.done; + f_cleanup(); } type record PdpActPars { @@ -1364,6 +1391,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act), testcasename(), g_gb, 17); vc_conn.done; + f_cleanup(); } /* PDP Context activation for not-attached subscriber; expect fail */ @@ -1392,6 +1420,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_pdp_act_unattached), testcasename(), g_gb, 18); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT + user plane traffic */ @@ -1411,6 +1440,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user), testcasename(), g_gb, 19); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT; reject from GGSN */ @@ -1430,6 +1460,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_ggsn_reject), testcasename(), g_gb, 20); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT + user plane traffic + PDP CTX DEACT in MO direction */ @@ -1451,6 +1482,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mo), testcasename(), g_gb, 21); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT + user plane traffic + PDP CTX DEACT in MT direction */ @@ -1472,6 +1504,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mt), testcasename(), g_gb, 22); vc_conn.done; + f_cleanup(); } /* Test MS sending a duplicate Deact PDP Ctx (OS#3956). */ @@ -1522,6 +1555,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_dup), testcasename(), g_gb, 46); vc_conn.done; + f_cleanup(); } /* ATTACH + ATTACH (2nd) */ @@ -1541,6 +1575,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_forget_tlli_attach), testcasename(), g_gb, 22); vc_conn.done; + f_cleanup(); } private function f_TC_attach_echo_timeout(charstring id) runs on BSSGP_ConnHdlr { @@ -1600,6 +1635,7 @@ vc_conn := f_start_handler(refers(f_TC_attach_echo_timeout), testcasename(), g_gb, 67, 50.0); vc_conn.done; g_use_echo := false; + f_cleanup(); } private function f_TC_attach_restart_ctr_echo(charstring id) runs on BSSGP_ConnHdlr { @@ -1641,6 +1677,7 @@ vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_echo), testcasename(), g_gb, 23, 30.0); vc_conn.done; g_use_echo := false + f_cleanup(); } private function f_TC_attach_restart_ctr_create(charstring id) runs on BSSGP_ConnHdlr { @@ -1680,6 +1717,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_create), testcasename(), g_gb, 24, 30.0); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT + user plane traffic + PDP CTX DEACT in MT direction + trigger T3395 */ @@ -1716,6 +1754,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_mt_t3395_expire), testcasename(), g_gb, 25, 60.0); vc_conn.done; + f_cleanup(); } /* ATTACH + PDP CTX ACT dropped + retrans */ @@ -1774,6 +1813,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_gtp_retrans), testcasename(), g_gb, 27); vc_conn.done; + f_cleanup(); } /* Test that SGSN GTP response retransmit queue works fine */ @@ -1833,6 +1873,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_gtp_retrans_resp), testcasename(), g_gb, 28); vc_conn.done; + f_cleanup(); } private function f_TC_hlr_location_cancel_request_update(charstring id) runs on BSSGP_ConnHdlr { @@ -1881,6 +1922,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_error_ind_ggsn), testcasename(), g_gb, 26); vc_conn.done; + f_cleanup(); } testcase TC_hlr_location_cancel_request_update() runs on test_CT { @@ -1893,6 +1935,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb, 31); vc_conn.done; + f_cleanup(); } @@ -1924,6 +1967,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_withdraw), testcasename(), g_gb, 29); vc_conn.done; + f_cleanup(); } @@ -1954,6 +1998,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb, 30); vc_conn.done; + f_cleanup(); } private function f_TC_hlr_location_cancel_request_unknown_subscriber_update(charstring id) runs on BSSGP_ConnHdlr { @@ -1970,6 +2015,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb, 30); vc_conn.done; + f_cleanup(); } private function f_TC_attach_detach_check_subscriber_list(charstring id) runs on BSSGP_ConnHdlr { @@ -1991,6 +2037,7 @@ vc_conn.done; f_vty_transceive_not_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*"); + f_cleanup(); } /* Attempt an attach, but loose the Identification Request (IMEI) */ @@ -2036,6 +2083,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_no_imei_response), testcasename(), g_gb, 32, 60.0); vc_conn.done; + f_cleanup(); } /* Attempt an attach, but loose the Identification Request (IMSI) */ @@ -2084,6 +2132,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb, 35, 60.0); vc_conn.done; + f_cleanup(); } private function f_sgsn_vty_destroy_subscriber_imsi(TELNETasp_PT pt, charstring imsi) { @@ -2105,6 +2154,7 @@ f_vty_transceive_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*"); f_sgsn_vty_destroy_subscriber_imsi(SGSNVTY, imsi); + f_cleanup(); } private function f_TC_attach_closed_imsi_added(charstring id) runs on BSSGP_ConnHdlr { @@ -2167,6 +2217,7 @@ /* test with foreign IMSI: Must Reject */ vc_conn := f_start_handler(refers(f_TC_attach_closed_add_vty), testcasename(), g_gb, 9); vc_conn.done; + f_cleanup(); } /* Attempt an attach, but never answer a Attach Complete */ @@ -2207,6 +2258,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_check_complete_resend), testcasename(), g_gb, 36, 60.0); vc_conn.done; + f_cleanup(); } private function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { @@ -2254,6 +2306,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_rau_a_a), testcasename(), g_gb, 37); vc_conn.done; + f_cleanup(); } private function f_TC_attach_rau_a_b(charstring id) runs on BSSGP_ConnHdlr { @@ -2285,6 +2338,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_rau_a_b), testcasename(), g_gb, 38); vc_conn.done; + f_cleanup(); } private function f_TC_attach_gmm_attach_req_while_gmm_attach(charstring id) runs on BSSGP_ConnHdlr { @@ -2357,6 +2411,7 @@ f_vty_config(SGSNVTY, "sgsn", "auth-policy accept-all"); vc_conn := f_start_handler(refers(f_TC_attach_gmm_attach_req_while_gmm_attach), testcasename(), g_gb, 39); vc_conn.done; + f_cleanup(); } private function f_TC_attach_usim_resync(charstring id) runs on BSSGP_ConnHdlr { @@ -2485,6 +2540,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_attach_usim_resync), testcasename(), g_gb, 40); vc_conn.done; + f_cleanup(); } @@ -2502,6 +2558,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_llc_null), testcasename(), g_gb, 41); vc_conn.done; + f_cleanup(); } /* Send LLC SABM to see if the SGSN rejects it properly with DM */ @@ -2518,6 +2575,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_llgmm), testcasename(), g_gb, 42); vc_conn.done; + f_cleanup(); } /* Send LLC SABM to see if the SGSN rejects it properly with DM */ @@ -2534,6 +2592,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_ll5), testcasename(), g_gb, 43); vc_conn.done; + f_cleanup(); } /* test XID handshake with empty L3 info: expect empty return (some phones require that, OS#3426 */ @@ -2563,6 +2622,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_xid_empty_l3), testcasename(), g_gb, 44); vc_conn.done; + f_cleanup(); } private function f_TC_xid_n201u(charstring id) runs on BSSGP_ConnHdlr { @@ -2591,6 +2651,7 @@ f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_xid_n201u), testcasename(), g_gb, 45); vc_conn.done; + f_cleanup(); } private function f_TC_attach_pdp_act_gmm_detach(charstring id) runs on BSSGP_ConnHdlr { @@ -2617,6 +2678,7 @@ f_init(); vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_gmm_detach), testcasename(), g_gb, 26); vc_conn.done; + f_cleanup(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I471eb851e5d41de5d8d974ec81be27024d7d313a Gerrit-Change-Number: 15295 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:04:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:04:58 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15308 ) Change subject: sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7e97bac1c13a2c26203eb64e590fd75d77eb44bd Gerrit-Change-Number: 15308 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 09:04:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:06:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:06:14 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15308 ) Change subject: sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN ...................................................................... sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN Change-Id: I7e97bac1c13a2c26203eb64e590fd75d77eb44bd --- M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/gprs_sgsn.c M src/gprs/sgsn_libgtp.c 3 files changed, 16 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 17cafa3..eea9fb0 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -402,6 +402,7 @@ struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_find_alloc(uint32_t id); void sgsn_ggsn_ctx_drop_pdp(struct sgsn_pdp_ctx *pctx); int sgsn_ggsn_ctx_drop_all_pdp_except(struct sgsn_ggsn_ctx *ggsn, struct sgsn_pdp_ctx *except); +int sgsn_ggsn_ctx_drop_all_pdp(struct sgsn_ggsn_ctx *ggsn); void sgsn_ggsn_ctx_add_pdp(struct sgsn_ggsn_ctx *ggc, struct sgsn_pdp_ctx *pdp); void sgsn_ggsn_ctx_remove_pdp(struct sgsn_ggsn_ctx *ggc, struct sgsn_pdp_ctx *pdp); void sgsn_ggsn_ctx_check_echo_timer(struct sgsn_ggsn_ctx *ggc); diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 7174bd5..829204e 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -759,6 +759,11 @@ return num; } +int sgsn_ggsn_ctx_drop_all_pdp(struct sgsn_ggsn_ctx *ggsn) +{ + return sgsn_ggsn_ctx_drop_all_pdp_except(ggsn, NULL); +} + void sgsn_ggsn_ctx_add_pdp(struct sgsn_ggsn_ctx *ggc, struct sgsn_pdp_ctx *pdp) { llist_add(&pdp->ggsn_list, &ggc->pdp_list); diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c index 79d5543..a8ad527 100644 --- a/src/gprs/sgsn_libgtp.c +++ b/src/gprs/sgsn_libgtp.c @@ -469,7 +469,8 @@ void sgsn_ggsn_echo_req(struct sgsn_ggsn_ctx *ggc) { - gtp_echo_req(ggc->gsn, ggc->gtp_version, NULL, &ggc->remote_addr); + LOGGGSN(ggc, LOGL_INFO, "GTP Tx Echo Request\n"); + gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr); } #ifdef BUILD_IU @@ -579,13 +580,15 @@ } /* Confirmation of an GTP ECHO request */ -static int echo_conf(struct pdp_t *pdp, void *cbp, int recovery) +static int echo_conf(void *cbp, bool timeout) { - if (recovery < 0) { - LOGP(DGPRS, LOGL_NOTICE, "GTP Echo Request timed out\n"); + struct sgsn_ggsn_ctx *ggc = (struct sgsn_ggsn_ctx *)cbp; + if (timeout) { + LOGGGSN(ggc, LOGL_NOTICE, "GTP Echo Request timed out\n"); /* FIXME: if version == 1, retry with version 0 */ + sgsn_ggsn_ctx_drop_all_pdp(ggc); } else { - DEBUGP(DGPRS, "GTP Rx Echo Response\n"); + LOGGGSN(ggc, LOGL_INFO, "GTP Rx Echo Response\n"); } return 0; } @@ -630,8 +633,8 @@ switch (type) { case GTP_ECHO_REQ: - /* libgtp hands us the RECOVERY number instead of a cause */ - return echo_conf(pdp, cbp, cause); + /* libgtp hands us the RECOVERY number instead of a cause (EOF on timeout) */ + return echo_conf(cbp, cause == EOF); case GTP_CREATE_PDP_REQ: return create_pdp_conf(pdp, cbp, cause); case GTP_DELETE_PDP_REQ: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I7e97bac1c13a2c26203eb64e590fd75d77eb44bd Gerrit-Change-Number: 15308 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:11:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:11:51 +0000 Subject: Change in ...osmo-sgsn[master]: Move lots of Iu/ranap specific code into its own file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15335 ) Change subject: Move lots of Iu/ranap specific code into its own file ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I549042aaff045a378de77d657cc396ee08f22f33 Gerrit-Change-Number: 15335 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:11:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:12:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:12:28 +0000 Subject: Change in ...libosmocore[master]: MAXPATHLEN set if not defined In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14797 ) Change subject: MAXPATHLEN set if not defined ...................................................................... MAXPATHLEN set if not defined Change-Id: I1dce8ace228814b5a7246a00b31309ab9461d266 --- M src/vty/command.c M src/vty/vty.c 2 files changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 454a10c..35169eb 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -47,6 +47,11 @@ #include #include +#ifndef MAXPATHLEN + #define MAXPATHLEN 4096 +#endif + + /*! \addtogroup command * @{ * VTY command handling diff --git a/src/vty/vty.c b/src/vty/vty.c index aa23fa0..babe0ef 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -67,6 +67,11 @@ #include #include +#ifndef MAXPATHLEN + #define MAXPATHLEN 4096 +#endif + + /* \addtogroup vty * @{ * \file vty.c */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14797 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1dce8ace228814b5a7246a00b31309ab9461d266 Gerrit-Change-Number: 14797 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Ruben Undheim Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:13:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:13:49 +0000 Subject: Change in ...libosmocore[master]: codec/ecu: Introduce new generic Error Concealment Unit abstraction In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15026 ) Change subject: codec/ecu: Introduce new generic Error Concealment Unit abstraction ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d33c9c7c2d4c7462ff38a49c178b65accae1915 Gerrit-Change-Number: 15026 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 09:13:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:13:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:13:50 +0000 Subject: Change in ...libosmocore[master]: codec/ecu: Introduce new generic Error Concealment Unit abstraction In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15026 ) Change subject: codec/ecu: Introduce new generic Error Concealment Unit abstraction ...................................................................... codec/ecu: Introduce new generic Error Concealment Unit abstraction We don't want to expose the details of a given ECU implementation to the user (e.g. osmo-bts), but have a generic abstraction layer where an ECU implementation can simply register a few call-back functions with the generic core. As the developer and copyright holder of the related code, I hereby state that any ECU implementation using 'struct osmo_ecu_ops' and registering with the 'osmo_ecu_register()' function shall not be considered as a derivative work under any applicable copyright law; the copyleft terms of GPLv2 shall hence not apply to any such ECU implementation. The intent of the above exception is to allow anyone to combine third party Error Concealment Unit implementations with libosmocore, including but not limited to such published by ETSI. Change-Id: I4d33c9c7c2d4c7462ff38a49c178b65accae1915 --- M include/osmocom/codec/ecu.h M src/codec/Makefile.am A src/codec/ecu.c M src/codec/ecu_fr.c M tests/codec/codec_ecu_fr_test.c M tests/codec/codec_ecu_fr_test.ok 6 files changed, 447 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index ec0a2f8..ec94670 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -13,3 +13,57 @@ void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame); int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame); + +enum osmo_ecu_codec { + OSMO_ECU_CODEC_HR, + OSMO_ECU_CODEC_FR, + OSMO_ECU_CODEC_EFR, + OSMO_ECU_CODEC_AMR, + _NUM_OSMO_ECU_CODECS +}; + +/*********************************************************************** + * Generic ECU abstraction layer below + ***********************************************************************/ + +/* As the developer and copyright holder of the related code, I hereby + * state that any ECU implementation using 'struct osmo_ecu_ops' and + * registering with the 'osmo_ecu_register()' function shall not be + * considered as a derivative work under any applicable copyright law; + * the copyleft terms of GPLv2 shall hence not apply to any such ECU + * implementation. + * + * The intent of the above exception is to allow anyone to combine third + * party Error Concealment Unit implementations with libosmocodec. + * including but not limited to such published by ETSI. + * + * -- Harald Welte on August 1, 2019. + */ + +struct osmo_ecu_state { + enum osmo_ecu_codec codec; + uint8_t data[0]; +}; + +/* initialize an ECU instance */ +struct osmo_ecu_state *osmo_ecu_init(void *ctx, enum osmo_ecu_codec codec); + +/* destroy an ECU instance */ +void osmo_ecu_destroy(struct osmo_ecu_state *st); + +/* process a received frame a substitute/erroneous frame */ +int osmo_ecu_frame_in(struct osmo_ecu_state *st, bool bfi, + const uint8_t *frame, unsigned int frame_bytes); + +/* generate output data for a substitute/erroneous frame */ +int osmo_ecu_frame_out(struct osmo_ecu_state *st, uint8_t *frame_out); + +struct osmo_ecu_ops { + struct osmo_ecu_state * (*init)(void *ctx, enum osmo_ecu_codec codec); + void (*destroy)(struct osmo_ecu_state *); + int (*frame_in)(struct osmo_ecu_state *st, bool bfi, + const uint8_t *frame, unsigned int frame_bytes); + int (*frame_out)(struct osmo_ecu_state *st, uint8_t *frame_out); +}; + +int osmo_ecu_register(const struct osmo_ecu_ops *ops, enum osmo_ecu_codec codec); diff --git a/src/codec/Makefile.am b/src/codec/Makefile.am index b522d43..c9d7a22 100644 --- a/src/codec/Makefile.am +++ b/src/codec/Makefile.am @@ -13,6 +13,6 @@ lib_LTLIBRARIES = libosmocodec.la -libosmocodec_la_SOURCES = gsm610.c gsm620.c gsm660.c gsm690.c ecu_fr.c +libosmocodec_la_SOURCES = gsm610.c gsm620.c gsm660.c gsm690.c ecu.c ecu_fr.c libosmocodec_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined libosmocodec_la_LIBADD = $(top_builddir)/src/libosmocore.la diff --git a/src/codec/ecu.c b/src/codec/ecu.c new file mode 100644 index 0000000..db7148c --- /dev/null +++ b/src/codec/ecu.c @@ -0,0 +1,118 @@ +/* Core infrastructure for ECU implementations */ + +/* (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +/* As the developer and copyright holder of the related code, I hereby + * state that any ECU implementation using 'struct osmo_ecu_ops' and + * registering with the 'osmo_ecu_register()' function shall not be + * considered as a derivative work under any applicable copyright law; + * the copyleft terms of GPLv2 shall hence not apply to any such ECU + * implementation. + * + * The intent of the above exception is to allow anyone to combine third + * party Error Concealment Unit implementations with libosmocodec. + * including but not limited to such published by ETSI. + * + * -- Harald Welte on August 1, 2019. + */ + +#include +#include + +#include +#include + +static const struct osmo_ecu_ops *g_ecu_ops[_NUM_OSMO_ECU_CODECS]; + +/*********************************************************************** + * high-level API for users + ***********************************************************************/ + +/*! initialize an ECU instance for given codec. + * \param[in] ctx talloc context from which to allocate + * \parma[in] codec codec for which to initialize/create ECU */ +struct osmo_ecu_state *osmo_ecu_init(void *ctx, enum osmo_ecu_codec codec) +{ + if (codec >= ARRAY_SIZE(g_ecu_ops)) + return NULL; + if (!g_ecu_ops[codec] || !g_ecu_ops[codec]->init) + return NULL; + return g_ecu_ops[codec]->init(ctx, codec); +} + +/*! destroy an ECU instance */ +void osmo_ecu_destroy(struct osmo_ecu_state *st) +{ + if (st->codec >= ARRAY_SIZE(g_ecu_ops)) + return; + if (!g_ecu_ops[st->codec]) + return; + + if (!g_ecu_ops[st->codec]->destroy) + talloc_free(st); + else + g_ecu_ops[st->codec]->destroy(st); +} + +/*! process a received frame a substitute/erroneous frame. + * \param[in] st ECU state/instance on which to operate + * \param[in] bfi Bad Frame Indication + * \param[in] frame received codec frame to be processed + * \param[in] frame_bytes number of bytes available in frame */ +int osmo_ecu_frame_in(struct osmo_ecu_state *st, bool bfi, + const uint8_t *frame, unsigned int frame_bytes) +{ + if (st->codec >= ARRAY_SIZE(g_ecu_ops)) + return -EINVAL; + if (!g_ecu_ops[st->codec]) + return -EBUSY; + return g_ecu_ops[st->codec]->frame_in(st, bfi, frame, frame_bytes); +} + +/*! generate output data for a substitute/erroneous frame. + * \param[in] st ECU state/instance on which to operate + * \param[out] frame_out buffer for generated output frame + * \return number of bytes written to frame_out; negative on error */ +int osmo_ecu_frame_out(struct osmo_ecu_state *st, uint8_t *frame_out) +{ + if (st->codec >= ARRAY_SIZE(g_ecu_ops)) + return -EINVAL; + if (!g_ecu_ops[st->codec]) + return -EBUSY; + return g_ecu_ops[st->codec]->frame_out(st, frame_out); +} + +/*********************************************************************** + * low-level API for ECU implementations + ***********************************************************************/ + +/*! register an ECU implementation for a given codec */ +int osmo_ecu_register(const struct osmo_ecu_ops *ops, enum osmo_ecu_codec codec) +{ + if (codec >= ARRAY_SIZE(g_ecu_ops)) + return -EINVAL; + if (g_ecu_ops[codec]) + return -EBUSY; + + g_ecu_ops[codec] = ops; + + return 0; +} diff --git a/src/codec/ecu_fr.c b/src/codec/ecu_fr.c index ef42ea9..4545172 100644 --- a/src/codec/ecu_fr.c +++ b/src/codec/ecu_fr.c @@ -164,3 +164,54 @@ return 0; } + +/*********************************************************************** + * Integration with ECU core + ***********************************************************************/ + +static struct osmo_ecu_state *ecu_fr_init(void *ctx, enum osmo_ecu_codec codec) +{ + struct osmo_ecu_state *st; + size_t size = sizeof(*st) + sizeof(struct osmo_ecu_fr_state); + + st = talloc_named_const(ctx, size, "ecu_state_FR"); + if (!st) + return NULL; + + memset(st, 0, size); + st->codec = codec; + + return st; +} + +static int ecu_fr_frame_in(struct osmo_ecu_state *st, bool bfi, const uint8_t *frame, + unsigned int frame_bytes) +{ + struct osmo_ecu_fr_state *fr = (struct osmo_ecu_fr_state *) &st->data; + if (bfi) + return 0; + + osmo_ecu_fr_reset(fr, frame); + return 0; +} + +static int ecu_fr_frame_out(struct osmo_ecu_state *st, uint8_t *frame_out) +{ + struct osmo_ecu_fr_state *fr = (struct osmo_ecu_fr_state *) &st->data; + + if (osmo_ecu_fr_conceal(fr, frame_out) == 0) + return GSM_FR_BYTES; + else + return -1; +} + +static const struct osmo_ecu_ops osmo_ecu_ops_fr = { + .init = ecu_fr_init, + .frame_in = ecu_fr_frame_in, + .frame_out = ecu_fr_frame_out, +}; + +static __attribute__((constructor)) void on_dso_load_ecu_fr(void) +{ + osmo_ecu_register(&osmo_ecu_ops_fr, OSMO_ECU_CODEC_FR); +} diff --git a/tests/codec/codec_ecu_fr_test.c b/tests/codec/codec_ecu_fr_test.c index 3561c44..7ebc558 100644 --- a/tests/codec/codec_ecu_fr_test.c +++ b/tests/codec/codec_ecu_fr_test.c @@ -113,6 +113,8 @@ int i, rc; int j = 0; + printf("=> Testing FR concealment (simple, consecutive bad frames)\n"); + while (sample_frame_hex[j] != NULL) { /* Parse frame from string to hex */ osmo_hexparse(sample_frame_hex[j], frame, GSM_FR_BYTES); @@ -148,6 +150,8 @@ unsigned int frame_len; int rc, i = 0; + printf("\n=> Testing FR concealment (realistic, various bad frames)\n"); + while (fr_frames_hex[i] != NULL) { /* Debug print */ printf("Frame No. %03i:\n", i); @@ -174,11 +178,54 @@ } } +/* Simulate a real life situation: voice frames with a few dropouts, using generic core */ +void test_fr_concealment_realistic_core() +{ + struct osmo_ecu_state *state = osmo_ecu_init(NULL, OSMO_ECU_CODEC_FR); + uint8_t frame[GSM_FR_BYTES]; + unsigned int frame_len; + int rc, i = 0; + + printf("\n=> Testing FR concealment (realistic, using ECU abstraction)\n"); + + OSMO_ASSERT(state); + + while (fr_frames_hex[i] != NULL) { + /* Debug print */ + printf("Frame No. %03i:\n", i); + + /* Good or bad frame? */ + frame_len = strlen(fr_frames_hex[i]) / 2; + if (frame_len == GSM_FR_BYTES) { + printf(" * input: %s\n", fr_frames_hex[i]); + osmo_hexparse(fr_frames_hex[i], frame, GSM_FR_BYTES); + osmo_ecu_frame_in(state, false, frame, GSM_FR_BYTES); + } else { + printf(" * input: (bad)\n"); + memset(frame, 0x00, GSM_FR_BYTES); + osmo_ecu_frame_in(state, true, frame, 0); + rc = osmo_ecu_frame_out(state, frame); + OSMO_ASSERT(rc == GSM_FR_BYTES); + } + + /* Print result */ + printf(" * output: %s\n", + osmo_hexdump_nospc(frame, GSM_FR_BYTES)); + + /* Go to the next frame */ + i++; + } + + osmo_ecu_destroy(state); +} + + int main(int argc, char **argv) { /* Perform actual tests */ test_fr_concealment(); test_fr_concealment_realistic(); + test_fr_concealment_realistic_core(); return 0; } diff --git a/tests/codec/codec_ecu_fr_test.ok b/tests/codec/codec_ecu_fr_test.ok index 3cc35af..30163a9 100644 --- a/tests/codec/codec_ecu_fr_test.ok +++ b/tests/codec/codec_ecu_fr_test.ok @@ -1,3 +1,4 @@ +=> Testing FR concealment (simple, consecutive bad frames) Start with: d9ec9be212901f802335598c501f805bad3d4ba01f809b69df5a501f809cd1b4da, XMAXC: [3f, 3f, 3f, 3f] conceal: 00, result: d9ec9be212901f802335598c501f805bad3d4ba01f809b69df5a501f809cd1b4da XMAXC: [3f, 3f, 3f, 3f] conceal: 01, result: d9ec9be212901d802335598c501d805bad3d4ba01d809b69df5a501d809cd1b4da XMAXC: [3b, 3b, 3b, 3b] @@ -40,6 +41,181 @@ conceal: 17, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] conceal: 18, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] conceal: 19, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] + +=> Testing FR concealment (realistic, various bad frames) +Frame No. 000: + * input: d9aa93ae63de00471a91b95b8660471392b4a2daa037628f391c624039258dc723 + * output: d9aa93ae63de00471a91b95b8660471392b4a2daa037628f391c624039258dc723 +Frame No. 001: + * input: d8eb83699a66c036ec89b7246e6034dc8d48948620589b7256e3a6603b2371b8da + * output: d8eb83699a66c036ec89b7246e6034dc8d48948620589b7256e3a6603b2371b8da +Frame No. 002: + * input: d967abaa1cbe4035238da6ace4c036d46ec69ba600391c4eb8a2b040591c6a3924 + * output: d967abaa1cbe4035238da6ace4c036d46ec69ba600391c4eb8a2b040591c6a3924 +Frame No. 003: + * input: d8e8a42662c240472469b91bd2e0452291b6dba600495b8e38dcb020491a71c91b + * output: d8e8a42662c240472469b91bd2e0452291b6dba600495b8e38dcb020491a71c91b +Frame No. 004: + * input: da2aac1ddbb00036e46e26dcec6039138db923822047137248e3560048e38dc8e3 + * output: da2aac1ddbb00036e46e26dcec6039138db923822047137248e3560048e38dc8e3 +Frame No. 005: + * input: d929ab2a9b5240395b6dc72ba020469c8d551c5440349c9148e36a4036a372471b + * output: d929ab2a9b5240395b6dc72ba020469c8d551c5440349c9148e36a4036a372471b +Frame No. 006: + * input: d9eb93215bb8a0271c69c724682036db71c71a94a0372491b72bee4044eb71b923 + * output: d9eb93215bb8a0271c69c724682036db71c71a94a0372491b72bee4044eb71b923 +Frame No. 007: + * input: d9ab9aa19abc40391b6e5ae2ee40471b91c6dbe820492291b8e4b84036e47238db + * output: d9ab9aa19abc40391b6e5ae2ee40471b91c6dbe820492291b8e4b84036e47238db +Frame No. 008: + * input: d96b9be9db782044e371b55cb200389491c69b8ea034e271c8d3808038ec6db8e3 + * output: d96b9be9db782044e371b55cb200389491c69b8ea034e271c8d3808038ec6db8e3 +Frame No. 009: + * input: d9aa9365e3f060375c6db6ebc4c02764b1c51b78a0571c91a723de6049248dc8dd + * output: d9aa9365e3f060375c6db6ebc4c02764b1c51b78a0571c91a723de6049248dc8dd +Frame No. 010: + * input: (bad) + * output: d9aa9365e3f060375c6db6ebc4c02764b1c51b78a0571c91a723de6049248dc8dd +Frame No. 011: + * input: d9ea9c219ce60046e38d3724e0c034e56e36eb7e0038d471b8dcb260491b8dbb23 + * output: d9ea9c219ce60046e38d3724e0c034e56e36eb7e0038d471b8dcb260491b8dbb23 +Frame No. 012: + * input: d9e89be9d9e0a0391b6dd6a4624029247138e3a2a04713922524de0036db69d91c + * output: d9e89be9d9e0a0391b6dd6a4624029247138e3a2a04713922524de0036db69d91c +Frame No. 013: + * input: d9699422a2b6a048dd90c91c6a802b6259395c8880575b4a58e4ac20269d7248d4 + * output: d9699422a2b6a048dd90c91c6a802b6259395c8880575b4a58e4ac20269d7248d4 +Frame No. 014: + * input: d967ac5b1baae0371c71b8ab9c804a9e8e58a55a8038626ec8dcb640395c7244dc + * output: d967ac5b1baae0371c71b8ab9c804a9e8e58a55a8038626ec8dcb640395c7244dc +Frame No. 015: + * input: d9e8a3e262e68027638db52b88a038634e471a7ec049136e3b1bc8402923adcad2 + * output: d9e8a3e262e68027638db52b88a038634e471a7ec049136e3b1bc8402923adcad2 +Frame No. 016: + * input: d8eab36e1bbe0046e34d491b608035137658d3524044e48e375cdac0472b9238d4 + * output: d8eab36e1bbe0046e34d491b608035137658d3524044e48e375cdac0472b9238d4 +Frame No. 017: + * input: d9689ba5e3d260491b516adb5e4027256e27227ee0351c8e549a5c60492471971b + * output: d9689ba5e3d260491b516adb5e4027256e27227ee0351c8e549a5c60492471971b +Frame No. 018: + * input: (bad) + * output: d9689ba5e3d260491b516adb5e4027256e27227ee0351c8e549a5c60492471971b +Frame No. 019: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 020: + * input: d8e6a2e1d3d2605b1376c8d35280392451391cbc80392a71b6db8aa049238dc8ab + * output: d8e6a2e1d3d2605b1376c8d35280392451391cbc80392a71b6db8aa049238dc8ab +Frame No. 021: + * input: d9a87ba1a3982048eb8a471cac00472b4e391bbc40292489b71cc200495b8d3ae3 + * output: d9a87ba1a3982048eb8a471cac00472b4e391bbc40292489b71cc200495b8d3ae3 +Frame No. 022: + * input: d9278b2a1ba4c0475b8dc722d6e0491b5228da70204ae36dc71d94a056a29236e3 + * output: d9278b2a1ba4c0475b8dc722d6e0491b5228da70204ae36dc71d94a056a29236e3 +Frame No. 023: + * input: d9ec9be2129520392335598c50c04b5bad3d4ba680789b69df5a5aa0469cd1b4da + * output: d9ec9be2129520392335598c50c04b5bad3d4ba680789b69df5a5aa0469cd1b4da +Frame No. 024: + * input: d8ea932623e660669b8e4a9dd8a03aa32a76e466e028d396cc9bbe4047256dc8e5 + * output: d8ea932623e660669b8e4a9dd8a03aa32a76e466e028d396cc9bbe4047256dc8e5 +Frame No. 025: + * input: d96a94215aa0403aab713f22e8e024e68db91ab6a027abd1a55b6e804aec9146e4 + * output: d96a94215aa0403aab713f22e8e024e68db91ab6a027abd1a55b6e804aec9146e4 +Frame No. 026: + * input: d867ac21e270a0350d6ac91a724037247246d2a6c0396c89d6dc562049244e48d5 + * output: d867ac21e270a0350d6ac91a724037247246d2a6c0396c89d6dc562049244e48d5 +Frame No. 027: + * input: d8a9b460d3b48026a4ad471b7c20452491b69bbc803ae48db722ee00292491a8db + * output: d8a9b460d3b48026a4ad471b7c20452491b69bbc803ae48db722ee00292491a8db +Frame No. 028: + * input: d928a3e1d3b24036e37244abf02047634d371b74c047637148a29ac03b234e38e3 + * output: d928a3e1d3b24036e37244abf02047634d371b74c047637148a29ac03b234e38e3 +Frame No. 029: + * input: d9ab9b21d2e0c0471c693aec54e044dbae46dc7c20391badb724ee8038e469bb15 + * output: d9ab9b21d2e0c0471c693aec54e044dbae46dc7c20391badb724ee8038e469bb15 +Frame No. 030: + * input: d9a99361a276403b1a6ad6dcd40026e489c8e3bc40371c4dc564e2c036e28eb963 + * output: d9a99361a276403b1a6ad6dcd40026e489c8e3bc40371c4dc564e2c036e28eb963 +Frame No. 031: + * input: (bad) + * output: d9a99361a276403b1a6ad6dcd40026e489c8e3bc40371c4dc564e2c036e28eb963 +Frame No. 032: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 033: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 034: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 035: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 036: + * input: (bad) + * output: d00000000000000000000000000000000000000000000000000000000000000000 +Frame No. 037: + * input: d92c8b6d5aee4034ebb22724862047145634a5c0a038e371b8e4a880485c89dd25 + * output: d92c8b6d5aee4034ebb22724862047145634a5c0a038e371b8e4a880485c89dd25 +Frame No. 038: + * input: d8e78b29e3c6c038dba9d91beca04723ad491cda80471471b6ec7ae03b1396b91b + * output: d8e78b29e3c6c038dba9d91beca04723ad491cda80471471b6ec7ae03b1396b91b +Frame No. 039: + * input: d8a78b25e37a0022dd8a46dc68a0351bad391bde2046e56dd8dc96c038e396d89b + * output: d8a78b25e37a0022dd8a46dc68a0351bad391bde2046e56dd8dc96c038e396d89b +Frame No. 040: + * input: d8a88c255ab6e038e38e48dbde8038ad8dc8db8ec0376372b564b44038e49234dc + * output: d8a88c255ab6e038e38e48dbde8038ad8dc8db8ec0376372b564b44038e49234dc +Frame No. 041: + * input: d9708ce6a39ce049646646a2c1a0272496b29a66c037db562863ace0795b55b2e3 + * output: d9708ce6a39ce049646646a2c1a0272496b29a66c037db562863ace0795b55b2e3 +Frame No. 042: + * input: d8ee9bea5ae4003ae371b713eae05adc91995a5ea064dcc9571e786026ed51c52c + * output: d8ee9bea5ae4003ae371b713eae05adc91995a5ea064dcc9571e786026ed51c52c +Frame No. 043: + * input: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 + * output: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 +Frame No. 044: + * input: d92aab696190c046e26e392cae0026a376a8dc662048d291b75b54c04ad3ae3b1b + * output: d92aab696190c046e26e392cae0026a376a8dc662048d291b75b54c04ad3ae3b1b +Frame No. 045: + * input: d8e7a469627a6038e289cb1baca0569b8db6dddec026dc8e38e5dc803722722d23 + * output: d8e7a469627a6038e289cb1baca0569b8db6dddec026dc8e38e5dc803722722d23 +Frame No. 046: + * input: d8a88c299b64c03a548a58e37420272c6dd76b92c0471c9236dbc0e0551c71c713 + * output: d8a88c299b64c03a548a58e37420272c6dd76b92c0471c9236dbc0e0551c71c713 +Frame No. 047: + * input: (bad) + * output: d8a88c299b64c03a548a58e37420272c6dd76b92c0471c9236dbc0e0551c71c713 +Frame No. 048: + * input: d7299c19a3be8024e58ea7a49f20a522963ad976e0a76ecd92b38500cb62aa4c94 + * output: d7299c19a3be8024e58ea7a49f20a522963ad976e0a76ecd92b38500cb62aa4c94 +Frame No. 049: + * input: d7eb6c6262eee02b2c42e79a60a0aa55aed68a7f00ad358e10fad960e55a39396d + * output: d7eb6c6262eee02b2c42e79a60a0aa55aed68a7f00ad358e10fad960e55a39396d +Frame No. 050: + * input: d970858dd2ab61d91355ebc15ca1a6a7ca48a05cc0dae66f2523c2a1bad3825daa + * output: d970858dd2ab61d91355ebc15ca1a6a7ca48a05cc0dae66f2523c2a1bad3825daa +Frame No. 051: + * input: d8f0844a23ad20da50d6de025e81c37392b9039cc0c764c1bd1e94c1b699736a98 + * output: d8f0844a23ad20da50d6de025e81c37392b9039cc0c764c1bd1e94c1b699736a98 +Frame No. 052: + * input: d9708ce6a39ce049646646a2c1a0272496b29a66c037db562863ace0795b55b2e3 + * output: d9708ce6a39ce049646646a2c1a0272496b29a66c037db562863ace0795b55b2e3 +Frame No. 053: + * input: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 + * output: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 +Frame No. 054: + * input: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 + * output: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 +Frame No. 055: + * input: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 + * output: d9299421d2944036ed69b8e572a048e36d551cd480571d4ec95be680356c69c763 +Frame No. 056: + * input: d2577a1cda50004924924924500049249249245000492492492450004923924924 + * output: d2577a1cda50004924924924500049249249245000492492492450004923924924 + +=> Testing FR concealment (realistic, using ECU abstraction) Frame No. 000: * input: d9aa93ae63de00471a91b95b8660471392b4a2daa037628f391c624039258dc723 * output: d9aa93ae63de00471a91b95b8660471392b4a2daa037628f391c624039258dc723 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d33c9c7c2d4c7462ff38a49c178b65accae1915 Gerrit-Change-Number: 15026 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:14:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:14:50 +0000 Subject: Change in ...simtrace2[master]: USB: place version string in interface In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/15176 ) Change subject: USB: place version string in interface ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I99361e313979711f4f45ad424a52faa3ddd7c558 Gerrit-Change-Number: 15176 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 09:14:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:14:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:14:51 +0000 Subject: Change in ...simtrace2[master]: USB: place version string in interface In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/15176 ) Change subject: USB: place version string in interface ...................................................................... USB: place version string in interface previously the version string was in the iConfiguration field of a dedicated USB configuration. this configuration had no interface, but the USB specification requires at least one interface. an interface has been added to this configuration. the version string is now in the iInterface field, and the iConfiguration field contains "firmware version". the USB specification does not require an end-point, and none are present. Change-Id: I99361e313979711f4f45ad424a52faa3ddd7c558 --- M firmware/libcommon/source/usb.c 1 file changed, 39 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/usb.c b/firmware/libcommon/source/usb.c index 9d3072f..e75646e 100644 --- a/firmware/libcommon/source/usb.c +++ b/firmware/libcommon/source/usb.c @@ -62,6 +62,7 @@ CARDEM_USIM4_INTF_STR, // runtime strings SERIAL_STR, + VERSION_CONF_STR, VERSION_STR, // count STRING_DESC_CNT @@ -69,7 +70,7 @@ /** array of static (from usb_strings) and runtime (serial, version) USB strings */ -static const unsigned char *usb_strings_extended[ARRAY_SIZE(usb_strings) + 2]; +static const unsigned char *usb_strings_extended[ARRAY_SIZE(usb_strings) + 3]; /* USB string for the serial (using 128-bit device ID) */ static unsigned char usb_string_serial[] = { @@ -110,6 +111,26 @@ }; /* USB string for the version */ +static const unsigned char usb_string_version_conf[] = { + USBStringDescriptor_LENGTH(16), + USBGenericDescriptor_STRING, + USBStringDescriptor_UNICODE('f'), + USBStringDescriptor_UNICODE('i'), + USBStringDescriptor_UNICODE('r'), + USBStringDescriptor_UNICODE('m'), + USBStringDescriptor_UNICODE('w'), + USBStringDescriptor_UNICODE('a'), + USBStringDescriptor_UNICODE('r'), + USBStringDescriptor_UNICODE('e'), + USBStringDescriptor_UNICODE(' '), + USBStringDescriptor_UNICODE('v'), + USBStringDescriptor_UNICODE('e'), + USBStringDescriptor_UNICODE('r'), + USBStringDescriptor_UNICODE('s'), + USBStringDescriptor_UNICODE('i'), + USBStringDescriptor_UNICODE('o'), + USBStringDescriptor_UNICODE('n'), +}; static const char git_version[] = GIT_VERSION; static unsigned char usb_string_version[2 + ARRAY_SIZE(git_version) * 2 - 2]; @@ -582,21 +603,34 @@ typedef struct _SIMTraceDriverConfigurationDescriptorVersion { /** Standard configuration descriptor. */ USBConfigurationDescriptor configuration; + USBInterfaceDescriptor version; } __attribute__ ((packed)) SIMTraceDriverConfigurationDescriptorVersion; static const SIMTraceDriverConfigurationDescriptorVersion configurationDescriptorVersion = { - /* Standard configuration descriptor */ + /* Standard configuration descriptor for the interface descriptor*/ .configuration = { .bLength = sizeof(USBConfigurationDescriptor), .bDescriptorType = USBGenericDescriptor_CONFIGURATION, .wTotalLength = sizeof(SIMTraceDriverConfigurationDescriptorVersion), - .bNumInterfaces = 0, + .bNumInterfaces = 1, .bConfigurationValue = CFG_NUM_VERSION, - .iConfiguration = VERSION_STR, + .iConfiguration = VERSION_CONF_STR, .bmAttributes = USBD_BMATTRIBUTES, .bMaxPower = USBConfigurationDescriptor_POWER(100), }, + /* Interface standard descriptor just holding the version information */ + .version = { + .bLength = sizeof(USBInterfaceDescriptor), + .bDescriptorType = USBGenericDescriptor_INTERFACE, + .bInterfaceNumber = 0, + .bAlternateSetting = 0, + .bNumEndpoints = 0, + .bInterfaceClass = USB_CLASS_PROPRIETARY, + .bInterfaceSubClass = 0xff, + .bInterfaceProtocol = 0, + .iInterface = VERSION_STR, + }, }; const USBConfigurationDescriptor *configurationDescriptorsArr[] = { @@ -693,6 +727,7 @@ usb_strings_extended[i] = usb_strings[i]; } usb_strings_extended[SERIAL_STR] = usb_string_serial; + usb_strings_extended[VERSION_CONF_STR] = usb_string_version_conf; usb_strings_extended[VERSION_STR] = usb_string_version; // Initialize standard USB driver -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/15176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I99361e313979711f4f45ad424a52faa3ddd7c558 Gerrit-Change-Number: 15176 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:15:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:15:29 +0000 Subject: Change in ...pysim[master]: make writing SMSP optional In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15312 ) Change subject: make writing SMSP optional ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic5fdd397244cfe73b5b6a12883316072cc10f7b4 Gerrit-Change-Number: 15312 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 02 Sep 2019 09:15:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:15:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:15:30 +0000 Subject: Change in ...pysim[master]: make writing SMSP optional In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15312 ) Change subject: make writing SMSP optional ...................................................................... make writing SMSP optional Change-Id: Ic5fdd397244cfe73b5b6a12883316072cc10f7b4 --- M pySim/cards.py 1 file changed, 8 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index cb42d83..55282aa 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -394,8 +394,9 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # EF.SMSP - r = self._scc.select_file(['3f00', '7f10', '6f42']) - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) + if p.get('smsp'): + r = self._scc.select_file(['3f00', '7f10', '6f42']) + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) # Set the Ki using proprietary command pdu = '80d4020010' + p['ki'] @@ -535,7 +536,8 @@ r = self._scc.select_file(['3f00', '7f10']) # write EF.SMSP - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) + if p.get('smsp'): + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) def erase(self): return @@ -614,8 +616,9 @@ print("Programming AD failed with code %s"%sw) # EF.SMSP - r = self._scc.select_file(['3f00', '7f10']) - data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) + if p.get('smsp'): + r = self._scc.select_file(['3f00', '7f10']) + data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) def erase(self): return -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic5fdd397244cfe73b5b6a12883316072cc10f7b4 Gerrit-Change-Number: 15312 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:15:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:15:48 +0000 Subject: Change in ...osmo-msc[master]: log, cosmetic: add "RR" to "Ciphering Mode Complete" In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15318 ) Change subject: log, cosmetic: add "RR" to "Ciphering Mode Complete" ...................................................................... log, cosmetic: add "RR" to "Ciphering Mode Complete" Distinguish the enclosed DTAP RR Ciphering Mode Complete message from the outer BSSMAP Cipher Mode Complete message in the DEBUG log. Change-Id: I80c69b491e2ddb932bc4295a01caaf6a903b1fe4 --- M src/libmsc/gsm_04_08.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.err 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 086116f..0bdc4fb 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -1185,7 +1185,7 @@ if (!mi) return 0; - LOG_MSC_A(msc_a, LOGL_DEBUG, "Ciphering Mode Complete contains Mobile Identity: %s\n", + LOG_MSC_A(msc_a, LOGL_DEBUG, "RR Ciphering Mode Complete contains Mobile Identity: %s\n", osmo_mi_name(mi->val, mi->len)); if (!vsub) diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 7b9970d..4585e0f 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -1785,7 +1785,7 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_INIT}: state_chg to UPD_HLR_VLR_S_WAIT_FOR_DATA DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: DTAP DRLL msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Dispatching 04.08 message: RR GSM48_MT_RR_CIPH_M_COMPL -DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Ciphering Mode Complete contains Mobile Identity: IMEI-SV-4234234234234275F +DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RR Ciphering Mode Complete contains Mobile Identity: IMEI-SV-4234234234234275F DVLR set IMEISV on subscriber; IMSI=901700000004620 IMEISV=4234234234234275 DVLR set IMEI on subscriber; IMSI=901700000004620 IMEI=42342342342342 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_ID_IMEISV -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I80c69b491e2ddb932bc4295a01caaf6a903b1fe4 Gerrit-Change-Number: 15318 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:16:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:16:30 +0000 Subject: Change in ...osmo-sgsn[master]: Move llc->MM/SM Gb specific glue code to its own file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15336 ) Change subject: Move llc->MM/SM Gb specific glue code to its own file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaf57922a0970c1d03f6f1d6337d27ae3d4aaf32c Gerrit-Change-Number: 15336 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:16:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:22:41 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:22:41 +0000 Subject: Change in ...osmo-sgsn[master]: Merge common allocation steps for Gb and Iu ctx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15338 ) Change subject: Merge common allocation steps for Gb and Iu ctx ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15338/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15338/2//COMMIT_MSG at 9 PS2, Line 9: functionalitites functionalities -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib6c0427ac7b35295cf1caf2f28cb2a5c155b9d9c Gerrit-Change-Number: 15338 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:22:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:25:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 2 Sep 2019 09:25:05 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm.c: Replace inet_ntoa with inet_ntop In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15352 ) Change subject: gprs_gmm.c: Replace inet_ntoa with inet_ntop ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I0c708d047122f349acf46797a9e5973040e7ae04 Gerrit-Change-Number: 15352 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Sep 2019 09:25:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:41:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:41:21 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15373 ) Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc File doc/manuals/chapters/smscb.adoc: https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc at 43 PS2, Line 43: configuration more simple, ti also can operate in TCP client mode, typo: ti->it. https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc at 44 PS2, Line 44: connecting to the CBC. This way the BSCs all need to know the CBC IP 1- Extra space after dot. 2- "This way the BSCs all need to know IS the CBC IP address". https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc at 45 PS2, Line 45: address, but not vice-versa Missing dot. https://gerrit.osmocom.org/#/c/15373/2/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/#/c/15373/2/src/osmo-bsc/smscb.c at 44 PS2, Line 44: /* replace the old head of an entire list with e new head; effectively moves the entire "a new head" https://gerrit.osmocom.org/#/c/15373/2/src/osmo-bsc/smscb.c at 142 PS2, Line 142: static struct osmo_cell_global_id cgi; What about passing it as a parameter and filling it from there? This way space is not lost for users who don't plan to use CBCH. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:41:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:42:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:42:21 +0000 Subject: Change in ...osmo-sgsn[master]: Move lots of Iu/ranap specific code into its own file In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15335 ) Change subject: Move lots of Iu/ranap specific code into its own file ...................................................................... Move lots of Iu/ranap specific code into its own file RANAP related functionalities were splitted among several files (gprs_gmm.c, gprs_sgsn.c and sgsn_libgtp.c). Let's move it into its own file to shrink complexity/size of existing files. It also allows to keep a lot of conditionally enabled code (BUILD_IU) and its dependencies (osmo-iuh) together. Change-Id: I549042aaff045a378de77d657cc396ee08f22f33 --- M include/osmocom/sgsn/Makefile.am M include/osmocom/sgsn/gprs_gmm.h A include/osmocom/sgsn/gprs_ranap.h M include/osmocom/sgsn/sgsn.h M src/gprs/Makefile.am M src/gprs/gprs_gmm.c A src/gprs/gprs_ranap.c M src/gprs/gprs_sgsn.c M src/gprs/sgsn_libgtp.c M src/gprs/sgsn_main.c M tests/sgsn/Makefile.am 11 files changed, 274 insertions(+), 238 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index cbf7c51..b4cd5db 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -8,6 +8,7 @@ gprs_gmm_attach.h \ gprs_llc.h \ gprs_llc_xid.h \ + gprs_ranap.h \ gprs_sgsn.h \ gprs_sndcp_comp.h \ gprs_sndcp_dcomp.h \ diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index ffcebd3..047bd77 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -17,8 +17,10 @@ int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); -int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, - uint16_t *sai); +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme); +int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme, bool drop_cipherable); int gsm0408_gprs_force_reattach(struct sgsn_mm_ctx *mmctx); int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg, struct gprs_llc_llme *llme); @@ -33,8 +35,6 @@ time_t gprs_max_time_to_idle(void); -int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp); - int gsm48_tx_gmm_id_req(struct sgsn_mm_ctx *mm, uint8_t id_type); int gsm48_tx_gmm_att_rej(struct sgsn_mm_ctx *mm, uint8_t gmm_cause); @@ -42,9 +42,12 @@ int gprs_gmm_attach_req_ies(struct msgb *a, struct msgb *b); +int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx); /* TODO: move extract_subscr_* when gsm48_gmm_authorize() got removed */ void extract_subscr_msisdn(struct sgsn_mm_ctx *ctx); void extract_subscr_hlr(struct sgsn_mm_ctx *ctx); void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); + +void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_ranap.h b/include/osmocom/sgsn/gprs_ranap.h new file mode 100644 index 0000000..b300130 --- /dev/null +++ b/include/osmocom/sgsn/gprs_ranap.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include + +#ifdef BUILD_IU +#include +#include +#include + +void activate_pdp_rabs(struct sgsn_mm_ctx *ctx); +int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data); +int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp); + +int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, uint16_t *sai); +#endif + +struct ranap_ue_conn_ctx; +/* On RANAP, Returns pointer to he associated ranap_ue_conn_ctx in msg, filled + * in by osmo-iuh's iu_recv_cb(). + * On Gb, returns NULL */ +#define MSG_IU_UE_CTX(msg) ((struct ranap_ue_conn_ctx *)(msg)->dst) +#define MSG_IU_UE_CTX_SET(msg, val) (msg)->dst = (val) diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index 78803c7..e1c5c4a 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -161,7 +161,7 @@ /* Main input function for Gb proxy */ int sgsn_rcvmsg(struct msgb *msg, struct gprs_nsvc *nsvc, uint16_t ns_bvci); - +/* sgsn_libgtp.c */ struct sgsn_pdp_ctx *sgsn_create_pdp_ctx(struct sgsn_ggsn_ctx *ggsn, struct sgsn_mm_ctx *mmctx, uint16_t nsapi, @@ -169,6 +169,7 @@ int sgsn_delete_pdp_ctx(struct sgsn_pdp_ctx *pctx); void sgsn_pdp_upd_gtp_u(struct sgsn_pdp_ctx *pdp, void *addr, size_t alen); void sgsn_ggsn_echo_req(struct sgsn_ggsn_ctx *ggc); +int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx); /* gprs_sndcp.c */ diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index ba5dfd6..384b893 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -62,6 +62,7 @@ osmo_sgsn_SOURCES = \ gprs_gmm_attach.c \ gprs_gmm.c \ + gprs_ranap.c \ gprs_sgsn.c \ gprs_sndcp.c \ gprs_sndcp_comp.c \ diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index 00335e8..5700ee5 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -47,12 +47,6 @@ #include -#ifdef BUILD_IU -#include -#include -#include -#endif - #include #include #include @@ -63,6 +57,7 @@ #include #include #include +#include #include @@ -117,14 +112,6 @@ { 0, NULL } }; -/* On RANAP, Returns pointer to he associated ranap_ue_conn_ctx in msg, filled - * in by osmo-iuh's iu_recv_cb(). - * On Gb, returns NULL */ -#define MSG_IU_UE_CTX(msg) ((struct ranap_ue_conn_ctx *)(msg)->dst) -#define MSG_IU_UE_CTX_SET(msg, val) (msg)->dst = (val) - -static int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx); - static void mmctx_change_gtpu_endpoints_to_sgsn(struct sgsn_mm_ctx *mm_ctx) { struct sgsn_pdp_ctx *pdp; @@ -188,7 +175,7 @@ mm->gb.state_T = 0; } -static void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) +void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) { OSMO_ASSERT(ctx->ran_type == MM_CTX_T_UTRAN_Iu); @@ -245,62 +232,6 @@ ctx->pmm_state = state; } -#ifdef BUILD_IU -int sgsn_ranap_rab_ass_resp(struct sgsn_mm_ctx *ctx, RANAP_RAB_SetupOrModifiedItemIEs_t *setup_ies); -int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data) -{ - struct sgsn_mm_ctx *mm; - int rc = -1; - - mm = sgsn_mm_ctx_by_ue_ctx(ctx); - -#define REQUIRE_MM \ - if (!mm) { \ - LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); \ - return rc; \ - } - - switch (type) { - case RANAP_IU_EVENT_RAB_ASSIGN: - REQUIRE_MM - rc = sgsn_ranap_rab_ass_resp(mm, (RANAP_RAB_SetupOrModifiedItemIEs_t *)data); - break; - case RANAP_IU_EVENT_IU_RELEASE: - /* fall thru */ - case RANAP_IU_EVENT_LINK_INVALIDATED: - /* Clean up ranap_ue_conn_ctx here */ - if (mm) - LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); - else - LOGIUP(ctx, LOGL_INFO, "IU release\n"); - if (mm && mm->pmm_state == PMM_CONNECTED) - mmctx_set_pmm_state(mm, PMM_IDLE); - rc = 0; - break; - case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: - REQUIRE_MM - /* Continue authentication here */ - mm->iu.ue_ctx->integrity_active = 1; - - /* FIXME: remove gmm_authorize */ - if (mm->pending_req != GSM48_MT_GMM_ATTACH_REQ) - gsm48_gmm_authorize(mm); - else - osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); - break; - default: - if (mm) - LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); - else - LOGIUP(ctx, LOGL_NOTICE, "Unknown event received: %i\n", type); - rc = -1; - break; - } - return rc; -} -#endif - - /* Our implementation, should be kept in SGSN */ static void mmctx_timer_cb(void *_mm); @@ -1078,21 +1009,8 @@ static int gsm48_tx_gmm_ra_upd_ack(struct sgsn_mm_ctx *mm); -#ifdef BUILD_IU -/* Send RAB activation requests for all PDP contexts */ -void activate_pdp_rabs(struct sgsn_mm_ctx *ctx) -{ - struct sgsn_pdp_ctx *pdp; - if (ctx->ran_type != MM_CTX_T_UTRAN_Iu) - return; - llist_for_each_entry(pdp, &ctx->pdp_list, list) { - iu_rab_act_ps(pdp->nsapi, pdp); - } -} -#endif - /* Check if we can already authorize a subscriber */ -static int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx) +int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx) { #ifdef BUILD_IU int rc; @@ -2061,7 +1979,7 @@ } /* Rx GPRS Mobility Management. MMCTX can be NULL when called. On !Gb (Iu), llme is NULL */ -static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, +int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) { struct sgsn_signal_data sig_data; @@ -2933,7 +2851,7 @@ /* GPRS Session Management */ -static int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme) { struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); @@ -3008,45 +2926,6 @@ return rc; } -/* Main entry point for incoming 04.08 GPRS messages from Iu */ -int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, - uint16_t *sai) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t pdisc = gsm48_hdr_pdisc(gh); - struct sgsn_mm_ctx *mmctx; - int rc = -EINVAL; - - mmctx = sgsn_mm_ctx_by_ue_ctx(MSG_IU_UE_CTX(msg)); - if (mmctx) { - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); - if (ra_id) - memcpy(&mmctx->ra, ra_id, sizeof(mmctx->ra)); - } - - /* MMCTX can be NULL */ - - switch (pdisc) { - case GSM48_PDISC_MM_GPRS: - rc = gsm0408_rcv_gmm(mmctx, msg, NULL, false); -#pragma message "set drop_cipherable arg for gsm0408_rcv_gmm() from IuPS?" - break; - case GSM48_PDISC_SM_GPRS: - rc = gsm0408_rcv_gsm(mmctx, msg, NULL); - break; - default: - LOGMMCTXP(LOGL_NOTICE, mmctx, - "Unknown GSM 04.08 discriminator 0x%02x: %s\n", - pdisc, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - /* FIXME: return status message */ - break; - } - - /* MMCTX can be invalid */ - - return rc; -} - /* Update the MM context state */ static void gsm0408_gprs_notify_pdu_gb(struct sgsn_mm_ctx *mmctx) { @@ -3154,30 +3033,3 @@ mmctx->gmm_state = GMM_REGISTERED_NORMAL; return 0; } - -#ifdef BUILD_IU -int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp) -{ - struct msgb *msg; - struct sgsn_mm_ctx *mm = pdp->mm; - struct ranap_ue_conn_ctx *uectx; - uint32_t ggsn_ip; - bool use_x213_nsap; - - uectx = mm->iu.ue_ctx; - use_x213_nsap = (uectx->rab_assign_addr_enc == RANAP_NSAP_ADDR_ENC_X213); - - /* Get the IP address for ggsn user plane */ - memcpy(&ggsn_ip, pdp->lib->gsnru.v, pdp->lib->gsnru.l); - ggsn_ip = htonl(ggsn_ip); - - LOGP(DRANAP, LOGL_DEBUG, "Assigning RAB: rab_id=%d, ggsn_ip=%x," - " teid_gn=%x, use_x213_nsap=%d\n", - rab_id, ggsn_ip, pdp->lib->teid_gn, use_x213_nsap); - - msg = ranap_new_msg_rab_assign_data(rab_id, ggsn_ip, - pdp->lib->teid_gn, use_x213_nsap); - msg->l2h = msg->data; - return ranap_iu_rab_act(uectx, msg); -} -#endif diff --git a/src/gprs/gprs_ranap.c b/src/gprs/gprs_ranap.c new file mode 100644 index 0000000..e0470f6 --- /dev/null +++ b/src/gprs/gprs_ranap.c @@ -0,0 +1,231 @@ +/* Messages on the RANAP interface (Iu mode) */ + +/* (C) 2009-2015 by Harald Welte + * (C) 2015 by Holger Hans Peter Freyther + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include "bscconfig.h" + +#ifdef BUILD_IU + +#include + +#include + +#include + +#include +#include +#include +#include +#include + +/* Send RAB activation requests for all PDP contexts */ +void activate_pdp_rabs(struct sgsn_mm_ctx *ctx) +{ + struct sgsn_pdp_ctx *pdp; + if (ctx->ran_type != MM_CTX_T_UTRAN_Iu) + return; + llist_for_each_entry(pdp, &ctx->pdp_list, list) { + iu_rab_act_ps(pdp->nsapi, pdp); + } +} + +/* Callback for RAB assignment response */ +static int sgsn_ranap_rab_ass_resp(struct sgsn_mm_ctx *ctx, RANAP_RAB_SetupOrModifiedItemIEs_t *setup_ies) +{ + uint8_t rab_id; + bool require_pdp_update = false; + struct sgsn_pdp_ctx *pdp = NULL; + RANAP_RAB_SetupOrModifiedItem_t *item = &setup_ies->raB_SetupOrModifiedItem; + + rab_id = item->rAB_ID.buf[0]; + + pdp = sgsn_pdp_ctx_by_nsapi(ctx, rab_id); + if (!pdp) { + LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Response for unknown RAB/NSAPI=%u\n", rab_id); + return -1; + } + + if (item->transportLayerAddress) { + LOGPC(DRANAP, LOGL_INFO, " Setup: (%u/%s)", rab_id, osmo_hexdump(item->transportLayerAddress->buf, + item->transportLayerAddress->size)); + switch (item->transportLayerAddress->size) { + case 7: + /* It must be IPv4 inside a X213 NSAP */ + memcpy(pdp->lib->gsnlu.v, &item->transportLayerAddress->buf[3], 4); + break; + case 4: + /* It must be a raw IPv4 address */ + memcpy(pdp->lib->gsnlu.v, item->transportLayerAddress->buf, 4); + break; + case 16: + /* TODO: It must be a raw IPv6 address */ + case 19: + /* TODO: It must be IPv6 inside a X213 NSAP */ + default: + LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Resp: Unknown " + "transport layer address size %u\n", + item->transportLayerAddress->size); + return -1; + } + require_pdp_update = true; + } + + /* The TEI on the RNC side might have changed, too */ + if (item->iuTransportAssociation && + item->iuTransportAssociation->present == RANAP_IuTransportAssociation_PR_gTP_TEI && + item->iuTransportAssociation->choice.gTP_TEI.buf && + item->iuTransportAssociation->choice.gTP_TEI.size >= 4) { + uint32_t tei = osmo_load32be(item->iuTransportAssociation->choice.gTP_TEI.buf); + LOGP(DRANAP, LOGL_DEBUG, "Updating TEID on RNC side from 0x%08x to 0x%08x\n", + pdp->lib->teid_own, tei); + pdp->lib->teid_own = tei; + require_pdp_update = true; + } + + if (require_pdp_update) + gtp_update_context(pdp->ggsn->gsn, pdp->lib, pdp, &pdp->lib->hisaddr0); + + if (pdp->state != PDP_STATE_CR_CONF) { + send_act_pdp_cont_acc(pdp); + pdp->state = PDP_STATE_CR_CONF; + } + return 0; + +} + +int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data) +{ + struct sgsn_mm_ctx *mm; + int rc = -1; + + mm = sgsn_mm_ctx_by_ue_ctx(ctx); + +#define REQUIRE_MM \ + if (!mm) { \ + LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); \ + return rc; \ + } + + switch (type) { + case RANAP_IU_EVENT_RAB_ASSIGN: + REQUIRE_MM + rc = sgsn_ranap_rab_ass_resp(mm, (RANAP_RAB_SetupOrModifiedItemIEs_t *)data); + break; + case RANAP_IU_EVENT_IU_RELEASE: + /* fall thru */ + case RANAP_IU_EVENT_LINK_INVALIDATED: + /* Clean up ranap_ue_conn_ctx here */ + if (mm) + LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); + else + LOGIUP(ctx, LOGL_INFO, "IU release\n"); + if (mm && mm->pmm_state == PMM_CONNECTED) + mmctx_set_pmm_state(mm, PMM_IDLE); + rc = 0; + break; + case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: + REQUIRE_MM + /* Continue authentication here */ + mm->iu.ue_ctx->integrity_active = 1; + + /* FIXME: remove gmm_authorize */ + if (mm->pending_req != GSM48_MT_GMM_ATTACH_REQ) + gsm48_gmm_authorize(mm); + else + osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); + break; + default: + if (mm) + LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); + else + LOGIUP(ctx, LOGL_NOTICE, "Unknown event received: %i\n", type); + rc = -1; + break; + } + return rc; +} + +int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp) +{ + struct msgb *msg; + struct sgsn_mm_ctx *mm = pdp->mm; + struct ranap_ue_conn_ctx *uectx; + uint32_t ggsn_ip; + bool use_x213_nsap; + + uectx = mm->iu.ue_ctx; + use_x213_nsap = (uectx->rab_assign_addr_enc == RANAP_NSAP_ADDR_ENC_X213); + + /* Get the IP address for ggsn user plane */ + memcpy(&ggsn_ip, pdp->lib->gsnru.v, pdp->lib->gsnru.l); + ggsn_ip = htonl(ggsn_ip); + + LOGP(DRANAP, LOGL_DEBUG, "Assigning RAB: rab_id=%d, ggsn_ip=%x," + " teid_gn=%x, use_x213_nsap=%d\n", + rab_id, ggsn_ip, pdp->lib->teid_gn, use_x213_nsap); + + msg = ranap_new_msg_rab_assign_data(rab_id, ggsn_ip, + pdp->lib->teid_gn, use_x213_nsap); + msg->l2h = msg->data; + return ranap_iu_rab_act(uectx, msg); +} + + +/* Main entry point for incoming 04.08 GPRS messages from Iu */ +int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, + uint16_t *sai) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t pdisc = gsm48_hdr_pdisc(gh); + struct sgsn_mm_ctx *mmctx; + int rc = -EINVAL; + + mmctx = sgsn_mm_ctx_by_ue_ctx(MSG_IU_UE_CTX(msg)); + if (mmctx) { + rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + if (ra_id) + memcpy(&mmctx->ra, ra_id, sizeof(mmctx->ra)); + } + + /* MMCTX can be NULL */ + + switch (pdisc) { + case GSM48_PDISC_MM_GPRS: + rc = gsm0408_rcv_gmm(mmctx, msg, NULL, false); +#pragma message "set drop_cipherable arg for gsm0408_rcv_gmm() from IuPS?" + break; + case GSM48_PDISC_SM_GPRS: + rc = gsm0408_rcv_gsm(mmctx, msg, NULL); + break; + default: + LOGMMCTXP(LOGL_NOTICE, mmctx, + "Unknown GSM 04.08 discriminator 0x%02x: %s\n", + pdisc, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + /* FIXME: return status message */ + break; + } + + /* MMCTX can be invalid */ + + return rc; +} +#endif diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 829204e..ee1902c 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -50,10 +50,6 @@ #include "../../bscconfig.h" -#if BUILD_IU -#include -#endif - #define GPRS_LLME_CHECK_TICK 30 extern struct sgsn_instance *sgsn; diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c index a8ad527..5e3f48f 100644 --- a/src/gprs/sgsn_libgtp.c +++ b/src/gprs/sgsn_libgtp.c @@ -50,11 +50,7 @@ #include #include #include - -#ifdef BUILD_IU -#include -#include -#endif +#include #include #include @@ -359,7 +355,7 @@ { 0, 0 } }; -static int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx) +int send_act_pdp_cont_acc(struct sgsn_pdp_ctx *pctx) { struct sgsn_signal_data sig_data; int rc; @@ -473,72 +469,6 @@ gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr); } -#ifdef BUILD_IU -/* Callback for RAB assignment response */ -int sgsn_ranap_rab_ass_resp(struct sgsn_mm_ctx *ctx, RANAP_RAB_SetupOrModifiedItemIEs_t *setup_ies) -{ - uint8_t rab_id; - bool require_pdp_update = false; - struct sgsn_pdp_ctx *pdp = NULL; - RANAP_RAB_SetupOrModifiedItem_t *item = &setup_ies->raB_SetupOrModifiedItem; - - rab_id = item->rAB_ID.buf[0]; - - pdp = sgsn_pdp_ctx_by_nsapi(ctx, rab_id); - if (!pdp) { - LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Response for unknown RAB/NSAPI=%u\n", rab_id); - return -1; - } - - if (item->transportLayerAddress) { - LOGPC(DRANAP, LOGL_INFO, " Setup: (%u/%s)", rab_id, osmo_hexdump(item->transportLayerAddress->buf, - item->transportLayerAddress->size)); - switch (item->transportLayerAddress->size) { - case 7: - /* It must be IPv4 inside a X213 NSAP */ - memcpy(pdp->lib->gsnlu.v, &item->transportLayerAddress->buf[3], 4); - break; - case 4: - /* It must be a raw IPv4 address */ - memcpy(pdp->lib->gsnlu.v, item->transportLayerAddress->buf, 4); - break; - case 16: - /* TODO: It must be a raw IPv6 address */ - case 19: - /* TODO: It must be IPv6 inside a X213 NSAP */ - default: - LOGP(DRANAP, LOGL_ERROR, "RAB Assignment Resp: Unknown " - "transport layer address size %u\n", - item->transportLayerAddress->size); - return -1; - } - require_pdp_update = true; - } - - /* The TEI on the RNC side might have changed, too */ - if (item->iuTransportAssociation && - item->iuTransportAssociation->present == RANAP_IuTransportAssociation_PR_gTP_TEI && - item->iuTransportAssociation->choice.gTP_TEI.buf && - item->iuTransportAssociation->choice.gTP_TEI.size >= 4) { - uint32_t tei = osmo_load32be(item->iuTransportAssociation->choice.gTP_TEI.buf); - LOGP(DRANAP, LOGL_DEBUG, "Updating TEID on RNC side from 0x%08x to 0x%08x\n", - pdp->lib->teid_own, tei); - pdp->lib->teid_own = tei; - require_pdp_update = true; - } - - if (require_pdp_update) - gtp_update_context(pdp->ggsn->gsn, pdp->lib, pdp, &pdp->lib->hisaddr0); - - if (pdp->state != PDP_STATE_CR_CONF) { - send_act_pdp_cont_acc(pdp); - pdp->state = PDP_STATE_CR_CONF; - } - return 0; - -} -#endif - /* Confirmation of a PDP Context Delete */ static int delete_pdp_conf(struct pdp_t *pdp, void *cbp, int cause) { diff --git a/src/gprs/sgsn_main.c b/src/gprs/sgsn_main.c index 9f2e111..eef5f8f 100644 --- a/src/gprs/sgsn_main.c +++ b/src/gprs/sgsn_main.c @@ -57,6 +57,7 @@ #include #include #include +#include #include #include @@ -354,10 +355,6 @@ .num_cat = ARRAY_SIZE(gprs_categories), }; -#if BUILD_IU -int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data); -#endif - static bool file_exists(const char *path) { struct stat sb; diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 956ef8d..ae397b3 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -45,6 +45,7 @@ $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/gprs_llc.o \ $(top_builddir)/src/gprs/crc24.o \ + $(top_builddir)/src/gprs/gprs_ranap.o \ $(top_builddir)/src/gprs/gprs_sndcp.o \ $(top_builddir)/src/gprs/gprs_gmm_attach.o \ $(top_builddir)/src/gprs/gprs_gmm.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I549042aaff045a378de77d657cc396ee08f22f33 Gerrit-Change-Number: 15335 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:42:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:42:22 +0000 Subject: Change in ...osmo-sgsn[master]: Move llc->MM/SM Gb specific glue code to its own file In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15336 ) Change subject: Move llc->MM/SM Gb specific glue code to its own file ...................................................................... Move llc->MM/SM Gb specific glue code to its own file Now that we have RANAP/Iu handling specificities in its own file, let's have also Gb specific glue code for messages coming from llc up to MM/SM layer in its own file. This way same entry points in gprs_gmm.c are used by Gb and Iu: gsm0408_rcv_gmm() (for MM) and gsm0408_rcv_gsm() (for SM). Change-Id: Iaf57922a0970c1d03f6f1d6337d27ae3d4aaf32c --- M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gprs_gb.h M include/osmocom/sgsn/gprs_gmm.h M src/gprs/Makefile.am A src/gprs/gprs_gb.c M src/gprs/gprs_gmm.c M tests/sgsn/Makefile.am 7 files changed, 110 insertions(+), 62 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index b4cd5db..b91c9f1 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -3,6 +3,7 @@ crc24.h \ debug.h \ gb_proxy.h \ + gprs_gb.h \ gprs_gb_parse.h \ gprs_gmm.h \ gprs_gmm_attach.h \ diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h new file mode 100644 index 0000000..3bc3676 --- /dev/null +++ b/include/osmocom/sgsn/gprs_gb.h @@ -0,0 +1,9 @@ +#pragma once + +#include + +#include +#include + +int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, + bool drop_cipherable); diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 047bd77..9316351 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -50,4 +50,8 @@ void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); +void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T); +void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); + +void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); #endif /* _GPRS_GMM_H */ diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 384b893..85ba906 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -60,6 +60,7 @@ $(NULL) osmo_sgsn_SOURCES = \ + gprs_gb.c \ gprs_gmm_attach.c \ gprs_gmm.c \ gprs_ranap.c \ diff --git a/src/gprs/gprs_gb.c b/src/gprs/gprs_gb.c new file mode 100644 index 0000000..29bfc53 --- /dev/null +++ b/src/gprs/gprs_gb.c @@ -0,0 +1,91 @@ +/* Messages on the Gb interface (A/Gb mode) */ + +/* (C) 2009-2015 by Harald Welte + * (C) 2010 by On-Waves + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include + +#include "bscconfig.h" + +#include +#include +#include + +/* Update the MM context state */ +static void gsm0408_gprs_notify_pdu_gb(struct sgsn_mm_ctx *mmctx) +{ + switch (mmctx->pmm_state) { + case MM_STANDBY: + mmctx_set_mm_state(mmctx, MM_READY); + break; + case MM_READY: /* RE-arm the timer upon receival of Gb PDUs */ + mmctx_state_timer_start(mmctx, 3314); + break; + default: + break; + } +} + +/* Main entry point for incoming 04.08 GPRS messages from Gb */ +int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, + bool drop_cipherable) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t pdisc = gsm48_hdr_pdisc(gh); + struct sgsn_mm_ctx *mmctx; + struct gprs_ra_id ra_id; + int rc = -EINVAL; + + bssgp_parse_cell_id(&ra_id, msgb_bcid(msg)); + mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &ra_id); + if (mmctx) { + msgid2mmctx(mmctx, msg); + rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); + mmctx->gb.llme = llme; + } + + /* MMCTX can be NULL */ + + if (mmctx) + gsm0408_gprs_notify_pdu_gb(mmctx); + + switch (pdisc) { + case GSM48_PDISC_MM_GPRS: + rc = gsm0408_rcv_gmm(mmctx, msg, llme, drop_cipherable); + break; + case GSM48_PDISC_SM_GPRS: + rc = gsm0408_rcv_gsm(mmctx, msg, llme); + break; + default: + LOGMMCTXP(LOGL_NOTICE, mmctx, + "Unknown GSM 04.08 discriminator 0x%02x: %s\n", + pdisc, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + /* FIXME: return status message */ + break; + } + + /* MMCTX can be invalid */ + + return rc; +} diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index 5700ee5..33ade4d 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -124,7 +124,6 @@ } } -static void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); static void mmctx_state_timer_cb(void *_mm) { struct sgsn_mm_ctx *mm = _mm; @@ -149,7 +148,7 @@ } } -static void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T) +void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T) { unsigned long seconds; @@ -200,7 +199,7 @@ ctx->pmm_state = state; } -static void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) +void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) { OSMO_ASSERT(ctx->ran_type == MM_CTX_T_GERAN_Gb); @@ -304,7 +303,7 @@ } /* Store BVCI/NSEI in MM context */ -static void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg) +void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg) { /* check for Iu or Gb */ if (!MSG_IU_UE_CTX(msg)) { @@ -2926,64 +2925,6 @@ return rc; } -/* Update the MM context state */ -static void gsm0408_gprs_notify_pdu_gb(struct sgsn_mm_ctx *mmctx) -{ - switch (mmctx->pmm_state) { - case MM_STANDBY: - mmctx_set_mm_state(mmctx, MM_READY); - break; - case MM_READY: /* RE-arm the timer upon receival of Gb PDUs */ - mmctx_state_timer_start(mmctx, 3314); - break; - default: - break; - } -} - -/* Main entry point for incoming 04.08 GPRS messages from Gb */ -int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, - bool drop_cipherable) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t pdisc = gsm48_hdr_pdisc(gh); - struct sgsn_mm_ctx *mmctx; - struct gprs_ra_id ra_id; - int rc = -EINVAL; - - bssgp_parse_cell_id(&ra_id, msgb_bcid(msg)); - mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &ra_id); - if (mmctx) { - msgid2mmctx(mmctx, msg); - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); - mmctx->gb.llme = llme; - } - - /* MMCTX can be NULL */ - - if (mmctx) - gsm0408_gprs_notify_pdu_gb(mmctx); - - switch (pdisc) { - case GSM48_PDISC_MM_GPRS: - rc = gsm0408_rcv_gmm(mmctx, msg, llme, drop_cipherable); - break; - case GSM48_PDISC_SM_GPRS: - rc = gsm0408_rcv_gsm(mmctx, msg, llme); - break; - default: - LOGMMCTXP(LOGL_NOTICE, mmctx, - "Unknown GSM 04.08 discriminator 0x%02x: %s\n", - pdisc, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - /* FIXME: return status message */ - break; - } - - /* MMCTX can be invalid */ - - return rc; -} - int gprs_gmm_rx_suspend(struct gprs_ra_id *raid, uint32_t tlli) { struct sgsn_mm_ctx *mmctx; diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index ae397b3..b035468 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -45,6 +45,7 @@ $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/gprs_llc.o \ $(top_builddir)/src/gprs/crc24.o \ + $(top_builddir)/src/gprs/gprs_gb.o \ $(top_builddir)/src/gprs/gprs_ranap.o \ $(top_builddir)/src/gprs/gprs_sndcp.o \ $(top_builddir)/src/gprs/gprs_gmm_attach.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaf57922a0970c1d03f6f1d6337d27ae3d4aaf32c Gerrit-Change-Number: 15336 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:42:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:42:23 +0000 Subject: Change in ...osmo-sgsn[master]: Split enum gprs_pmm_state into Iu and Gb counterparts In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15337 ) Change subject: Split enum gprs_pmm_state into Iu and Gb counterparts ...................................................................... Split enum gprs_pmm_state into Iu and Gb counterparts Those two state sets are not part of the same state machine, and are used in different scenarios, so let's split them and handle them in Gb and Iu specific parts of struct sgsn_mm_ctx. This is required in order to improve related code (for instance, use osmocom fsm). Change-Id: I6100d607da316da0595886c6968704dd9ccfbde9 --- M include/osmocom/sgsn/gprs_gmm.h M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/gprs_gb.c M src/gprs/gprs_gmm.c M src/gprs/gprs_ranap.c M src/gprs/gprs_sgsn.c 6 files changed, 43 insertions(+), 36 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 9316351..6c72cda 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -49,9 +49,9 @@ void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); -void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); +void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state); void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T); -void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state); +void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_gb state); void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index eea9fb0..f64e07b 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -32,14 +32,17 @@ GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ }; -/* TS 23.060 6.1.1 and 6.1.2 Mobility management states A/Gb and Iu mode */ -enum gprs_pmm_state { - PMM_DETACHED, - PMM_CONNECTED, - PMM_IDLE, +/* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ +enum gprs_mm_state_gb { MM_IDLE, MM_READY, - MM_STANDBY, + MM_STANDBY +}; +/* TS 23.060 6.1.2 Mobility Management States (Iu mode) */ +enum gprs_mm_state_iu { + PMM_DETACHED, + PMM_CONNECTED, + PMM_IDLE }; enum gprs_mm_ctr { @@ -138,7 +141,6 @@ char imsi[GSM23003_IMSI_MAX_DIGITS+1]; enum gprs_gmm_state gmm_state; - enum gprs_pmm_state pmm_state; /* Iu: page when in PMM-IDLE mode */ uint32_t p_tmsi; uint32_t p_tmsi_old; /* old P-TMSI before new is confirmed */ uint32_t p_tmsi_sig; @@ -158,9 +160,11 @@ uint32_t tlli; uint32_t tlli_new; + /* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ + enum gprs_mm_state_gb mm_state; /* timer for mm state. state=READY: T3314 (aka TS 23.060 "READY timer") */ struct osmo_timer_list state_timer; - unsigned int state_T; /* Txxxx number but only used for pmm_states */ + unsigned int state_T; /* Txxxx number but only used for mm_state */ } gb; struct { int new_key; @@ -175,6 +179,8 @@ /* Voice Support Match Indicator */ struct ranap_ue_conn_ctx *ue_ctx; struct service_info service; + /* TS 23.060 6.1.2 Mobility Management States (Iu mode) */ + enum gprs_mm_state_iu mm_state; } iu; struct { struct osmo_fsm_inst *fsm; diff --git a/src/gprs/gprs_gb.c b/src/gprs/gprs_gb.c index 29bfc53..43af434 100644 --- a/src/gprs/gprs_gb.c +++ b/src/gprs/gprs_gb.c @@ -35,7 +35,7 @@ /* Update the MM context state */ static void gsm0408_gprs_notify_pdu_gb(struct sgsn_mm_ctx *mmctx) { - switch (mmctx->pmm_state) { + switch (mmctx->gb.mm_state) { case MM_STANDBY: mmctx_set_mm_state(mmctx, MM_READY); break; diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index 33ade4d..badb881 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -102,16 +102,20 @@ }, }; -static const struct value_string gprs_pmm_state_names[] = { - OSMO_VALUE_STRING(PMM_DETACHED), - OSMO_VALUE_STRING(PMM_CONNECTED), - OSMO_VALUE_STRING(PMM_IDLE), +static const struct value_string gprs_mm_state_gb_names[] = { OSMO_VALUE_STRING(MM_IDLE), OSMO_VALUE_STRING(MM_READY), OSMO_VALUE_STRING(MM_STANDBY), { 0, NULL } }; +static const struct value_string gprs_mm_state_iu_names[] = { + OSMO_VALUE_STRING(PMM_DETACHED), + OSMO_VALUE_STRING(PMM_CONNECTED), + OSMO_VALUE_STRING(PMM_IDLE), + { 0, NULL } +}; + static void mmctx_change_gtpu_endpoints_to_sgsn(struct sgsn_mm_ctx *mm_ctx) { struct sgsn_pdp_ctx *pdp; @@ -130,14 +134,14 @@ switch (mm->gb.state_T) { case 3314: - switch (mm->pmm_state) { + switch (mm->gb.mm_state) { case MM_READY: LOGMMCTXP(LOGL_INFO, mm, "T3314 expired\n"); mmctx_set_mm_state(mm, MM_STANDBY); break; default: LOGMMCTXP(LOGL_ERROR, mm, "T3314 expired in state %s != MM_READY\n", - get_value_string(gprs_pmm_state_names, mm->pmm_state)); + get_value_string(gprs_mm_state_gb_names, mm->gb.mm_state)); break; } break; @@ -174,16 +178,16 @@ mm->gb.state_T = 0; } -void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) +void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state) { OSMO_ASSERT(ctx->ran_type == MM_CTX_T_UTRAN_Iu); - if (ctx->pmm_state == state) + if (ctx->iu.mm_state == state) return; LOGMMCTXP(LOGL_INFO, ctx, "Changing PMM state from %s to %s\n", - get_value_string(gprs_pmm_state_names, ctx->pmm_state), - get_value_string(gprs_pmm_state_names, state)); + get_value_string(gprs_mm_state_iu_names, ctx->iu.mm_state), + get_value_string(gprs_mm_state_iu_names, state)); switch (state) { case PMM_IDLE: @@ -192,23 +196,23 @@ break; case PMM_CONNECTED: break; - default: + case PMM_DETACHED: break; } - ctx->pmm_state = state; + ctx->iu.mm_state = state; } -void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_pmm_state state) +void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_gb state) { OSMO_ASSERT(ctx->ran_type == MM_CTX_T_GERAN_Gb); - if (ctx->pmm_state == state) + if (ctx->gb.mm_state == state) return; LOGMMCTXP(LOGL_INFO, ctx, "Changing MM state from %s to %s\n", - get_value_string(gprs_pmm_state_names, ctx->pmm_state), - get_value_string(gprs_pmm_state_names, state)); + get_value_string(gprs_mm_state_gb_names, ctx->gb.mm_state), + get_value_string(gprs_mm_state_gb_names, state)); switch (state) { case MM_READY: @@ -216,19 +220,16 @@ mmctx_state_timer_start(ctx, 3314); break; case MM_IDLE: - if (ctx->pmm_state == MM_READY) + if (ctx->gb.mm_state == MM_READY) mmctx_state_timer_stop(ctx, 3314); break; case MM_STANDBY: - if (ctx->pmm_state == MM_READY) + if (ctx->gb.mm_state == MM_READY) mmctx_state_timer_stop(ctx, 3314); break; - default: - /* when changing to state != MM_READY */ - break; } - ctx->pmm_state = state; + ctx->gb.mm_state = state; } /* Our implementation, should be kept in SGSN */ diff --git a/src/gprs/gprs_ranap.c b/src/gprs/gprs_ranap.c index e0470f6..836937b 100644 --- a/src/gprs/gprs_ranap.c +++ b/src/gprs/gprs_ranap.c @@ -138,7 +138,7 @@ LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); else LOGIUP(ctx, LOGL_INFO, "IU release\n"); - if (mm && mm->pmm_state == PMM_CONNECTED) + if (mm && mm->iu.mm_state == PMM_CONNECTED) mmctx_set_pmm_state(mm, PMM_IDLE); rc = 0; break; diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index ee1902c..2116590 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -228,7 +228,7 @@ ctx->ran_type = MM_CTX_T_GERAN_Gb; ctx->gb.tlli = tlli; ctx->gmm_state = GMM_DEREGISTERED; - ctx->pmm_state = MM_IDLE; + ctx->gb.mm_state = MM_IDLE; ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; ctx->ciph_algo = sgsn->cfg.cipher; LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", @@ -263,7 +263,7 @@ ctx->iu.ue_ctx->rab_assign_addr_enc = sgsn->cfg.iu.rab_assign_addr_enc; ctx->iu.new_key = 1; ctx->gmm_state = GMM_DEREGISTERED; - ctx->pmm_state = PMM_DETACHED; + ctx->iu.mm_state = PMM_DETACHED; ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, ue_ctx->conn_id); if (!ctx->ctrg) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I6100d607da316da0595886c6968704dd9ccfbde9 Gerrit-Change-Number: 15337 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:42:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:42:23 +0000 Subject: Change in ...osmo-sgsn[master]: Merge common allocation steps for Gb and Iu ctx In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15338 ) Change subject: Merge common allocation steps for Gb and Iu ctx ...................................................................... Merge common allocation steps for Gb and Iu ctx This way it's easier to add new common functionalitites without forgetting to add it on both sides, and simplifies the code. Change-Id: Ib6c0427ac7b35295cf1caf2f28cb2a5c155b9d9c --- M src/gprs/gprs_sgsn.c 1 file changed, 27 insertions(+), 30 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 2116590..6acc66e 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -214,9 +214,8 @@ } -/* Allocate a new SGSN MM context for GERAN_Gb */ -struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_gb(uint32_t tlli, - const struct gprs_ra_id *raid) +/* Allocate a new SGSN MM context, generic part */ +struct sgsn_mm_ctx *sgsn_mm_ctx_alloc(uint32_t rate_ctr_id) { struct sgsn_mm_ctx *ctx; @@ -224,16 +223,9 @@ if (!ctx) return NULL; - memcpy(&ctx->ra, raid, sizeof(ctx->ra)); - ctx->ran_type = MM_CTX_T_GERAN_Gb; - ctx->gb.tlli = tlli; ctx->gmm_state = GMM_DEREGISTERED; - ctx->gb.mm_state = MM_IDLE; ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; - ctx->ciph_algo = sgsn->cfg.cipher; - LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", - get_value_string(gprs_cipher_names, ctx->ciph_algo)); - ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, tlli); + ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, rate_ctr_id); if (!ctx->ctrg) { LOGMMCTXP(LOGL_ERROR, ctx, "Cannot allocate counter group\n"); talloc_free(ctx); @@ -246,40 +238,45 @@ return ctx; } +/* Allocate a new SGSN MM context for GERAN_Gb */ +struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_gb(uint32_t tlli, + const struct gprs_ra_id *raid) +{ + struct sgsn_mm_ctx *ctx; -/* Allocate a new SGSN MM context */ + ctx = sgsn_mm_ctx_alloc(tlli); + if (!ctx) + return NULL; + + memcpy(&ctx->ra, raid, sizeof(ctx->ra)); + ctx->ran_type = MM_CTX_T_GERAN_Gb; + ctx->gb.tlli = tlli; + ctx->gb.mm_state = MM_IDLE; + ctx->ciph_algo = sgsn->cfg.cipher; + + LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", + get_value_string(gprs_cipher_names, ctx->ciph_algo)); + return ctx; +} + +/* Allocate a new SGSN MM context for UTRAN_Iu */ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_iu(void *uectx) { #if BUILD_IU struct sgsn_mm_ctx *ctx; struct ranap_ue_conn_ctx *ue_ctx = uectx; - ctx = talloc_zero(tall_sgsn_ctx, struct sgsn_mm_ctx); + ctx = sgsn_mm_ctx_alloc(ue_ctx->conn_id); if (!ctx) return NULL; + /* Need to get RAID from IU conn */ + ctx->ra = ue_ctx->ra_id; ctx->ran_type = MM_CTX_T_UTRAN_Iu; ctx->iu.ue_ctx = ue_ctx; ctx->iu.ue_ctx->rab_assign_addr_enc = sgsn->cfg.iu.rab_assign_addr_enc; ctx->iu.new_key = 1; - ctx->gmm_state = GMM_DEREGISTERED; ctx->iu.mm_state = PMM_DETACHED; - ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; - ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, ue_ctx->conn_id); - if (!ctx->ctrg) { - LOGMMCTXP(LOGL_ERROR, ctx, "Cannot allocate counter group for %s.%u\n", - mmctx_ctrg_desc.group_name_prefix, ue_ctx->conn_id); - talloc_free(ctx); - return NULL; - } - ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); - - /* Need to get RAID from IU conn */ - ctx->ra = ctx->iu.ue_ctx->ra_id; - - INIT_LLIST_HEAD(&ctx->pdp_list); - - llist_add(&ctx->list, &sgsn_mm_ctxts); return ctx; #else -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib6c0427ac7b35295cf1caf2f28cb2a5c155b9d9c Gerrit-Change-Number: 15338 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:42:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:42:24 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm.c: Replace inet_ntoa with inet_ntop In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15352 ) Change subject: gprs_gmm.c: Replace inet_ntoa with inet_ntop ...................................................................... gprs_gmm.c: Replace inet_ntoa with inet_ntop inet_ntop manual states: "inet_ntoa(3) is now considered to be deprecated in favor of inet_ntop()". Change-Id: I0c708d047122f349acf46797a9e5973040e7ae04 --- M src/gprs/gprs_gmm.c 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index badb881..b28a4a1 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -118,10 +118,12 @@ static void mmctx_change_gtpu_endpoints_to_sgsn(struct sgsn_mm_ctx *mm_ctx) { + char buf[INET_ADDRSTRLEN]; struct sgsn_pdp_ctx *pdp; llist_for_each_entry(pdp, &mm_ctx->pdp_list, list) { LOGMMCTXP(LOGL_INFO, mm_ctx, "Changing GTP-U endpoints %s -> %s\n", - sgsn_gtp_ntoa(&pdp->lib->gsnlu), inet_ntoa(sgsn->cfg.gtp_listenaddr.sin_addr)); + sgsn_gtp_ntoa(&pdp->lib->gsnlu), + inet_ntop(AF_INET, &sgsn->cfg.gtp_listenaddr.sin_addr, buf, sizeof(buf))); sgsn_pdp_upd_gtp_u(pdp, &sgsn->cfg.gtp_listenaddr.sin_addr, sizeof(sgsn->cfg.gtp_listenaddr.sin_addr)); @@ -2479,6 +2481,7 @@ struct sgsn_ggsn_ctx *ggsn; struct sgsn_ggsn_lookup *lookup = arg; struct in_addr *addr = NULL; + char buf[INET_ADDRSTRLEN]; /* The context is gone while we made a request */ if (!lookup->mmctx) { @@ -2535,7 +2538,8 @@ } ggsn->remote_addr = *addr; LOGMMCTXP(LOGL_NOTICE, lookup->mmctx, - "Selected %s as GGSN.\n", inet_ntoa(*addr)); + "Selected %s as GGSN.\n", + inet_ntop(AF_INET, addr, buf, sizeof(buf))); /* forget about the ggsn look-up */ lookup->mmctx->ggsn_lookup = NULL; @@ -2571,6 +2575,7 @@ char *hostname; int rc; struct gprs_llc_lle *lle; + char buf[INET_ADDRSTRLEN]; LOGMMCTXP(LOGL_INFO, mmctx, "-> ACTIVATE PDP CONTEXT REQ: SAPI=%u NSAPI=%u ", act_req->req_llc_sapi, act_req->req_nsapi); @@ -2599,7 +2604,7 @@ if (req_pdpa_len >= 6) { struct in_addr ia; ia.s_addr = ntohl(*((uint32_t *) (req_pdpa+2))); - DEBUGPC(DMM, "%s ", inet_ntoa(ia)); + DEBUGPC(DMM, "%s ", inet_ntop(AF_INET, &ia, buf, sizeof(buf))); } break; case 0x57: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I0c708d047122f349acf46797a9e5973040e7ae04 Gerrit-Change-Number: 15352 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:45:47 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_cdr.c: Fix ip addr string buffer size In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 to look at the new patch set (#2). Change subject: sgsn_cdr.c: Fix ip addr string buffer size ...................................................................... sgsn_cdr.c: Fix ip addr string buffer size INET(6)_ADDRSTRLEN already contains the required extra null byte at the end, no need to add +1 to it. Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9 --- M src/gprs/sgsn_cdr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/58/15358/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9 Gerrit-Change-Number: 15358 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:45:47 +0000 Subject: Change in ...osmo-sgsn[master]: Move out sgsn to its own subdir In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 to look at the new patch set (#4). Change subject: Move out sgsn to its own subdir ...................................................................... Move out sgsn to its own subdir Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 --- M configure.ac M debian/copyright M osmoappdesc.py M src/Makefile.am M src/gprs/Makefile.am A src/sgsn/Makefile.am R src/sgsn/gprs_gb.c R src/sgsn/gprs_gmm.c R src/sgsn/gprs_gmm_attach.c R src/sgsn/gprs_llc.c R src/sgsn/gprs_llc_vty.c R src/sgsn/gprs_llc_xid.c R src/sgsn/gprs_mm_state_gb_fsm.c R src/sgsn/gprs_mm_state_iu_fsm.c R src/sgsn/gprs_ranap.c R src/sgsn/gprs_sgsn.c R src/sgsn/gprs_sndcp.c R src/sgsn/gprs_sndcp_comp.c R src/sgsn/gprs_sndcp_dcomp.c R src/sgsn/gprs_sndcp_pcomp.c R src/sgsn/gprs_sndcp_vty.c R src/sgsn/gprs_sndcp_xid.c R src/sgsn/gprs_subscriber.c R src/sgsn/sgsn_auth.c R src/sgsn/sgsn_cdr.c R src/sgsn/sgsn_ctrl.c R src/sgsn/sgsn_libgtp.c R src/sgsn/sgsn_main.c R src/sgsn/sgsn_vty.c R src/sgsn/slhc.c R src/sgsn/v42bis.c M tests/Makefile.am M tests/ctrl_test_runner.py M tests/sgsn/Makefile.am M tests/slhc/Makefile.am M tests/sndcp_xid/Makefile.am M tests/v42bis/Makefile.am M tests/vty_test_runner.py M tests/xid/Makefile.am 39 files changed, 144 insertions(+), 112 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/63/15363/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 Gerrit-Change-Number: 15363 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:48:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:48:43 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_cdr.c: Fix ip addr string buffer size In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 ) Change subject: sgsn_cdr.c: Fix ip addr string buffer size ...................................................................... Patch Set 2: Code-Review+2 Re-adding previous +2 after rebase. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9 Gerrit-Change-Number: 15358 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:48:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:49:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:49:18 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_vty: Fix mmctx rate_ctr output indentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15356 ) Change subject: sgsn_vty: Fix mmctx rate_ctr output indentation ...................................................................... Patch Set 3: Re-adding previous +2 after rebase. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1b89c179e1ba08b65e31727fdce90c7b578f4d6d Gerrit-Change-Number: 15356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:49:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:49:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 09:49:37 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_vty: Print correct Iu mmctx id in 'show mm-context' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15355 ) Change subject: sgsn_vty: Print correct Iu mmctx id in 'show mm-context' ...................................................................... Patch Set 3: Re-adding previous +2 after rebase. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I79333bef4a4bf743fcad07812c9a213b368ff2b6 Gerrit-Change-Number: 15355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:49:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:57:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:57:23 +0000 Subject: Change in ...osmo-msc[master]: msc_vlr_tests: GSUP: don't care about extra IEs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15343 ) Change subject: msc_vlr_tests: GSUP: don't care about extra IEs ...................................................................... msc_vlr_tests: GSUP: don't care about extra IEs To not break the msc_vlr tests by new GSUP IEs added to some of the GSUP messages, make msc_vlr_tests only match the start of the GSUP message and not care about extra IEs. The extra IEs are anyway seen in the expected logs. The reason to drop the msgb_eq_data_print() is because it is useless for mismatching lengths. It will always print only the length mismatch, instead we need to be able to compare with what was expected. Change-Id: I38d51eeafab04ece83e4bb87bfaa967506f97b11 --- M tests/msc_vlr/msc_vlr_tests.c 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c index 4ccaee9..3d69ae8 100644 --- a/tests/msc_vlr/msc_vlr_tests.c +++ b/tests/msc_vlr/msc_vlr_tests.c @@ -746,8 +746,16 @@ if (len < 1) abort(); - if (!msgb_eq_data_print(msg, buf, len)) + /* Compare only the length expected. Extra data is fine, to not care about new GSUP IEs invented later. */ + if (msg->len < len) { + fprintf(stderr, "ERROR: GSUP message too short, expected '%s'\n", gsup_tx_expected); abort(); + } + + if (memcmp(msg->data, buf, len)) { + fprintf(stderr, "ERROR: GSUP message mismatch, expected it to start with '%s'\n", gsup_tx_expected); + abort(); + } talloc_free(msg); gsup_tx_confirmed = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I38d51eeafab04ece83e4bb87bfaa967506f97b11 Gerrit-Change-Number: 15343 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:57:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:57:23 +0000 Subject: Change in ...osmo-msc[master]: gsm48_tch_rtp_create(): check against NULL mgcp_info In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15344 ) Change subject: gsm48_tch_rtp_create(): check against NULL mgcp_info ...................................................................... gsm48_tch_rtp_create(): check against NULL mgcp_info osmo_mgcpc_ep_ci_get_rtp_info() might return a NULL mgcp_info, guard against that. Fixes: CID#203651 Change-Id: I98fe5860c49751ade1af10d99487aba259504f23 --- M src/libmsc/gsm_04_08_cc.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index 1ec3342..e83caa2 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1700,7 +1700,10 @@ /* Payload Type number */ mgcp_info = osmo_mgcpc_ep_ci_get_rtp_info(rtp_cn->ci); - payload_type = map_codec_to_pt(mgcp_info->ptmap, mgcp_info->ptmap_len, rtp_cn->codec); + if (mgcp_info && mgcp_info->ptmap_len) + payload_type = map_codec_to_pt(mgcp_info->ptmap, mgcp_info->ptmap_len, rtp_cn->codec); + else + payload_type = rtp_cn->codec; rtp_cn_local = call_leg_local_ip(cl, RTP_TO_CN); if (!rtp_cn_local) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I98fe5860c49751ade1af10d99487aba259504f23 Gerrit-Change-Number: 15344 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:57:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:57:23 +0000 Subject: Change in ...osmo-msc[master]: msc_a.c, CC trans: change a comment to a debug log In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15345 ) Change subject: msc_a.c, CC trans: change a comment to a debug log ...................................................................... msc_a.c, CC trans: change a comment to a debug log Change-Id: I5a3cc6219080910119b0c9ff11fc2b9eb96a06e5 --- M src/libmsc/msc_a.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b3e2e32..a082cb8 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1653,7 +1653,7 @@ OSMO_ASSERT(cc_trans->type == TRANS_CC); if (msc_a->cc.active_trans == cc_trans) { - /* Assignment for this trans already started earlier. */ + LOG_MSC_A(msc_a, LOGL_DEBUG, "Assignment for this trans already started earlier\n"); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5a3cc6219080910119b0c9ff11fc2b9eb96a06e5 Gerrit-Change-Number: 15345 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:57:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:57:24 +0000 Subject: Change in ...osmo-msc[master]: cosmetic: fix call_leg_ensure_ci() decl. arg name to match impl. In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15346 ) Change subject: cosmetic: fix call_leg_ensure_ci() decl. arg name to match impl. ...................................................................... cosmetic: fix call_leg_ensure_ci() decl. arg name to match impl. Change-Id: I576bc5c1fd63fe8048a7a6a2d06763fc3221fa49 --- M include/osmocom/msc/call_leg.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/include/osmocom/msc/call_leg.h b/include/osmocom/msc/call_leg.h index f35816c..a225b66 100644 --- a/include/osmocom/msc/call_leg.h +++ b/include/osmocom/msc/call_leg.h @@ -74,7 +74,7 @@ int call_leg_ensure_rtp_alloc(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans); int call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans, - const enum mgcp_codecs *codec_if_known, const struct osmo_sockaddr_str *remote_port_if_known); + const enum mgcp_codecs *codec_if_known, const struct osmo_sockaddr_str *remote_addr_if_known); struct osmo_sockaddr_str *call_leg_local_ip(struct call_leg *cl, enum rtp_direction dir); void call_leg_rtp_stream_gone(struct call_leg *cl, struct rtp_stream *rtps); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I576bc5c1fd63fe8048a7a6a2d06763fc3221fa49 Gerrit-Change-Number: 15346 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 09:59:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 09:59:44 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15373 ) Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15373/2/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/#/c/15373/2/src/osmo-bsc/smscb.c at 142 PS2, Line 142: static struct osmo_cell_global_id cgi; > What about passing it as a parameter and filling it from there? This way space is not lost for users [?] are we arguing about something like 16 estimated bytes for the entire program? For sure I'm against bloat, but we're not talking about anything worth considerng here. Ease of development is more important thant those few bytes, for sure. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 09:59:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:06:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 10:06:56 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 to look at the new patch set (#3). Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Cell Broadcast: CBSP and CBCH scheduling support This adds code to handle CBSP (Cell Broadcast Service Protocol) from the CBC (Cell Broadcast Centre), as well as BSC-internal data structures for scheduling the various SMSCB on the CBCH of each BTS. There are currently one known shortcoming in the code: We don't yet verify if keepalives are received within repetition period. Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 --- A doc/manuals/chapters/smscb.adoc M doc/manuals/osmobsc-usermanual.adoc M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/debug.h M include/osmocom/bsc/gsm_data.h A include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/cbch_scheduler.c A src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_main.c A src/osmo-bsc/smscb.c M tests/handover/Makefile.am 19 files changed, 1,898 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/15373/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:07:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 10:07:32 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_cdr.c: Fix ip addr string buffer size In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 ) Change subject: sgsn_cdr.c: Fix ip addr string buffer size ...................................................................... sgsn_cdr.c: Fix ip addr string buffer size INET(6)_ADDRSTRLEN already contains the required extra null byte at the end, no need to add +1 to it. Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9 --- M src/gprs/sgsn_cdr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/sgsn_cdr.c b/src/gprs/sgsn_cdr.c index 93ed0af..a50b4df 100644 --- a/src/gprs/sgsn_cdr.c +++ b/src/gprs/sgsn_cdr.c @@ -153,9 +153,9 @@ struct sgsn_pdp_ctx *pdp) { char apni[(pdp->lib ? pdp->lib->apn_use.l : 0) + 1]; - char ggsn_addr[INET_ADDRSTRLEN + 1]; - char sgsn_addr[INET_ADDRSTRLEN + 1]; - char eua_addr[INET6_ADDRSTRLEN + 1]; + char ggsn_addr[INET_ADDRSTRLEN]; + char sgsn_addr[INET_ADDRSTRLEN]; + char eua_addr[INET6_ADDRSTRLEN]; struct tm tm; struct timeval tv; time_t duration; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9 Gerrit-Change-Number: 15358 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:07:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 10:07:32 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_vty: Fix mmctx rate_ctr output indentation In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15356 ) Change subject: sgsn_vty: Fix mmctx rate_ctr output indentation ...................................................................... sgsn_vty: Fix mmctx rate_ctr output indentation Change-Id: I1b89c179e1ba08b65e31727fdce90c7b578f4d6d --- M src/gprs/sgsn_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 42b5121..0663131 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -533,7 +533,7 @@ pfx, get_value_string(gprs_mm_st_strs, mm->gmm_state), osmo_rai_name(&mm->ra), mm->gb.cell_id, VTY_NEWLINE); - vty_out_rate_ctr_group(vty, " ", mm->ctrg); + vty_out_rate_ctr_group(vty, " ", mm->ctrg); if (pdp) { struct sgsn_pdp_ctx *pdp; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1b89c179e1ba08b65e31727fdce90c7b578f4d6d Gerrit-Change-Number: 15356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:07:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 10:07:33 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_vty: Print correct Iu mmctx id in 'show mm-context' In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15355 ) Change subject: sgsn_vty: Print correct Iu mmctx id in 'show mm-context' ...................................................................... sgsn_vty: Print correct Iu mmctx id in 'show mm-context' Change-Id: I79333bef4a4bf743fcad07812c9a213b368ff2b6 --- M src/gprs/sgsn_vty.c 1 file changed, 14 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 0663131..1f7874f 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -525,10 +525,23 @@ static void vty_dump_mmctx(struct vty *vty, const char *pfx, struct sgsn_mm_ctx *mm, int pdp) { + uint32_t id = 0; + + switch(mm->ran_type) { + case MM_CTX_T_UTRAN_Iu: +#if BUILD_IU + id = mm->iu.ue_ctx->conn_id; +#endif + break; + case MM_CTX_T_GERAN_Gb: + id = mm->gb.tlli; + break; + } + vty_out(vty, "%sMM Context for IMSI %s, IMEI %s, P-TMSI %08x%s", pfx, mm->imsi, mm->imei, mm->p_tmsi, VTY_NEWLINE); vty_out(vty, "%s MSISDN: %s, TLLI: %08x%s HLR: %s", - pfx, mm->msisdn, mm->gb.tlli, mm->hlr, VTY_NEWLINE); + pfx, mm->msisdn, id, mm->hlr, VTY_NEWLINE); vty_out(vty, "%s MM State: %s, Routeing Area: %s, Cell ID: %u%s", pfx, get_value_string(gprs_mm_st_strs, mm->gmm_state), osmo_rai_name(&mm->ra), mm->gb.cell_id, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I79333bef4a4bf743fcad07812c9a213b368ff2b6 Gerrit-Change-Number: 15355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:18:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 10:18:42 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_iu_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 ) Change subject: Introduce FSM mm_state_iu_fsm ...................................................................... Patch Set 2: While I agree that tests should be added at some point, the truth is that there's not much that can become tested (and hence broken) yet, since the PMM state is not really used for much nowadays (it still needs to be further developed and code added). So in a few works, imho it's impossible it becomes more broken than it was, and now we have a more solid code base to start implementing/fixing related bits... -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I4c9cf8c27194817c56e8949af0205e1cc14af317 Gerrit-Change-Number: 15354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 10:18:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 10:21:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 10:21:27 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_gb_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 ) Change subject: Introduce FSM mm_state_gb_fsm ...................................................................... Patch Set 2: While I agree that tests should be added at some point, the truth is that there's not much that can become tested (and hence broken) yet, since the MM state is not really used for much nowadays (it still needs to be further developed and code added). So in a few works, imho it's impossible it becomes more broken than it was, and now we have a more solid code base to start implementing/fixing related bits... -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I04004423e993107374d5a3549b8a93ac169251dd Gerrit-Change-Number: 15353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 10:21:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:12:15 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 11:12:15 +0000 Subject: Change in ...pysim[master]: this is a test, please ignore Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15379 Change subject: this is a test, please ignore ...................................................................... this is a test, please ignore Change-Id: I67cc83da1054d692af29d4e87d982303e5ce4bfd --- A testme 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/15379/1 diff --git a/testme b/testme new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/testme -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I67cc83da1054d692af29d4e87d982303e5ce4bfd Gerrit-Change-Number: 15379 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:45:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 11:45:53 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Attach Complete to its own function Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 Change subject: gmm: Move code handling GMM Attach Complete to its own function ...................................................................... gmm: Move code handling GMM Attach Complete to its own function Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6 --- M src/sgsn/gprs_gmm.c 1 file changed, 40 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/80/15380/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index edb7eea..b2c70aa 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1343,6 +1343,45 @@ } +/* 3GPP TS 24.008 ? 9.4.3 Attach complete */ +static int gsm48_rx_gmm_att_compl(struct sgsn_mm_ctx *mmctx) +{ + struct sgsn_signal_data sig_data; + /* only in case SGSN offered new P-TMSI */ + LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n"); + + #ifdef BUILD_IU + if (mmctx->iu.ue_ctx) { + ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL); + } + #endif + + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + mmctx->gmm_state = GMM_REGISTERED_NORMAL; + switch(mmctx->ran_type) { + case MM_CTX_T_UTRAN_Iu: + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); + break; + case MM_CTX_T_GERAN_Gb: + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + gprs_llme_copy_key(mmctx, mmctx->gb.llme); + gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, + mmctx->gb.tlli_new); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL); + break; + } + + osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0); + memset(&sig_data, 0, sizeof(sig_data)); + sig_data.mm = mmctx; + osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); + + return 0; +} /* Checks if two attach request contain the IEs and IE values * return 0 if equal @@ -1953,39 +1992,7 @@ case GSM48_MT_GMM_ATTACH_COMPL: if (!mmctx) goto null_mmctx; - /* only in case SGSN offered new P-TMSI */ - LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n"); - -#ifdef BUILD_IU - if (mmctx->iu.ue_ctx) { - ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL); - } -#endif - - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; - switch(mmctx->ran_type) { - case MM_CTX_T_UTRAN_Iu: - osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); - break; - case MM_CTX_T_GERAN_Gb: - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - gprs_llme_copy_key(mmctx, mmctx->gb.llme); - gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, - mmctx->gb.tlli_new); - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL); - break; - } - rc = 0; - - osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0); - memset(&sig_data, 0, sizeof(sig_data)); - sig_data.mm = mmctx; - osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); + rc = gsm48_rx_gmm_att_compl(mmctx); break; case GSM48_MT_GMM_RA_UPD_COMPL: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6 Gerrit-Change-Number: 15380 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:45:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 11:45:54 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Routing Area Update Complete to its own f... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 Change subject: gmm: Move code handling GMM Routing Area Update Complete to its own function ...................................................................... gmm: Move code handling GMM Routing Area Update Complete to its own function Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a --- M src/sgsn/gprs_gmm.c 1 file changed, 32 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15381/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index b2c70aa..ea6daae 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1758,6 +1758,37 @@ return rc; } +/* 3GPP TS 24.008 ? 9.4.16: Routing area update complete */ +static int gsm48_rx_gmm_ra_upd_compl(struct sgsn_mm_ctx *mmctx) +{ + struct sgsn_signal_data sig_data; + /* only in case SGSN offered new P-TMSI */ + LOGMMCTXP(LOGL_INFO, mmctx, "-> ROUTING AREA UPDATE COMPLETE\n"); + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + mmctx->gmm_state = GMM_REGISTERED_NORMAL; + switch(mmctx->ran_type) { + case MM_CTX_T_UTRAN_Iu: + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); + break; + case MM_CTX_T_GERAN_Gb: + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, + mmctx->gb.tlli_new); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_RA_UPDATE, NULL); + break; + } + + memset(&sig_data, 0, sizeof(sig_data)); + sig_data.mm = mmctx; + osmo_signal_dispatch(SS_SGSN, S_SGSN_UPDATE, &sig_data); + + return 0; +} + /* 3GPP TS 24.008 ? 9.4.20 Service request. * In Iu, a UE in PMM-IDLE mode can use GSM48_MT_GMM_SERVICE_REQ to switch back * to PMM-CONNECTED mode. */ @@ -1893,7 +1924,6 @@ int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) { - struct sgsn_signal_data sig_data; struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); int rc; @@ -1997,30 +2027,7 @@ case GSM48_MT_GMM_RA_UPD_COMPL: if (!mmctx) goto null_mmctx; - /* only in case SGSN offered new P-TMSI */ - LOGMMCTXP(LOGL_INFO, mmctx, "-> ROUTING AREA UPDATE COMPLETE\n"); - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; - switch(mmctx->ran_type) { - case MM_CTX_T_UTRAN_Iu: - osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); - break; - case MM_CTX_T_GERAN_Gb: - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, - mmctx->gb.tlli_new); - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_RA_UPDATE, NULL); - break; - } - rc = 0; - - memset(&sig_data, 0, sizeof(sig_data)); - sig_data.mm = mmctx; - osmo_signal_dispatch(SS_SGSN, S_SGSN_UPDATE, &sig_data); + rc = gsm48_rx_gmm_ra_upd_compl(mmctx); break; case GSM48_MT_GMM_PTMSI_REALL_COMPL: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a Gerrit-Change-Number: 15381 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:45:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 11:45:54 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM PTMSI Realloc Complete to its own function Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 Change subject: gmm: Move code handling GMM PTMSI Realloc Complete to its own function ...................................................................... gmm: Move code handling GMM PTMSI Realloc Complete to its own function Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21 --- M src/sgsn/gprs_gmm.c 1 file changed, 17 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/82/15382/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index ea6daae..399f7bf 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1789,6 +1789,22 @@ return 0; } +/* 3GPP TS 24.008 ? 9.4.8: P-TMSI reallocation complete */ +static int gsm48_rx_gmm_ptmsi_reall_compl(struct sgsn_mm_ctx *mmctx) +{ + LOGMMCTXP(LOGL_INFO, mmctx, "-> PTMSI REALLOCATION COMPLETE\n"); + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + //gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new, GPRS_ALGO_GEA0, NULL); + } + return 0; +} + /* 3GPP TS 24.008 ? 9.4.20 Service request. * In Iu, a UE in PMM-IDLE mode can use GSM48_MT_GMM_SERVICE_REQ to switch back * to PMM-CONNECTED mode. */ @@ -2032,17 +2048,7 @@ case GSM48_MT_GMM_PTMSI_REALL_COMPL: if (!mmctx) goto null_mmctx; - LOGMMCTXP(LOGL_INFO, mmctx, "-> PTMSI REALLOCATION COMPLETE\n"); - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - //gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new, GPRS_ALGO_GEA0, NULL); - } - rc = 0; + rc = gsm48_rx_gmm_ptmsi_reall_compl(mmctx); break; case GSM48_MT_GMM_AUTH_CIPH_RESP: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21 Gerrit-Change-Number: 15382 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:47:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 11:47:57 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... Patch Set 1: (1 comment) I think I found whats wrong. (See comment) https://gerrit.osmocom.org/#/c/15313/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/#/c/15313/1/pySim/cards.py at 572 PS1, Line 572: self._scc.verify_chv(0x0A, p['adm1']) I think this should be: self._scc.verify_chv(0x0A, h2b(p['adm1'])) This also explains the problems with sysmo-usim-tool. The authentication here fails, and then the tests for sysmo-usim-tool also block because sysmo-usim-tool detects that only 2 or less authentication attempts are left. PySim won't complain, after the 3rd run of the test the card will lock down. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 11:47:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 2 Sep 2019 11:50:16 +0000 Subject: Change in ...osmo-sgsn[master]: vty: Print MM state and RAN type in show mm-context In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15357 ) Change subject: vty: Print MM state and RAN type in show mm-context ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia06c53f0cd2a6348237ed3abeb9367d965745aba Gerrit-Change-Number: 15357 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 11:50:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:54:33 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 11:54:33 +0000 Subject: Change in ...pysim[master]: this is a test, please ignore In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/15379 ) Change subject: this is a test, please ignore ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I67cc83da1054d692af29d4e87d982303e5ce4bfd Gerrit-Change-Number: 15379 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:55:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 11:55:33 +0000 Subject: Change in ...osmo-sgsn[master]: enum gprs_gmm_state: Fix spec reference Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 Change subject: enum gprs_gmm_state: Fix spec reference ...................................................................... enum gprs_gmm_state: Fix spec reference Change-Id: I62121e46e5091e5b559397aa01f107ddc23e2c18 --- M include/osmocom/sgsn/gprs_sgsn.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15383/1 diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 8e8b762..20e0e06 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -23,7 +23,7 @@ enum gsm48_gsm_cause; -/* TS 04.08 4.1.3.3 GMM mobility management states on the network side */ +/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ enum gprs_gmm_state { GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I62121e46e5091e5b559397aa01f107ddc23e2c18 Gerrit-Change-Number: 15383 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 11:56:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 2 Sep 2019 11:56:12 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 ) Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am File src/gprs/Makefile.am: https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am at 55 PS2, Line 55: $(LIBCARES_LIBS) \ Duplicate, see above. https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am at 56 PS2, Line 56: lrt Do we really need it? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 11:56:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:01:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 12:01:24 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 ) Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am File src/gprs/Makefile.am: https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am at 55 PS2, Line 55: $(LIBCARES_LIBS) \ > Duplicate, see above. Thanks, I'll remove it. https://gerrit.osmocom.org/#/c/15360/2/src/gprs/Makefile.am at 56 PS2, Line 56: lrt > Do we really need it? Probably it's not needed, I'll try dropping it. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 12:01:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:07:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 2 Sep 2019 12:07:38 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gbproxy to its own subdir In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 ) Change subject: Move out gbproxy to its own subdir ...................................................................... Patch Set 2: (1 comment) It looks strange that you're introducing a static library, but in the end nobody will link against it o_O. Maybe I am missing something... https://gerrit.osmocom.org/#/c/15361/2/src/gbproxy/Makefile.am File src/gbproxy/Makefile.am: https://gerrit.osmocom.org/#/c/15361/2/src/gbproxy/Makefile.am at 35 PS2, Line 35: $(top_builddir)/src/gprs/gprs_gb_parse.o \ : $(top_builddir)/src/gprs/gprs_llc_parse.o \ : $(top_builddir)/src/gprs/crc24.o \ : $(top_builddir)/src/gprs/gprs_utils.o \ Can we just link against 'libcommon.la' here? If no, please describe why in the comment message. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e Gerrit-Change-Number: 15361 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 12:07:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:12:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 12:12:13 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gbproxy to its own subdir In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 ) Change subject: Move out gbproxy to its own subdir ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15361/2/src/gbproxy/Makefile.am File src/gbproxy/Makefile.am: https://gerrit.osmocom.org/#/c/15361/2/src/gbproxy/Makefile.am at 35 PS2, Line 35: $(top_builddir)/src/gprs/gprs_gb_parse.o \ : $(top_builddir)/src/gprs/gprs_llc_parse.o \ : $(top_builddir)/src/gprs/crc24.o \ : $(top_builddir)/src/gprs/gprs_utils.o \ > Can we just link against 'libcommon.la' here? If no, please describe why in the comment message. Indeed, I'm introducing a licommon.la which in the end is not used, in order to have all .o files built on one target (to avoid several targets building same files coming from different subdirs, and issues associated to that). I'm open to other alternatives that you think can be better, but this one is good enough. I could indeed link against libcommon.la here, but I prefer keeping it this way in order to keep information on exactly which files each application requires. Specially since some files may be splitted later since only 1 application is using a subset of it for instance, so we can shrink this common section without duplicating code. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e Gerrit-Change-Number: 15361 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 12:12:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:25:28 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 12:25:28 +0000 Subject: Change in ...osmo-sip-connector[master]: mncc: check fd before closing a connection In-Reply-To: References: Message-ID: Hello fixeria, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 to look at the new patch set (#5). Change subject: mncc: check fd before closing a connection ...................................................................... mncc: check fd before closing a connection The function close_connection() closes the fd without marking it as closed. Lets set the fd to -1 and check at the beginning if it is greater than zero. This prevents us from closing an already closed fd again. Related: OS#4159 Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e --- M src/mncc.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/03/15303/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e Gerrit-Change-Number: 15303 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:31:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 12:31:36 +0000 Subject: Change in ...osmo-sip-connector[master]: mncc: check fd before closing a connection In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 ) Change subject: mncc: check fd before closing a connection ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e Gerrit-Change-Number: 15303 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 12:31:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:34:07 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 12:34:07 +0000 Subject: Change in ...pysim[master]: pysim-testdate: Add test data for Wavemobile-sim Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15384 Change subject: pysim-testdate: Add test data for Wavemobile-sim ...................................................................... pysim-testdate: Add test data for Wavemobile-sim Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb --- A pysim-testdata/wavemobile-SIM.data A pysim-testdata/wavemobile-SIM.ok 2 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/15384/1 diff --git a/pysim-testdata/wavemobile-SIM.data b/pysim-testdata/wavemobile-SIM.data new file mode 100644 index 0000000..46690b4 --- /dev/null +++ b/pysim-testdata/wavemobile-SIM.data @@ -0,0 +1,5 @@ +MCC=001 +MNC=01 +IMSI=001010000000102 +ADM=15E31383624FDC8A + diff --git a/pysim-testdata/wavemobile-SIM.ok b/pysim-testdata/wavemobile-SIM.ok new file mode 100644 index 0000000..c17d2a4 --- /dev/null +++ b/pysim-testdata/wavemobile-SIM.ok @@ -0,0 +1,48 @@ +Using PC/SC reader (dev=0) interface +Reading ... +ICCID: 89445310150011013678 +IMSI: 001010000000102 +SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff +PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNwAcT: + fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + +OPLMNwAcT: + fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + +HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. +ACC: abce +MSISDN: Not available +AD: 00ffff02 +Done ! + -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb Gerrit-Change-Number: 15384 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:37:29 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 12:37:29 +0000 Subject: Change in ...pysim[master]: pysim-testdate: Add test data for Wavemobile-sim In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15384 to look at the new patch set (#2). Change subject: pysim-testdate: Add test data for Wavemobile-sim ...................................................................... pysim-testdate: Add test data for Wavemobile-sim Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb --- A pysim-testdata/Wavemobile-SIM.data A pysim-testdata/Wavemobile-SIM.ok 2 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/15384/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb Gerrit-Change-Number: 15384 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 12:42:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Sep 2019 12:42:46 +0000 Subject: Change in ...pysim[master]: pysim-testdate: Add test data for Wavemobile-sim In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15384 to look at the new patch set (#3). Change subject: pysim-testdate: Add test data for Wavemobile-sim ...................................................................... pysim-testdate: Add test data for Wavemobile-sim Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb --- A pysim-testdata/Wavemobile-SIM.data A pysim-testdata/Wavemobile-SIM.ok 2 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/84/15384/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb Gerrit-Change-Number: 15384 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 15:33:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 15:33:25 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 to look at the new patch set (#3). Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... src/gprs/Makefile.am: Move build of shared .c files to an internal lib Build files shared by osmo-sgsn, osmo-gbpy and osmo-gtphub into a .la library, so we can later split each application into its own subdir and clearly identify what's used by who. Due to a dependency error with .Po files, I cannot depend on the specific .o files directly in LDADD for each binary, but it works fine on follow up commits when binaries are splitted into different makefiles, so it will be done later. Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 --- M .gitignore M debian/copyright M src/gprs/Makefile.am 3 files changed, 27 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/60/15360/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 15:33:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 15:33:26 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 Change subject: Implement GMM State using osmocom FSM ...................................................................... Implement GMM State using osmocom FSM State machine inspired in the one from TS 24.008 4.1.3.3.1. Some state transitions are inroduced in the code but are still commented out since we lack some functionalitites or improvements in the code to handle different scenarios. Most of the logic is still outside of the FSM, but at least now the states are handled in a sane way triggered by events. Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 --- M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gprs_gmm_state_fsm.h M include/osmocom/sgsn/gprs_sgsn.h M src/sgsn/Makefile.am M src/sgsn/gprs_gmm.c A src/sgsn/gprs_gmm_state_fsm.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am M tests/sgsn/sgsn_test.c 11 files changed, 262 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15385/1 diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 0ab00fe..e243210 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -6,6 +6,7 @@ gprs_gb.h \ gprs_gb_parse.h \ gprs_gmm.h \ + gprs_gmm_state_fsm.h \ gprs_gmm_attach.h \ gprs_mm_state_gb_fsm.h \ gprs_mm_state_iu_fsm.h \ diff --git a/include/osmocom/sgsn/gprs_gmm_state_fsm.h b/include/osmocom/sgsn/gprs_gmm_state_fsm.h new file mode 100644 index 0000000..b288321 --- /dev/null +++ b/include/osmocom/sgsn/gprs_gmm_state_fsm.h @@ -0,0 +1,34 @@ +#pragma once + +#include + +/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ +enum gmm_state_fsm_states { + ST_GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ + ST_GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ + ST_GMM_REGISTERED_NORMAL, /* 4.1.3.3.2.1 */ + ST_GMM_REGISTERED_SUSPENDED, /* 4.1.3.3.2.2 */ + ST_GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ +}; + +enum gmm_state_fsm_events { + E_GMM_COMMON_PROC_INIT_REQ, + /* E_GMM_COMMON_PROC_FAILED, NOT USED */ + /* E_GMM_LOWER_LAYER_FAILED, NOT USED */ + E_GMM_COMMON_PROC_SUCCESS, + E_GMM_ATTACH_SUCCESS, + /* E_GMM_NET_INIT_DETACH_REQ, NOT USED */ + /* E_GMM_MS_INIT_DETACH_REQ, NOT USED */ + /* E_GMM_DETACH_ACCEPTED, */ + E_GMM_SUSPEND, + E_GMM_RESUME, + E_GMM_CLEANUP, +}; + +static inline bool gmm_state_fsm_is_registered(struct osmo_fsm_inst *fi) +{ + return fi->state == ST_GMM_REGISTERED_NORMAL || + fi->state == ST_GMM_REGISTERED_SUSPENDED; +} + +extern struct osmo_fsm gmm_state_fsm; diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 20e0e06..bf15d6b 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -23,15 +23,6 @@ enum gsm48_gsm_cause; -/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ -enum gprs_gmm_state { - GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ - GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ - GMM_REGISTERED_NORMAL, /* 4.1.3.3.2.1 */ - GMM_REGISTERED_SUSPENDED, /* 4.1.3.3.2.2 */ - GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ -}; - enum gprs_mm_ctr { GMM_CTR_PKTS_SIG_IN, GMM_CTR_PKTS_SIG_OUT, @@ -128,7 +119,7 @@ enum sgsn_ran_type ran_type; char imsi[GSM23003_IMSI_MAX_DIGITS+1]; - enum gprs_gmm_state gmm_state; + struct osmo_fsm_inst *gmm_state_fsm; uint32_t p_tmsi; uint32_t p_tmsi_old; /* old P-TMSI before new is confirmed */ uint32_t p_tmsi_sig; diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index a8da943..e8f1bd2 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -43,6 +43,7 @@ gprs_gb.c \ gprs_gmm_attach.c \ gprs_gmm.c \ + gprs_gmm_state_fsm.c \ gprs_mm_state_gb_fsm.c \ gprs_mm_state_iu_fsm.c \ gprs_ranap.c \ diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 399f7bf..d47f380 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -57,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -211,7 +212,7 @@ LOGMMCTXP(LOGL_INFO, ctx, "Cleaning MM context due to %s\n", log_text); /* Mark MM state as deregistered */ - ctx->gmm_state = GMM_DEREGISTERED; + osmo_fsm_inst_dispatch(ctx->gmm_state_fsm, E_GMM_CLEANUP, NULL); switch(ctx->ran_type) { case MM_CTX_T_UTRAN_Iu: @@ -967,7 +968,7 @@ memset(&sig_data, 0, sizeof(sig_data)); sig_data.mm = mmctx; osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); - ctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mm->gmm_state_fsm, E_GMM_ATTACH_SUCCESS, NULL); #endif return gsm48_tx_gmm_att_ack(ctx); @@ -1009,8 +1010,8 @@ void gsm0408_gprs_access_granted(struct sgsn_mm_ctx *ctx) { - switch (ctx->gmm_state) { - case GMM_COMMON_PROC_INIT: + switch (ctx->gmm_state_fsm->state) { + case ST_GMM_COMMON_PROC_INIT: LOGMMCTXP(LOGL_NOTICE, ctx, "Authorized, continuing procedure, IMSI=%s\n", ctx->imsi); @@ -1030,8 +1031,8 @@ if (gmm_cause == SGSN_ERROR_CAUSE_NONE) gmm_cause = GMM_CAUSE_GPRS_NOTALLOWED; - switch (ctx->gmm_state) { - case GMM_COMMON_PROC_INIT: + switch (ctx->gmm_state_fsm->state) { + case ST_GMM_COMMON_PROC_INIT: LOGMMCTXP(LOGL_NOTICE, ctx, "Not authorized, rejecting ATTACH REQUEST " "with cause '%s' (%d)\n", @@ -1040,8 +1041,8 @@ if (ctx->gmm_att_req.fsm->state != ST_INIT) osmo_fsm_inst_dispatch(ctx->gmm_att_req.fsm, E_REJECT, (void *) (long) gmm_cause); break; - case GMM_REGISTERED_NORMAL: - case GMM_REGISTERED_SUSPENDED: + case ST_GMM_REGISTERED_NORMAL: + case ST_GMM_REGISTERED_SUSPENDED: LOGMMCTXP(LOGL_NOTICE, ctx, "Authorization lost, detaching " "with cause '%s' (%d)\n", @@ -1142,7 +1143,7 @@ { uint32_t ptmsi; /* Don't change the P-TMSI if a P-TMSI re-assignment is under way */ - if (ctx->gmm_state != GMM_COMMON_PROC_INIT) { + if (ctx->gmm_state_fsm->state != ST_GMM_COMMON_PROC_INIT) { ptmsi = sgsn_alloc_ptmsi(); if (ptmsi != GSM_RESERVED_TMSI) { ctx->p_tmsi_old = ctx->p_tmsi; @@ -1150,7 +1151,7 @@ } else LOGMMCTXP(LOGL_ERROR, ctx, "P-TMSI allocation failure: using old one.\n"); } - ctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(ctx->gmm_state_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } /* 3GPP TS 24.008 ? 9.4.1 Attach request */ @@ -1360,7 +1361,7 @@ mmctx->t3350_mode = GMM_T3350_MODE_NONE; mmctx->p_tmsi_old = 0; mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_state_fsm, E_GMM_ATTACH_SUCCESS, NULL); switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); @@ -1658,11 +1659,10 @@ mmctx->p_tmsi, mmctx->p_tmsi_old, mmctx->gb.tlli, mmctx->gb.tlli_new, osmo_rai_name(&mmctx->ra)); - - mmctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(mmctx->gmm_state_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } } else if (!gprs_ra_id_equals(&mmctx->ra, &old_ra_id) || - mmctx->gmm_state == GMM_DEREGISTERED) + mmctx->gmm_state_fsm->state == ST_GMM_DEREGISTERED) { /* We cannot use the mmctx */ LOGMMCTXP(LOGL_INFO, mmctx, @@ -1715,7 +1715,7 @@ mmctx_timer_start(mmctx, 3350); #else /* Make sure we are NORMAL (i.e. not SUSPENDED anymore) */ - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mm->gmm_state_fsm, E_GMM_ATTACH_SUCCESS, NULL); memset(&sig_data, 0, sizeof(sig_data)); sig_data.mm = mmctx; @@ -1768,7 +1768,7 @@ mmctx->t3350_mode = GMM_T3350_MODE_NONE; mmctx->p_tmsi_old = 0; mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_state_fsm, E_GMM_COMMON_PROC_SUCCESS, NULL); switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); @@ -1883,7 +1883,7 @@ goto rejected; } - ctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(ctx->gmm_state_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); ctx->iu.service.type = service_type; @@ -2832,15 +2832,14 @@ return -EINVAL; } - if (mmctx->gmm_state != GMM_REGISTERED_NORMAL && - mmctx->gmm_state != GMM_REGISTERED_SUSPENDED) { + if (!gmm_state_fsm_is_registered(mmctx->gmm_state_fsm)) { LOGMMCTXP(LOGL_NOTICE, mmctx, "SUSPEND request while state " "!= REGISTERED (TLLI=%08x)\n", tlli); return -EINVAL; } /* Transition from REGISTERED_NORMAL to REGISTERED_SUSPENDED */ - mmctx->gmm_state = GMM_REGISTERED_SUSPENDED; + osmo_fsm_inst_dispatch(mmctx->gmm_state_fsm, E_GMM_SUSPEND, NULL); return 0; } @@ -2858,8 +2857,7 @@ return -EINVAL; } - if (mmctx->gmm_state != GMM_REGISTERED_NORMAL && - mmctx->gmm_state != GMM_REGISTERED_SUSPENDED) { + if (!gmm_state_fsm_is_registered(mmctx->gmm_state_fsm)) { LOGMMCTXP(LOGL_NOTICE, mmctx, "RESUME request while state " "!= SUSPENDED (TLLI=%08x)\n", tlli); /* FIXME: should we not simply ignore it? */ @@ -2867,6 +2865,6 @@ } /* Transition from SUSPENDED to NORMAL */ - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_state_fsm, E_GMM_RESUME, NULL); return 0; } diff --git a/src/sgsn/gprs_gmm_state_fsm.c b/src/sgsn/gprs_gmm_state_fsm.c new file mode 100644 index 0000000..fe90560 --- /dev/null +++ b/src/sgsn/gprs_gmm_state_fsm.c @@ -0,0 +1,187 @@ +#include + +#include + +#include +#include + +#define X(s) (1 << (s)) + +static const struct osmo_tdef_state_timeout gmm_state_fsm_timeouts[32] = { + [ST_GMM_DEREGISTERED] = { }, + [ST_GMM_COMMON_PROC_INIT] = { }, + [ST_GMM_REGISTERED_NORMAL] = { }, + [ST_GMM_REGISTERED_SUSPENDED] = { }, + [ST_GMM_DEREGISTERED_INIT] = { }, +}; + +#define gmm_state_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, gmm_state_fsm_timeouts, sgsn->cfg.T_defs, -1) + +static void st_gmm_deregistered(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + gmm_state_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT); + break; + case E_GMM_ATTACH_SUCCESS: + gmm_state_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_common_proc_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + /* TODO: events not used + case E_GMM_LOWER_LAYER_FAILED: + case E_GMM_COMMON_PROC_FAILED: + gmm_state_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + */ + case E_GMM_COMMON_PROC_SUCCESS: + case E_GMM_ATTACH_SUCCESS: + gmm_state_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_registered_normal(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + gmm_state_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT); + break; + /* case E_GMM_NET_INIT_DETACH_REQ: + gmm_state_fsm_state_chg(fi, ST_GMM_DEREGISTERED_INIT); + break; */ + /* case E_GMM_MS_INIT_DETACH_REQ: + gmm_state_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; */ + case E_GMM_SUSPEND: + gmm_state_fsm_state_chg(fi, ST_GMM_REGISTERED_SUSPENDED); + break; + } +} + +static void st_gmm_registered_suspended(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_RESUME: + gmm_state_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_deregistered_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + /* TODO: events not used in osmo-sgsn code + case E_GMM_DETACH_ACCEPTED: + case E_GMM_LOWER_LAYER_FAILED: + gmm_state_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + */ + } +} + +static struct osmo_fsm_state gmm_state_fsm_states[] = { + [ST_GMM_DEREGISTERED] = { + .in_event_mask = + X(E_GMM_COMMON_PROC_INIT_REQ) | + X(E_GMM_ATTACH_SUCCESS), + .out_state_mask = X(ST_GMM_COMMON_PROC_INIT), + .name = "Deregistered", + .action = st_gmm_deregistered, + }, + [ST_GMM_COMMON_PROC_INIT] = { + .in_event_mask = + /* X(E_GMM_LOWER_LAYER_FAILED) | */ + /* X(E_GMM_COMMON_PROC_FAILED) | */ + X(E_GMM_COMMON_PROC_SUCCESS) | + X(E_GMM_ATTACH_SUCCESS), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_REGISTERED_NORMAL), + .name = "CommonProcedureInitiated", + .action = st_gmm_common_proc_init, + }, + [ST_GMM_REGISTERED_NORMAL] = { + .in_event_mask = + X(E_GMM_COMMON_PROC_INIT_REQ) | + /* X(E_GMM_NET_INIT_DETACH_REQ) | */ + /* X(E_GMM_MS_INIT_DETACH_REQ) | */ + X(E_GMM_SUSPEND), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_COMMON_PROC_INIT) | + X(ST_GMM_DEREGISTERED_INIT) | + X(ST_GMM_REGISTERED_SUSPENDED), + .name = "Registered.NORMAL", + .action = st_gmm_registered_normal, + }, + [ST_GMM_REGISTERED_SUSPENDED] = { + .in_event_mask = X(E_GMM_RESUME), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_REGISTERED_NORMAL), + .name = "Registered.SUSPENDED", + .action = st_gmm_registered_suspended, + }, + [ST_GMM_DEREGISTERED_INIT] = { + .in_event_mask = 0 + /* X(E_GMM_DETACH_ACCEPTED) | */ + /* X(E_GMM_LOWER_LAYER_FAILED) */, + .out_state_mask = X(ST_GMM_DEREGISTERED), + .name = "DeregisteredInitiated", + .action = st_gmm_deregistered_init, + }, +}; + +const struct value_string gmm_state_fsm_event_names[] = { + OSMO_VALUE_STRING(E_GMM_COMMON_PROC_INIT_REQ), + /* OSMO_VALUE_STRING(E_GMM_COMMON_PROC_FAILED), */ + /* OSMO_VALUE_STRING(E_GMM_LOWER_LAYER_FAILED), */ + OSMO_VALUE_STRING(E_GMM_COMMON_PROC_SUCCESS), + OSMO_VALUE_STRING(E_GMM_ATTACH_SUCCESS), + /* OSMO_VALUE_STRING(E_GMM_NET_INIT_DETACH_REQ), */ + /* OSMO_VALUE_STRING(E_GMM_MS_INIT_DETACH_REQ), */ + /* OSMO_VALUE_STRING(E_GMM_DETACH_ACCEPTED), */ + OSMO_VALUE_STRING(E_GMM_SUSPEND), + OSMO_VALUE_STRING(E_GMM_CLEANUP), + { 0, NULL } +}; + +void gmm_state_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + switch (event) { + case E_GMM_CLEANUP: + switch (fi->state) { + case ST_GMM_DEREGISTERED: + break; + default: + gmm_state_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + } + } +} + +int gmm_state_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + return 0; +} + +struct osmo_fsm gmm_state_fsm = { + .name = "GMM_STATE", + .states = gmm_state_fsm_states, + .num_states = ARRAY_SIZE(gmm_state_fsm_states), + .event_names = gmm_state_fsm_event_names, + .allstate_event_mask = X(E_GMM_CLEANUP), + .allstate_action = gmm_state_fsm_allstate_action, + .log_subsys = DMM, + .timer_cb = gmm_state_fsm_timer_cb, +}; + +static __attribute__((constructor)) void gmm_state_fsm_init(void) +{ + osmo_fsm_register(&gmm_state_fsm); +} diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 387c0d5..ce93e15 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -234,7 +235,6 @@ if (!ctx) return NULL; - ctx->gmm_state = GMM_DEREGISTERED; ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, rate_ctr_id); if (!ctx->ctrg) { @@ -242,6 +242,7 @@ talloc_free(ctx); return NULL; } + ctx->gmm_state_fsm = osmo_fsm_inst_alloc(&gmm_state_fsm, ctx, ctx, LOGL_DEBUG, "gmm_state"); ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); INIT_LLIST_HEAD(&ctx->pdp_list); @@ -368,6 +369,8 @@ osmo_fsm_inst_free(mm->gb.mm_state_fsm); if (mm->iu.mm_state_fsm) osmo_fsm_inst_free(mm->iu.mm_state_fsm); + if (mm->gmm_state_fsm) + osmo_fsm_inst_free(mm->gmm_state_fsm); sgsn_mm_ctx_free(mm); mm = NULL; @@ -736,7 +739,7 @@ { /* the MM context can be deleted while the GGSN is not reachable or * if has been crashed. */ - if (pctx->mm && pctx->mm->gmm_state == GMM_REGISTERED_NORMAL) { + if (pctx->mm && pctx->mm->gmm_state_fsm->state == ST_GMM_REGISTERED_NORMAL) { gsm48_tx_gsm_deact_pdp_req(pctx, GSM_CAUSE_NET_FAIL, true); sgsn_ggsn_ctx_remove_pdp(pctx->ggsn, pctx); } else { diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 5e3f48f..9fb0a2d 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -655,8 +656,8 @@ msgb_bvci(msg) = mm->gb.bvci; msgb_nsei(msg) = mm->gb.nsei; - switch (mm->gmm_state) { - case GMM_REGISTERED_SUSPENDED: + switch (mm->gmm_state_fsm->state) { + case ST_GMM_REGISTERED_SUSPENDED: /* initiate PS PAGING procedure */ memset(&pinfo, 0, sizeof(pinfo)); pinfo.mode = BSSGP_PAGING_PS; @@ -670,11 +671,11 @@ rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PAGING_PS]); /* FIXME: queue the packet we received from GTP */ break; - case GMM_REGISTERED_NORMAL: + case ST_GMM_REGISTERED_NORMAL: break; default: LOGP(DGPRS, LOGL_ERROR, "GTP DATA IND for TLLI %08X in state " - "%u\n", mm->gb.tlli, mm->gmm_state); + "%s\n", mm->gb.tlli, osmo_fsm_inst_state_name(mm->gmm_state_fsm)); msgb_free(msg); return -1; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 184ece7..b31e73f 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -476,15 +476,6 @@ return add_apn_ggsn_mapping(vty, argv[0], argv[1], atoi(argv[2])); } -const struct value_string gprs_mm_st_strs[] = { - { GMM_DEREGISTERED, "DEREGISTERED" }, - { GMM_COMMON_PROC_INIT, "COMMON PROCEDURE (INIT)" }, - { GMM_REGISTERED_NORMAL, "REGISTERED (NORMAL)" }, - { GMM_REGISTERED_SUSPENDED, "REGISTERED (SUSPENDED)" }, - { GMM_DEREGISTERED_INIT, "DEREGISTERED (INIT)" }, - { 0, NULL } -}; - char *sgsn_gtp_ntoa(struct ul16_t *ul) { struct in_addr ia; @@ -546,7 +537,7 @@ vty_out(vty, "%s MSISDN: %s, TLLI: %08x%s HLR: %s", pfx, mm->msisdn, id, mm->hlr, VTY_NEWLINE); vty_out(vty, "%s GMM State: %s, Routeing Area: %s, Cell ID: %u%s", - pfx, get_value_string(gprs_mm_st_strs, mm->gmm_state), + pfx, osmo_fsm_inst_state_name(mm->gmm_state_fsm), osmo_rai_name(&mm->ra), mm->gb.cell_id, VTY_NEWLINE); vty_out(vty, "%s MM State: %s, RAN Type: %s%s", pfx, mm_state_name, get_value_string(sgsn_ran_type_names, mm->ran_type), VTY_NEWLINE); diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 7ba70eb..4f029c9 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -48,6 +48,7 @@ $(top_builddir)/src/sgsn/gprs_sndcp.o \ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ $(top_builddir)/src/sgsn/gprs_gmm.o \ + $(top_builddir)/src/sgsn/gprs_gmm_state_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \ $(top_builddir)/src/sgsn/gprs_sgsn.o \ diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c index cc25d47..f8c53ce 100644 --- a/tests/sgsn/sgsn_test.c +++ b/tests/sgsn/sgsn_test.c @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -192,7 +193,7 @@ lle = gprs_lle_get_or_create(tlli, 3); ctx = sgsn_mm_ctx_alloc_gb(tlli, raid); - ctx->gmm_state = GMM_REGISTERED_NORMAL; + //ctx->gmm_state_fsm.state = ST_GMM_REGISTERED_NORMAL; ctx->gb.llme = lle->llme; ictx = sgsn_mm_ctx_by_tlli(tlli, raid); @@ -1286,7 +1287,7 @@ ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid); OSMO_ASSERT(ctx != NULL); - OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT); + OSMO_ASSERT(ctx->gmm_state_fsm->state == ST_GMM_COMMON_PROC_INIT); /* we expect an identity request (IMEI) */ OSMO_ASSERT(sgsn_tx_counter == 1); @@ -1306,7 +1307,7 @@ * authorization */ OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid)); - OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT); + OSMO_ASSERT(ctx->gmm_state_fsm->state == ST_GMM_COMMON_PROC_INIT); /* we expect an attach accept/reject */ OSMO_ASSERT(sgsn_tx_counter == 1); @@ -1320,7 +1321,7 @@ send_0408_message(ctx->gb.llme, foreign_tlli, &raid, attach_compl, ARRAY_SIZE(attach_compl)); - OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL); + OSMO_ASSERT(ctx->gmm_state_fsm->state == ST_GMM_REGISTERED_NORMAL); /* we don't expect a response */ OSMO_ASSERT(sgsn_tx_counter == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 15:40:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 15:40:05 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Patch Set 1: I tested manually GPRS still works fine, and verifies all passing TTCN3 sgsn tests are still passing. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 02 Sep 2019 15:40:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 15:46:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 2 Sep 2019 15:46:21 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h File include/osmocom/sgsn/gprs_gmm_state_fsm.h: https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h at 6 PS1, Line 6: gmm_state_fsm_states I find this naming confusing: 'state FSM states'? Maybe it's time to drop this 'state' prefix since you're rewriting the code anyway? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 15:46:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 16:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 16:06:33 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h File include/osmocom/sgsn/gprs_gmm_state_fsm.h: https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h at 6 PS1, Line 6: gmm_state_fsm_states > I find this naming confusing: 'state FSM states'? Maybe it's time to drop this 'state' prefix since [?] I'm simply following convention of naming _states and _events the fields of an osmocom FSM. It happens to be be by casuality that the machine definition is named "GMM state", so in this case it's expected to end up having this kind of naming. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 02 Sep 2019 16:06:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 16:28:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 2 Sep 2019 16:28:18 +0000 Subject: Change in ...osmo-sgsn[master]: Split out GPRS SM layer into its own file Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 Change subject: Split out GPRS SM layer into its own file ...................................................................... Split out GPRS SM layer into its own file Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d --- M include/osmocom/sgsn/Makefile.am M include/osmocom/sgsn/gprs_gmm.h A include/osmocom/sgsn/gprs_sm.h M src/sgsn/Makefile.am M src/sgsn/gprs_gb.c M src/sgsn/gprs_gmm.c M src/sgsn/gprs_ranap.c M src/sgsn/gprs_sgsn.c A src/sgsn/gprs_sm.c M src/sgsn/sgsn_libgtp.c M tests/sgsn/Makefile.am 11 files changed, 780 insertions(+), 709 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/15386/1 diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index e243210..426c1f9 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -14,6 +14,7 @@ gprs_llc_xid.h \ gprs_ranap.h \ gprs_sgsn.h \ + gprs_sm.h \ gprs_sndcp_comp.h \ gprs_sndcp_dcomp.h \ gprs_sndcp.h \ diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 982cd93..e2b17d2 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -6,21 +6,16 @@ #include -int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown); -int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t cause, uint8_t pco_len, uint8_t *pco_v); -int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp); -int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp); int gsm48_tx_gmm_auth_ciph_req(struct sgsn_mm_ctx *mm, const struct osmo_auth_vector *vec, uint8_t key_seq, bool force_standby); int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); -int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, - struct gprs_llc_llme *llme); int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); +int gsm48_gmm_sendmsg(struct msgb *msg, int command, + struct sgsn_mm_ctx *mm, bool encryptable); int gsm0408_gprs_force_reattach(struct sgsn_mm_ctx *mmctx); int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg, struct gprs_llc_llme *llme); @@ -47,7 +42,6 @@ void extract_subscr_msisdn(struct sgsn_mm_ctx *ctx); void extract_subscr_hlr(struct sgsn_mm_ctx *ctx); -void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); - void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); +void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_sm.h b/include/osmocom/sgsn/gprs_sm.h new file mode 100644 index 0000000..55c95b8 --- /dev/null +++ b/include/osmocom/sgsn/gprs_sm.h @@ -0,0 +1,15 @@ +#pragma once + +#include +#include + +int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown); +int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t cause, uint8_t pco_len, uint8_t *pco_v); +int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp); +int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp); + +void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); + +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme); diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index e8f1bd2..b2619f1 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -48,6 +48,7 @@ gprs_mm_state_iu_fsm.c \ gprs_ranap.c \ gprs_sgsn.c \ + gprs_sm.c \ gprs_sndcp.c \ gprs_sndcp_comp.c \ gprs_sndcp_dcomp.c \ diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 65342cf..2d9c25a 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -31,6 +31,7 @@ #include #include #include +#include #include /* Main entry point for incoming 04.08 GPRS messages from Gb */ diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index d47f380..2f769fa 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -29,7 +29,6 @@ #include #include #include -#include #include "bscconfig.h" @@ -42,7 +41,6 @@ #include #include #include -#include #include #include @@ -66,9 +64,6 @@ #define PTMSI_ALLOC -/* 3GPP TS 04.08 sec 6.1.3.4.3(.a) "Abnormal cases" */ -#define T339X_MAX_RETRANS 4 - extern struct sgsn_instance *sgsn; extern void *tall_sgsn_ctx; @@ -91,20 +86,6 @@ }, }; -static const struct tlv_definition gsm48_sm_att_tlvdef = { - .def = { - [GSM48_IE_GSM_APN] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_PROTO_CONF_OPT] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_PDP_ADDR] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_AA_TMR] = { TLV_TYPE_TV, 1 }, - [GSM48_IE_GSM_NAME_FULL] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_NAME_SHORT] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_TIMEZONE] = { TLV_TYPE_FIXED, 1 }, - [GSM48_IE_GSM_UTC_AND_TZ] = { TLV_TYPE_FIXED, 7 }, - [GSM48_IE_GSM_LSA_ID] = { TLV_TYPE_TLV, 0 }, - }, -}; - /* Our implementation, should be kept in SGSN */ static void mmctx_timer_cb(void *_mm); @@ -146,7 +127,7 @@ /* Send a message through the underlying layer. * For param encryptable, see 3GPP TS 24.008 ? 4.7.1.2 and * gsm48_hdr_gmm_cipherable(). Pass false for not cipherable messages. */ -static int gsm48_gmm_sendmsg(struct msgb *msg, int command, +int gsm48_gmm_sendmsg(struct msgb *msg, int command, struct sgsn_mm_ctx *mm, bool encryptable) { if (mm) { @@ -199,7 +180,7 @@ } /* Store BVCI/NSEI in MM context */ -static void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm) +void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm) { msgb_tlli(msg) = mm->gb.tlli; msgb_bvci(msg) = mm->gb.bvci; @@ -228,7 +209,7 @@ /* Chapter 9.4.18 */ static int _tx_status(struct msgb *msg, uint8_t cause, - struct sgsn_mm_ctx *mmctx, int sm) + struct sgsn_mm_ctx *mmctx) { struct gsm48_hdr *gh; @@ -238,13 +219,8 @@ get_value_string(gsm48_gmm_cause_names, cause)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); - if (sm) { - gh->proto_discr = GSM48_PDISC_SM_GPRS; - gh->msg_type = GSM48_MT_GSM_STATUS; - } else { - gh->proto_discr = GSM48_PDISC_MM_GPRS; - gh->msg_type = GSM48_MT_GMM_STATUS; - } + gh->proto_discr = GSM48_PDISC_MM_GPRS; + gh->msg_type = GSM48_MT_GMM_STATUS; gh->data[0] = cause; return gsm48_gmm_sendmsg(msg, 0, mmctx, true); @@ -255,15 +231,7 @@ struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 GMM STATUS"); mmctx2msgid(msg, mmctx); - return _tx_status(msg, cause, mmctx, 0); -} - -static int gsm48_tx_sm_status(struct sgsn_mm_ctx *mmctx, uint8_t cause) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 SM STATUS"); - - mmctx2msgid(msg, mmctx); - return _tx_status(msg, cause, mmctx, 1); + return _tx_status(msg, cause, mmctx); } static int _tx_detach_req(struct msgb *msg, uint8_t detach_type, uint8_t cause, @@ -306,29 +274,6 @@ return _tx_detach_req(msg, detach_type, cause, NULL); } -static struct gsm48_qos default_qos = { - .delay_class = 4, /* best effort */ - .reliab_class = GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT, - .peak_tput = GSM48_QOS_PEAK_TPUT_32000bps, - .preced_class = GSM48_QOS_PC_NORMAL, - .mean_tput = GSM48_QOS_MEAN_TPUT_BEST_EFFORT, - .traf_class = GSM48_QOS_TC_INTERACTIVE, - .deliv_order = GSM48_QOS_DO_UNORDERED, - .deliv_err_sdu = GSM48_QOS_ERRSDU_YES, - .max_sdu_size = GSM48_QOS_MAXSDU_1520, - .max_bitrate_up = GSM48_QOS_MBRATE_63k, - .max_bitrate_down = GSM48_QOS_MBRATE_63k, - .resid_ber = GSM48_QOS_RBER_5e_2, - .sdu_err_ratio = GSM48_QOS_SERR_1e_2, - .handling_prio = 3, - .xfer_delay = 0x10, /* 200ms */ - .guar_bitrate_up = GSM48_QOS_MBRATE_0k, - .guar_bitrate_down = GSM48_QOS_MBRATE_0k, - .sig_ind = 0, /* not optimised for signalling */ - .max_bitrate_down_ext = 0, /* use octet 9 */ - .guar_bitrate_down_ext = 0, /* use octet 13 */ -}; - /* Chapter 9.4.2: Attach accept */ int gsm48_tx_gmm_att_ack(struct sgsn_mm_ctx *mm) { @@ -2155,645 +2100,6 @@ } } -/* GPRS SESSION MANAGEMENT */ - -static void pdpctx_timer_cb(void *_mm); - - -static void pdpctx_timer_rearm(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - unsigned long seconds; - if (osmo_timer_pending(&pdp->timer)) - LOGPDPCTXP(LOGL_ERROR, pdp, "Scheduling PDP timer %u while old " - "timer %u pending\n", T, pdp->T); - seconds = osmo_tdef_get(sgsn->cfg.T_defs, T, OSMO_TDEF_S, -1); - osmo_timer_schedule(&pdp->timer, seconds, 0); -} - -static void pdpctx_timer_start(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - if (osmo_timer_pending(&pdp->timer)) - LOGPDPCTXP(LOGL_ERROR, pdp, "Starting PDP timer %u while old " - "timer %u pending\n", T, pdp->T); - pdp->T = T; - pdp->num_T_exp = 0; - - osmo_timer_setup(&pdp->timer, pdpctx_timer_cb, pdp); - pdpctx_timer_rearm(pdp, pdp->T); -} - -static void pdpctx_timer_stop(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - if (pdp->T != T) - LOGPDPCTXP(LOGL_ERROR, pdp, "Stopping PDP timer %u but " - "%u is running\n", T, pdp->T); - osmo_timer_del(&pdp->timer); -} - -void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp) -{ - /* Detach from MM context */ - llist_del(&pdp->list); - pdp->mm = NULL; - - /* stop timer 3395 */ - pdpctx_timer_stop(pdp, 3395); -} - -#if 0 -static void msgb_put_pdp_addr_ipv4(struct msgb *msg, uint32_t ipaddr) -{ - uint8_t v[6]; - - v[0] = PDP_TYPE_ORG_IETF; - v[1] = PDP_TYPE_N_IETF_IPv4; - *(uint32_t *)(v+2) = htonl(ipaddr); - - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); -} - -static void msgb_put_pdp_addr_ppp(struct msgb *msg) -{ - uint8_t v[2]; - - v[0] = PDP_TYPE_ORG_ETSI; - v[1] = PDP_TYPE_N_ETSI_PPP; - - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); -} -#endif - -/* 3GPP TS 24.008 ? 9.5.2: Activate PDP Context Accept */ -int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP ACC"); - struct gsm48_hdr *gh; - uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ - - LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); - - mmctx2msgid(msg, pdp->mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_ACT_PDP_ACK; - - /* Negotiated LLC SAPI */ - msgb_v_put(msg, pdp->sapi); - - /* FIXME: copy QoS parameters from original request */ - //msgb_lv_put(msg, pdp->lib->qos_neg.l, pdp->lib->qos_neg.v); - msgb_lv_put(msg, sizeof(default_qos), (uint8_t *)&default_qos); - - /* Radio priority 10.5.7.2 */ - msgb_v_put(msg, pdp->lib->radio_pri); - - /* PDP address */ - /* Highest 4 bits of first byte need to be set to 1, otherwise - * the IE is identical with the 04.08 PDP Address IE */ - pdp->lib->eua.v[0] &= ~0xf0; - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, - pdp->lib->eua.l, pdp->lib->eua.v); - pdp->lib->eua.v[0] |= 0xf0; - - /* Optional: Protocol configuration options (FIXME: why 'req') */ - if (pdp->lib->pco_req.l) - msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, - pdp->lib->pco_req.l, pdp->lib->pco_req.v); - - /* Optional: Packet Flow Identifier */ - - return gsm48_gmm_sendmsg(msg, 0, pdp->mm, true); -} - -/* 3GPP TS 24.008 ? 9.5.3: Activate PDP Context reject */ -int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t cause, uint8_t pco_len, uint8_t *pco_v) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP REJ"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - - LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", - get_value_string(gsm48_gsm_cause_names, cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_ACT_PDP_REJ; - - msgb_v_put(msg, cause); - if (pco_len && pco_v) - msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, pco_len, pco_v); - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} - -/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ -static int _gsm48_tx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t sm_cause, bool teardown) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET REQ"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); - - LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_DEACT_PDP_REQ; - - msgb_v_put(msg, sm_cause); - msgb_v_put(msg, tear_down_ind); - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} -int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown) -{ - pdpctx_timer_start(pdp, 3395); - - return _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, sm_cause, teardown); -} - -/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ -static int _gsm48_tx_gsm_deact_pdp_acc(struct sgsn_mm_ctx *mm, uint8_t tid) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET ACC"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - - LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_DEACT_PDP_ACK; - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} -int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp) -{ - return _gsm48_tx_gsm_deact_pdp_acc(pdp->mm, pdp->ti); -} - -static int activate_ggsn(struct sgsn_mm_ctx *mmctx, - struct sgsn_ggsn_ctx *ggsn, const uint8_t transaction_id, - const uint8_t req_nsapi, const uint8_t req_llc_sapi, - struct tlv_parsed *tp, int destroy_ggsn) -{ - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_DEBUG, mmctx, "Using GGSN %u\n", ggsn->id); - ggsn->gsn = sgsn->gsn; - pdp = sgsn_create_pdp_ctx(ggsn, mmctx, req_nsapi, tp); - if (!pdp) - return -1; - - /* Store SAPI and Transaction Identifier */ - pdp->sapi = req_llc_sapi; - pdp->ti = transaction_id; - pdp->destroy_ggsn = destroy_ggsn; - - return 0; -} - -static void ggsn_lookup_cb(void *arg, int status, int timeouts, struct hostent *hostent) -{ - struct sgsn_ggsn_ctx *ggsn; - struct sgsn_ggsn_lookup *lookup = arg; - struct in_addr *addr = NULL; - char buf[INET_ADDRSTRLEN]; - - /* The context is gone while we made a request */ - if (!lookup->mmctx) { - talloc_free(lookup->orig_msg); - talloc_free(lookup); - return; - } - - if (status != ARES_SUCCESS) { - struct sgsn_mm_ctx *mmctx = lookup->mmctx; - - LOGMMCTXP(LOGL_ERROR, mmctx, "DNS query failed.\n"); - - /* Need to try with three digits now */ - if (lookup->state == SGSN_GGSN_2DIGIT) { - char *hostname; - int rc; - - lookup->state = SGSN_GGSN_3DIGIT; - hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, - lookup->apn_str, 1); - LOGMMCTXP(LOGL_DEBUG, mmctx, - "Going to query %s\n", hostname); - rc = sgsn_ares_query(sgsn, hostname, - ggsn_lookup_cb, lookup); - if (rc != 0) { - LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't start GGSN\n"); - goto reject_due_failure; - } - return; - } - - LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't resolve GGSN\n"); - goto reject_due_failure; - } - - if (hostent->h_length != sizeof(struct in_addr)) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, - "Wrong addr size(%zu)\n", sizeof(struct in_addr)); - goto reject_due_failure; - } - - /* Get the first addr from the list */ - addr = (struct in_addr *) hostent->h_addr_list[0]; - if (!addr) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "No host address.\n"); - goto reject_due_failure; - } - - ggsn = sgsn_ggsn_ctx_alloc(UINT32_MAX); - if (!ggsn) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "Failed to create ggsn.\n"); - goto reject_due_failure; - } - ggsn->remote_addr = *addr; - LOGMMCTXP(LOGL_NOTICE, lookup->mmctx, - "Selected %s as GGSN.\n", - inet_ntop(AF_INET, addr, buf, sizeof(buf))); - - /* forget about the ggsn look-up */ - lookup->mmctx->ggsn_lookup = NULL; - - activate_ggsn(lookup->mmctx, ggsn, lookup->ti, lookup->nsapi, - lookup->sapi, &lookup->tp, 1); - - /* Now free it */ - talloc_free(lookup->orig_msg); - talloc_free(lookup); - return; - -reject_due_failure: - gsm48_tx_gsm_act_pdp_rej(lookup->mmctx, lookup->ti, - GMM_CAUSE_NET_FAIL, 0, NULL); - lookup->mmctx->ggsn_lookup = NULL; - talloc_free(lookup->orig_msg); - talloc_free(lookup); -} - -static int do_act_pdp_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, bool *delete) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - struct gsm48_act_pdp_ctx_req *act_req = (struct gsm48_act_pdp_ctx_req *) gh->data; - uint8_t req_qos_len, req_pdpa_len; - uint8_t *req_qos, *req_pdpa; - struct tlv_parsed tp; - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_ggsn_ctx *ggsn; - struct sgsn_pdp_ctx *pdp; - enum gsm48_gsm_cause gsm_cause; - char apn_str[GSM_APN_LENGTH] = { 0, }; - char *hostname; - int rc; - struct gprs_llc_lle *lle; - char buf[INET_ADDRSTRLEN]; - - LOGMMCTXP(LOGL_INFO, mmctx, "-> ACTIVATE PDP CONTEXT REQ: SAPI=%u NSAPI=%u ", - act_req->req_llc_sapi, act_req->req_nsapi); - - /* FIXME: length checks! */ - req_qos_len = act_req->data[0]; - req_qos = act_req->data + 1; /* 10.5.6.5 */ - req_pdpa_len = act_req->data[1 + req_qos_len]; - req_pdpa = act_req->data + 1 + req_qos_len + 1; /* 10.5.6.4 */ - - switch (req_pdpa[0] & 0xf) { - case 0x0: - DEBUGPC(DMM, "ETSI "); - break; - case 0x1: - DEBUGPC(DMM, "IETF "); - break; - case 0xf: - DEBUGPC(DMM, "Empty "); - break; - } - - switch (req_pdpa[1]) { - case 0x21: - DEBUGPC(DMM, "IPv4 "); - if (req_pdpa_len >= 6) { - struct in_addr ia; - ia.s_addr = ntohl(*((uint32_t *) (req_pdpa+2))); - DEBUGPC(DMM, "%s ", inet_ntop(AF_INET, &ia, buf, sizeof(buf))); - } - break; - case 0x57: - DEBUGPC(DMM, "IPv6 "); - if (req_pdpa_len >= 18) { - /* FIXME: print IPv6 address */ - } - break; - default: - DEBUGPC(DMM, "0x%02x ", req_pdpa[1]); - break; - } - - LOGPC(DMM, LOGL_INFO, "\n"); - - /* Check if NSAPI is out of range (TS 04.65 / 7.2) */ - if (act_req->req_nsapi < 5 || act_req->req_nsapi > 15) { - /* Send reject with GSM_CAUSE_INV_MAND_INFO */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_INV_MAND_INFO, - 0, NULL); - } - - /* Optional: Access Point Name, Protocol Config Options */ - if (req_pdpa + req_pdpa_len < msg->data + msg->len) - tlv_parse(&tp, &gsm48_sm_att_tlvdef, req_pdpa + req_pdpa_len, - (msg->data + msg->len) - (req_pdpa + req_pdpa_len), 0, 0); - else - memset(&tp, 0, sizeof(tp)); - - - /* put the non-TLV elements in the TLV parser structure to - * pass them on to the SGSN / GTP code */ - tp.lv[OSMO_IE_GSM_REQ_QOS].len = req_qos_len; - tp.lv[OSMO_IE_GSM_REQ_QOS].val = req_qos; - tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].len = req_pdpa_len; - tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].val = req_pdpa; - - /* Check if NSAPI is already in use */ - pdp = sgsn_pdp_ctx_by_nsapi(mmctx, act_req->req_nsapi); - if (pdp) { - /* We already have a PDP context for this TLLI + NSAPI tuple */ - if (pdp->sapi == act_req->req_llc_sapi && - pdp->ti == transaction_id) { - /* This apparently is a re-transmission of a PDP CTX - * ACT REQ (our ACT ACK must have got dropped) */ - rc = gsm48_tx_gsm_act_pdp_acc(pdp); - if (rc < 0) - return rc; - - if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { - /* Also re-transmit the SNDCP XID message */ - lle = &pdp->mm->gb.llme->lle[pdp->sapi]; - rc = sndcp_sn_xid_req(lle,pdp->nsapi); - if (rc < 0) - return rc; - } - - return 0; - } - - /* Send reject with GSM_CAUSE_NSAPI_IN_USE */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_NSAPI_IN_USE, - 0, NULL); - } - - if (mmctx->ggsn_lookup) { - if (mmctx->ggsn_lookup->sapi == act_req->req_llc_sapi && - mmctx->ggsn_lookup->ti == transaction_id) { - LOGMMCTXP(LOGL_NOTICE, mmctx, - "Re-transmission while doing look-up. Ignoring.\n"); - return 0; - } - } - - /* Only increment counter for a real activation, after we checked - * for re-transmissions */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); - - /* Determine GGSN based on APN and subscription options */ - ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); - if (ggsn) - return activate_ggsn(mmctx, ggsn, transaction_id, - act_req->req_nsapi, act_req->req_llc_sapi, - &tp, 0); - - if (strlen(apn_str) == 0) - goto no_context; - if (!sgsn->cfg.dynamic_lookup) - goto no_context; - - /* schedule a dynamic look-up */ - mmctx->ggsn_lookup = talloc_zero(tall_sgsn_ctx, struct sgsn_ggsn_lookup); - if (!mmctx->ggsn_lookup) - goto no_context; - - mmctx->ggsn_lookup->state = SGSN_GGSN_2DIGIT; - mmctx->ggsn_lookup->mmctx = mmctx; - strcpy(mmctx->ggsn_lookup->apn_str, apn_str); - - mmctx->ggsn_lookup->orig_msg = msg; - mmctx->ggsn_lookup->tp = tp; - - mmctx->ggsn_lookup->ti = transaction_id; - mmctx->ggsn_lookup->nsapi = act_req->req_nsapi; - mmctx->ggsn_lookup->sapi = act_req->req_llc_sapi; - - hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, - mmctx->ggsn_lookup->apn_str, 0); - - LOGMMCTXP(LOGL_DEBUG, mmctx, "Going to query %s\n", hostname); - rc = sgsn_ares_query(sgsn, hostname, - ggsn_lookup_cb, mmctx->ggsn_lookup); - if (rc != 0) { - LOGMMCTXP(LOGL_ERROR, mmctx, "Failed to start ares query.\n"); - goto no_context; - } - *delete = 0; - - return 0; - -no_context: - LOGMMCTXP(LOGL_ERROR, mmctx, "No GGSN context found!\n"); - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - gsm_cause, 0, NULL); -} - -/* 3GPP TS 24.008 ? 9.5.1: Activate PDP Context Request */ -static int gsm48_rx_gsm_act_pdp_req(struct sgsn_mm_ctx *mmctx, - struct msgb *_msg) -{ - bool delete = 1; - struct msgb *msg; - int rc; - - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); - - /* - * This is painful. We might not have a static GGSN - * configuration and then would need to copy the msg - * and re-do most of this routine (or call it again - * and make sure it only goes through the dynamic - * resolving. The question is what to optimize for - * and the dynamic resolution will be the right thing - * in the long run. - */ - msg = bssgp_msgb_copy(_msg, __func__); - if (!msg) { - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(_msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - - LOGMMCTXP(LOGL_ERROR, mmctx, "-> ACTIVATE PDP CONTEXT REQ failed copy.\n"); - /* Send reject with GSM_CAUSE_INV_MAND_INFO */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_NET_FAIL, - 0, NULL); - } - - rc = do_act_pdp_req(mmctx, msg, &delete); - if (delete) - msgb_free(msg); - return rc; -} - -/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ -static int gsm48_rx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, struct msgb *msg) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", - get_value_string(gsm48_gsm_cause_names, gh->data[0])); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); - - pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); - if (!pdp) { - LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Request for " - "non-existing PDP Context (IMSI=%s, TI=%u)\n", - mm->imsi, transaction_id); - return _gsm48_tx_gsm_deact_pdp_acc(mm, transaction_id); - } - - return sgsn_delete_pdp_ctx(pdp); -} - -/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ -static int gsm48_rx_gsm_deact_pdp_ack(struct sgsn_mm_ctx *mm, struct msgb *msg) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); - - pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); - if (!pdp) { - LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Accept for " - "non-existing PDP Context (IMSI=%s, TI=%u)\n", - mm->imsi, transaction_id); - return 0; - } - /* stop timer 3395 */ - pdpctx_timer_stop(pdp, 3395); - if (pdp->ggsn) - return sgsn_delete_pdp_ctx(pdp); - /* GTP side already detached, freeing */ - sgsn_pdp_ctx_free(pdp); - return 0; -} - -static int gsm48_rx_gsm_status(struct sgsn_mm_ctx *ctx, struct msgb *msg) -{ - struct gsm48_hdr *gh = msgb_l3(msg); - - LOGMMCTXP(LOGL_INFO, ctx, "-> GPRS SM STATUS (cause: %s)\n", - get_value_string(gsm48_gsm_cause_names, gh->data[0])); - - return 0; -} - -static void pdpctx_timer_cb(void *_pdp) -{ - struct sgsn_pdp_ctx *pdp = _pdp; - - pdp->num_T_exp++; - - switch (pdp->T) { - case 3395: /* waiting for PDP CTX DEACT ACK */ - if (pdp->num_T_exp > T339X_MAX_RETRANS) { - LOGPDPCTXP(LOGL_NOTICE, pdp, "T3395 expired > %d times\n", T339X_MAX_RETRANS); - pdp->state = PDP_STATE_INACTIVE; - if (pdp->ggsn) - sgsn_delete_pdp_ctx(pdp); - else - sgsn_pdp_ctx_free(pdp); - break; - } - _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, GSM_CAUSE_NET_FAIL, true); - pdpctx_timer_rearm(pdp, 3395); - break; - default: - LOGPDPCTXP(LOGL_ERROR, pdp, "timer expired in unknown mode %u\n", - pdp->T); - } -} - - -/* GPRS Session Management */ -int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, - struct gprs_llc_llme *llme) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - int rc; - - /* MMCTX can be NULL when called */ - - if (!mmctx) { - LOGGBIUP(llme, msg, LOGL_NOTICE, "Cannot handle SM for unknown MM CTX\n"); - /* 6.1.3.6 */ - if (gh->msg_type == GSM48_MT_GSM_STATUS) - return 0; - - return gsm0408_gprs_force_reattach_oldmsg(msg, llme); - } - - switch (gh->msg_type) { - case GSM48_MT_GSM_ACT_PDP_REQ: - rc = gsm48_rx_gsm_act_pdp_req(mmctx, msg); - break; - case GSM48_MT_GSM_DEACT_PDP_REQ: - rc = gsm48_rx_gsm_deact_pdp_req(mmctx, msg); - break; - case GSM48_MT_GSM_DEACT_PDP_ACK: - rc = gsm48_rx_gsm_deact_pdp_ack(mmctx, msg); - break; - case GSM48_MT_GSM_STATUS: - rc = gsm48_rx_gsm_status(mmctx, msg); - break; - case GSM48_MT_GSM_REQ_PDP_ACT_REJ: - case GSM48_MT_GSM_ACT_AA_PDP_REQ: - case GSM48_MT_GSM_DEACT_AA_PDP_REQ: - LOGMMCTXP(LOGL_NOTICE, mmctx, "Unimplemented GSM 04.08 GSM msg type 0x%02x: %s\n", - gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); - break; - default: - LOGMMCTXP(LOGL_NOTICE, mmctx, "Unknown GSM 04.08 GSM msg type 0x%02x: %s\n", - gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); - break; - - } - - return rc; -} - int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg, struct gprs_llc_llme *llme) { diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 027b666..27b9641 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index ce93e15..46bbfd5 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c new file mode 100644 index 0000000..8cf5c5d --- /dev/null +++ b/src/sgsn/gprs_sm.c @@ -0,0 +1,749 @@ +/* Section "9.5 GPRS Session Management Messages" + * 3GPP TS 04.08 version 7.21.0 Release 1998 / ETSI TS 100 940 V7.21.0 */ + +/* (C) 2009-2015 by Harald Welte + * (C) 2010 by On-Waves + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include + +#include "bscconfig.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +extern void *tall_sgsn_ctx; + +/* 3GPP TS 04.08 sec 6.1.3.4.3(.a) "Abnormal cases" */ +#define T339X_MAX_RETRANS 4 + +static const struct tlv_definition gsm48_sm_att_tlvdef = { + .def = { + [GSM48_IE_GSM_APN] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_PROTO_CONF_OPT] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_PDP_ADDR] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_AA_TMR] = { TLV_TYPE_TV, 1 }, + [GSM48_IE_GSM_NAME_FULL] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_NAME_SHORT] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_TIMEZONE] = { TLV_TYPE_FIXED, 1 }, + [GSM48_IE_GSM_UTC_AND_TZ] = { TLV_TYPE_FIXED, 7 }, + [GSM48_IE_GSM_LSA_ID] = { TLV_TYPE_TLV, 0 }, + }, +}; + +static struct gsm48_qos default_qos = { + .delay_class = 4, /* best effort */ + .reliab_class = GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT, + .peak_tput = GSM48_QOS_PEAK_TPUT_32000bps, + .preced_class = GSM48_QOS_PC_NORMAL, + .mean_tput = GSM48_QOS_MEAN_TPUT_BEST_EFFORT, + .traf_class = GSM48_QOS_TC_INTERACTIVE, + .deliv_order = GSM48_QOS_DO_UNORDERED, + .deliv_err_sdu = GSM48_QOS_ERRSDU_YES, + .max_sdu_size = GSM48_QOS_MAXSDU_1520, + .max_bitrate_up = GSM48_QOS_MBRATE_63k, + .max_bitrate_down = GSM48_QOS_MBRATE_63k, + .resid_ber = GSM48_QOS_RBER_5e_2, + .sdu_err_ratio = GSM48_QOS_SERR_1e_2, + .handling_prio = 3, + .xfer_delay = 0x10, /* 200ms */ + .guar_bitrate_up = GSM48_QOS_MBRATE_0k, + .guar_bitrate_down = GSM48_QOS_MBRATE_0k, + .sig_ind = 0, /* not optimised for signalling */ + .max_bitrate_down_ext = 0, /* use octet 9 */ + .guar_bitrate_down_ext = 0, /* use octet 13 */ +}; + +/* GPRS SESSION MANAGEMENT */ + +static void pdpctx_timer_cb(void *_mm); + +static void pdpctx_timer_rearm(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + unsigned long seconds; + if (osmo_timer_pending(&pdp->timer)) + LOGPDPCTXP(LOGL_ERROR, pdp, "Scheduling PDP timer %u while old " + "timer %u pending\n", T, pdp->T); + seconds = osmo_tdef_get(sgsn->cfg.T_defs, T, OSMO_TDEF_S, -1); + osmo_timer_schedule(&pdp->timer, seconds, 0); +} + +static void pdpctx_timer_start(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + if (osmo_timer_pending(&pdp->timer)) + LOGPDPCTXP(LOGL_ERROR, pdp, "Starting PDP timer %u while old " + "timer %u pending\n", T, pdp->T); + pdp->T = T; + pdp->num_T_exp = 0; + + osmo_timer_setup(&pdp->timer, pdpctx_timer_cb, pdp); + pdpctx_timer_rearm(pdp, pdp->T); +} + +static void pdpctx_timer_stop(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + if (pdp->T != T) + LOGPDPCTXP(LOGL_ERROR, pdp, "Stopping PDP timer %u but " + "%u is running\n", T, pdp->T); + osmo_timer_del(&pdp->timer); +} + +void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp) +{ + /* Detach from MM context */ + llist_del(&pdp->list); + pdp->mm = NULL; + + /* stop timer 3395 */ + pdpctx_timer_stop(pdp, 3395); +} + +#if 0 +static void msgb_put_pdp_addr_ipv4(struct msgb *msg, uint32_t ipaddr) +{ + uint8_t v[6]; + + v[0] = PDP_TYPE_ORG_IETF; + v[1] = PDP_TYPE_N_IETF_IPv4; + *(uint32_t *)(v+2) = htonl(ipaddr); + + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); +} + +static void msgb_put_pdp_addr_ppp(struct msgb *msg) +{ + uint8_t v[2]; + + v[0] = PDP_TYPE_ORG_ETSI; + v[1] = PDP_TYPE_N_ETSI_PPP; + + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); +} +#endif + +/* Chapter 9.4.18 */ +static int _tx_status(struct msgb *msg, uint8_t cause, + struct sgsn_mm_ctx *mmctx) +{ + struct gsm48_hdr *gh; + + /* MMCTX might be NULL! */ + + DEBUGP(DMM, "<- GPRS MM STATUS (cause: %s)\n", + get_value_string(gsm48_gmm_cause_names, cause)); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); + gh->proto_discr = GSM48_PDISC_SM_GPRS; + gh->msg_type = GSM48_MT_GSM_STATUS; + gh->data[0] = cause; + + return gsm48_gmm_sendmsg(msg, 0, mmctx, true); +} + +static int gsm48_tx_sm_status(struct sgsn_mm_ctx *mmctx, uint8_t cause) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 SM STATUS"); + + mmctx2msgid(msg, mmctx); + return _tx_status(msg, cause, mmctx); +} + +/* 3GPP TS 24.008 ? 9.5.2: Activate PDP Context Accept */ +int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP ACC"); + struct gsm48_hdr *gh; + uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ + + LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); + + mmctx2msgid(msg, pdp->mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_ACT_PDP_ACK; + + /* Negotiated LLC SAPI */ + msgb_v_put(msg, pdp->sapi); + + /* FIXME: copy QoS parameters from original request */ + //msgb_lv_put(msg, pdp->lib->qos_neg.l, pdp->lib->qos_neg.v); + msgb_lv_put(msg, sizeof(default_qos), (uint8_t *)&default_qos); + + /* Radio priority 10.5.7.2 */ + msgb_v_put(msg, pdp->lib->radio_pri); + + /* PDP address */ + /* Highest 4 bits of first byte need to be set to 1, otherwise + * the IE is identical with the 04.08 PDP Address IE */ + pdp->lib->eua.v[0] &= ~0xf0; + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, + pdp->lib->eua.l, pdp->lib->eua.v); + pdp->lib->eua.v[0] |= 0xf0; + + /* Optional: Protocol configuration options (FIXME: why 'req') */ + if (pdp->lib->pco_req.l) + msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, + pdp->lib->pco_req.l, pdp->lib->pco_req.v); + + /* Optional: Packet Flow Identifier */ + + return gsm48_gmm_sendmsg(msg, 0, pdp->mm, true); +} + +/* 3GPP TS 24.008 ? 9.5.3: Activate PDP Context reject */ +int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t cause, uint8_t pco_len, uint8_t *pco_v) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP REJ"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + + LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", + get_value_string(gsm48_gsm_cause_names, cause)); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_ACT_PDP_REJ; + + msgb_v_put(msg, cause); + if (pco_len && pco_v) + msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, pco_len, pco_v); + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} + +/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ +static int _gsm48_tx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t sm_cause, bool teardown) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET REQ"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); + + LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_DEACT_PDP_REQ; + + msgb_v_put(msg, sm_cause); + msgb_v_put(msg, tear_down_ind); + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} +int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown) +{ + pdpctx_timer_start(pdp, 3395); + + return _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, sm_cause, teardown); +} + +/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ +static int _gsm48_tx_gsm_deact_pdp_acc(struct sgsn_mm_ctx *mm, uint8_t tid) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET ACC"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + + LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_DEACT_PDP_ACK; + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} +int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp) +{ + return _gsm48_tx_gsm_deact_pdp_acc(pdp->mm, pdp->ti); +} + +static int activate_ggsn(struct sgsn_mm_ctx *mmctx, + struct sgsn_ggsn_ctx *ggsn, const uint8_t transaction_id, + const uint8_t req_nsapi, const uint8_t req_llc_sapi, + struct tlv_parsed *tp, int destroy_ggsn) +{ + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_DEBUG, mmctx, "Using GGSN %u\n", ggsn->id); + ggsn->gsn = sgsn->gsn; + pdp = sgsn_create_pdp_ctx(ggsn, mmctx, req_nsapi, tp); + if (!pdp) + return -1; + + /* Store SAPI and Transaction Identifier */ + pdp->sapi = req_llc_sapi; + pdp->ti = transaction_id; + pdp->destroy_ggsn = destroy_ggsn; + + return 0; +} + +static void ggsn_lookup_cb(void *arg, int status, int timeouts, struct hostent *hostent) +{ + struct sgsn_ggsn_ctx *ggsn; + struct sgsn_ggsn_lookup *lookup = arg; + struct in_addr *addr = NULL; + char buf[INET_ADDRSTRLEN]; + + /* The context is gone while we made a request */ + if (!lookup->mmctx) { + talloc_free(lookup->orig_msg); + talloc_free(lookup); + return; + } + + if (status != ARES_SUCCESS) { + struct sgsn_mm_ctx *mmctx = lookup->mmctx; + + LOGMMCTXP(LOGL_ERROR, mmctx, "DNS query failed.\n"); + + /* Need to try with three digits now */ + if (lookup->state == SGSN_GGSN_2DIGIT) { + char *hostname; + int rc; + + lookup->state = SGSN_GGSN_3DIGIT; + hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, + lookup->apn_str, 1); + LOGMMCTXP(LOGL_DEBUG, mmctx, + "Going to query %s\n", hostname); + rc = sgsn_ares_query(sgsn, hostname, + ggsn_lookup_cb, lookup); + if (rc != 0) { + LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't start GGSN\n"); + goto reject_due_failure; + } + return; + } + + LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't resolve GGSN\n"); + goto reject_due_failure; + } + + if (hostent->h_length != sizeof(struct in_addr)) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, + "Wrong addr size(%zu)\n", sizeof(struct in_addr)); + goto reject_due_failure; + } + + /* Get the first addr from the list */ + addr = (struct in_addr *) hostent->h_addr_list[0]; + if (!addr) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "No host address.\n"); + goto reject_due_failure; + } + + ggsn = sgsn_ggsn_ctx_alloc(UINT32_MAX); + if (!ggsn) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "Failed to create ggsn.\n"); + goto reject_due_failure; + } + ggsn->remote_addr = *addr; + LOGMMCTXP(LOGL_NOTICE, lookup->mmctx, + "Selected %s as GGSN.\n", + inet_ntop(AF_INET, addr, buf, sizeof(buf))); + + /* forget about the ggsn look-up */ + lookup->mmctx->ggsn_lookup = NULL; + + activate_ggsn(lookup->mmctx, ggsn, lookup->ti, lookup->nsapi, + lookup->sapi, &lookup->tp, 1); + + /* Now free it */ + talloc_free(lookup->orig_msg); + talloc_free(lookup); + return; + +reject_due_failure: + gsm48_tx_gsm_act_pdp_rej(lookup->mmctx, lookup->ti, + GMM_CAUSE_NET_FAIL, 0, NULL); + lookup->mmctx->ggsn_lookup = NULL; + talloc_free(lookup->orig_msg); + talloc_free(lookup); +} + +static int do_act_pdp_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, bool *delete) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + struct gsm48_act_pdp_ctx_req *act_req = (struct gsm48_act_pdp_ctx_req *) gh->data; + uint8_t req_qos_len, req_pdpa_len; + uint8_t *req_qos, *req_pdpa; + struct tlv_parsed tp; + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_ggsn_ctx *ggsn; + struct sgsn_pdp_ctx *pdp; + enum gsm48_gsm_cause gsm_cause; + char apn_str[GSM_APN_LENGTH] = { 0, }; + char *hostname; + int rc; + struct gprs_llc_lle *lle; + char buf[INET_ADDRSTRLEN]; + + LOGMMCTXP(LOGL_INFO, mmctx, "-> ACTIVATE PDP CONTEXT REQ: SAPI=%u NSAPI=%u ", + act_req->req_llc_sapi, act_req->req_nsapi); + + /* FIXME: length checks! */ + req_qos_len = act_req->data[0]; + req_qos = act_req->data + 1; /* 10.5.6.5 */ + req_pdpa_len = act_req->data[1 + req_qos_len]; + req_pdpa = act_req->data + 1 + req_qos_len + 1; /* 10.5.6.4 */ + + switch (req_pdpa[0] & 0xf) { + case 0x0: + DEBUGPC(DMM, "ETSI "); + break; + case 0x1: + DEBUGPC(DMM, "IETF "); + break; + case 0xf: + DEBUGPC(DMM, "Empty "); + break; + } + + switch (req_pdpa[1]) { + case 0x21: + DEBUGPC(DMM, "IPv4 "); + if (req_pdpa_len >= 6) { + struct in_addr ia; + ia.s_addr = ntohl(*((uint32_t *) (req_pdpa+2))); + DEBUGPC(DMM, "%s ", inet_ntop(AF_INET, &ia, buf, sizeof(buf))); + } + break; + case 0x57: + DEBUGPC(DMM, "IPv6 "); + if (req_pdpa_len >= 18) { + /* FIXME: print IPv6 address */ + } + break; + default: + DEBUGPC(DMM, "0x%02x ", req_pdpa[1]); + break; + } + + LOGPC(DMM, LOGL_INFO, "\n"); + + /* Check if NSAPI is out of range (TS 04.65 / 7.2) */ + if (act_req->req_nsapi < 5 || act_req->req_nsapi > 15) { + /* Send reject with GSM_CAUSE_INV_MAND_INFO */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_INV_MAND_INFO, + 0, NULL); + } + + /* Optional: Access Point Name, Protocol Config Options */ + if (req_pdpa + req_pdpa_len < msg->data + msg->len) + tlv_parse(&tp, &gsm48_sm_att_tlvdef, req_pdpa + req_pdpa_len, + (msg->data + msg->len) - (req_pdpa + req_pdpa_len), 0, 0); + else + memset(&tp, 0, sizeof(tp)); + + + /* put the non-TLV elements in the TLV parser structure to + * pass them on to the SGSN / GTP code */ + tp.lv[OSMO_IE_GSM_REQ_QOS].len = req_qos_len; + tp.lv[OSMO_IE_GSM_REQ_QOS].val = req_qos; + tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].len = req_pdpa_len; + tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].val = req_pdpa; + + /* Check if NSAPI is already in use */ + pdp = sgsn_pdp_ctx_by_nsapi(mmctx, act_req->req_nsapi); + if (pdp) { + /* We already have a PDP context for this TLLI + NSAPI tuple */ + if (pdp->sapi == act_req->req_llc_sapi && + pdp->ti == transaction_id) { + /* This apparently is a re-transmission of a PDP CTX + * ACT REQ (our ACT ACK must have got dropped) */ + rc = gsm48_tx_gsm_act_pdp_acc(pdp); + if (rc < 0) + return rc; + + if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { + /* Also re-transmit the SNDCP XID message */ + lle = &pdp->mm->gb.llme->lle[pdp->sapi]; + rc = sndcp_sn_xid_req(lle,pdp->nsapi); + if (rc < 0) + return rc; + } + + return 0; + } + + /* Send reject with GSM_CAUSE_NSAPI_IN_USE */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_NSAPI_IN_USE, + 0, NULL); + } + + if (mmctx->ggsn_lookup) { + if (mmctx->ggsn_lookup->sapi == act_req->req_llc_sapi && + mmctx->ggsn_lookup->ti == transaction_id) { + LOGMMCTXP(LOGL_NOTICE, mmctx, + "Re-transmission while doing look-up. Ignoring.\n"); + return 0; + } + } + + /* Only increment counter for a real activation, after we checked + * for re-transmissions */ + rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); + + /* Determine GGSN based on APN and subscription options */ + ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); + if (ggsn) + return activate_ggsn(mmctx, ggsn, transaction_id, + act_req->req_nsapi, act_req->req_llc_sapi, + &tp, 0); + + if (strlen(apn_str) == 0) + goto no_context; + if (!sgsn->cfg.dynamic_lookup) + goto no_context; + + /* schedule a dynamic look-up */ + mmctx->ggsn_lookup = talloc_zero(tall_sgsn_ctx, struct sgsn_ggsn_lookup); + if (!mmctx->ggsn_lookup) + goto no_context; + + mmctx->ggsn_lookup->state = SGSN_GGSN_2DIGIT; + mmctx->ggsn_lookup->mmctx = mmctx; + strcpy(mmctx->ggsn_lookup->apn_str, apn_str); + + mmctx->ggsn_lookup->orig_msg = msg; + mmctx->ggsn_lookup->tp = tp; + + mmctx->ggsn_lookup->ti = transaction_id; + mmctx->ggsn_lookup->nsapi = act_req->req_nsapi; + mmctx->ggsn_lookup->sapi = act_req->req_llc_sapi; + + hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, + mmctx->ggsn_lookup->apn_str, 0); + + LOGMMCTXP(LOGL_DEBUG, mmctx, "Going to query %s\n", hostname); + rc = sgsn_ares_query(sgsn, hostname, + ggsn_lookup_cb, mmctx->ggsn_lookup); + if (rc != 0) { + LOGMMCTXP(LOGL_ERROR, mmctx, "Failed to start ares query.\n"); + goto no_context; + } + *delete = 0; + + return 0; + +no_context: + LOGMMCTXP(LOGL_ERROR, mmctx, "No GGSN context found!\n"); + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + gsm_cause, 0, NULL); +} + +/* 3GPP TS 24.008 ? 9.5.1: Activate PDP Context Request */ +static int gsm48_rx_gsm_act_pdp_req(struct sgsn_mm_ctx *mmctx, + struct msgb *_msg) +{ + bool delete = 1; + struct msgb *msg; + int rc; + + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); + + /* + * This is painful. We might not have a static GGSN + * configuration and then would need to copy the msg + * and re-do most of this routine (or call it again + * and make sure it only goes through the dynamic + * resolving. The question is what to optimize for + * and the dynamic resolution will be the right thing + * in the long run. + */ + msg = bssgp_msgb_copy(_msg, __func__); + if (!msg) { + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(_msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + + LOGMMCTXP(LOGL_ERROR, mmctx, "-> ACTIVATE PDP CONTEXT REQ failed copy.\n"); + /* Send reject with GSM_CAUSE_INV_MAND_INFO */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_NET_FAIL, + 0, NULL); + } + + rc = do_act_pdp_req(mmctx, msg, &delete); + if (delete) + msgb_free(msg); + return rc; +} + +/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ +static int gsm48_rx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, struct msgb *msg) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", + get_value_string(gsm48_gsm_cause_names, gh->data[0])); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); + + pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); + if (!pdp) { + LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Request for " + "non-existing PDP Context (IMSI=%s, TI=%u)\n", + mm->imsi, transaction_id); + return _gsm48_tx_gsm_deact_pdp_acc(mm, transaction_id); + } + + return sgsn_delete_pdp_ctx(pdp); +} + +/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ +static int gsm48_rx_gsm_deact_pdp_ack(struct sgsn_mm_ctx *mm, struct msgb *msg) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); + + pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); + if (!pdp) { + LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Accept for " + "non-existing PDP Context (IMSI=%s, TI=%u)\n", + mm->imsi, transaction_id); + return 0; + } + /* stop timer 3395 */ + pdpctx_timer_stop(pdp, 3395); + if (pdp->ggsn) + return sgsn_delete_pdp_ctx(pdp); + /* GTP side already detached, freeing */ + sgsn_pdp_ctx_free(pdp); + return 0; +} + +static int gsm48_rx_gsm_status(struct sgsn_mm_ctx *ctx, struct msgb *msg) +{ + struct gsm48_hdr *gh = msgb_l3(msg); + + LOGMMCTXP(LOGL_INFO, ctx, "-> GPRS SM STATUS (cause: %s)\n", + get_value_string(gsm48_gsm_cause_names, gh->data[0])); + + return 0; +} + +static void pdpctx_timer_cb(void *_pdp) +{ + struct sgsn_pdp_ctx *pdp = _pdp; + + pdp->num_T_exp++; + + switch (pdp->T) { + case 3395: /* waiting for PDP CTX DEACT ACK */ + if (pdp->num_T_exp > T339X_MAX_RETRANS) { + LOGPDPCTXP(LOGL_NOTICE, pdp, "T3395 expired > %d times\n", T339X_MAX_RETRANS); + pdp->state = PDP_STATE_INACTIVE; + if (pdp->ggsn) + sgsn_delete_pdp_ctx(pdp); + else + sgsn_pdp_ctx_free(pdp); + break; + } + _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, GSM_CAUSE_NET_FAIL, true); + pdpctx_timer_rearm(pdp, 3395); + break; + default: + LOGPDPCTXP(LOGL_ERROR, pdp, "timer expired in unknown mode %u\n", + pdp->T); + } +} + +/* GPRS Session Management */ +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + int rc; + + /* MMCTX can be NULL when called */ + + if (!mmctx) { + LOGGBIUP(llme, msg, LOGL_NOTICE, "Cannot handle SM for unknown MM CTX\n"); + /* 6.1.3.6 */ + if (gh->msg_type == GSM48_MT_GSM_STATUS) + return 0; + + return gsm0408_gprs_force_reattach_oldmsg(msg, llme); + } + + switch (gh->msg_type) { + case GSM48_MT_GSM_ACT_PDP_REQ: + rc = gsm48_rx_gsm_act_pdp_req(mmctx, msg); + break; + case GSM48_MT_GSM_DEACT_PDP_REQ: + rc = gsm48_rx_gsm_deact_pdp_req(mmctx, msg); + break; + case GSM48_MT_GSM_DEACT_PDP_ACK: + rc = gsm48_rx_gsm_deact_pdp_ack(mmctx, msg); + break; + case GSM48_MT_GSM_STATUS: + rc = gsm48_rx_gsm_status(mmctx, msg); + break; + case GSM48_MT_GSM_REQ_PDP_ACT_REJ: + case GSM48_MT_GSM_ACT_AA_PDP_REQ: + case GSM48_MT_GSM_DEACT_AA_PDP_REQ: + LOGMMCTXP(LOGL_NOTICE, mmctx, "Unimplemented GSM 04.08 GSM msg type 0x%02x: %s\n", + gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); + break; + default: + LOGMMCTXP(LOGL_NOTICE, mmctx, "Unknown GSM 04.08 GSM msg type 0x%02x: %s\n", + gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); + break; + + } + + return rc; +} diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 9fb0a2d..c68ff38 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 4f029c9..d1b366d 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -59,6 +59,7 @@ $(top_builddir)/src/sgsn/gprs_llc_xid.o \ $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ $(top_builddir)/src/sgsn/slhc.o \ + $(top_builddir)/src/sgsn/gprs_sm.o \ $(top_builddir)/src/sgsn/gprs_sndcp_comp.o \ $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \ $(top_builddir)/src/sgsn/v42bis.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d Gerrit-Change-Number: 15386 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 20:21:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 20:21:00 +0000 Subject: Change in ...pysim[master]: pysim-testdate: Add test data for Wavemobile-sim In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15384 ) Change subject: pysim-testdate: Add test data for Wavemobile-sim ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb Gerrit-Change-Number: 15384 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 20:21:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 20:21:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 20:21:02 +0000 Subject: Change in ...pysim[master]: pysim-testdate: Add test data for Wavemobile-sim In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15384 ) Change subject: pysim-testdate: Add test data for Wavemobile-sim ...................................................................... pysim-testdate: Add test data for Wavemobile-sim Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb --- A pysim-testdata/Wavemobile-SIM.data A pysim-testdata/Wavemobile-SIM.ok 2 files changed, 53 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pysim-testdata/Wavemobile-SIM.data b/pysim-testdata/Wavemobile-SIM.data new file mode 100644 index 0000000..46690b4 --- /dev/null +++ b/pysim-testdata/Wavemobile-SIM.data @@ -0,0 +1,5 @@ +MCC=001 +MNC=01 +IMSI=001010000000102 +ADM=15E31383624FDC8A + diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok new file mode 100644 index 0000000..5f5b360 --- /dev/null +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -0,0 +1,48 @@ +Using PC/SC reader (dev=3) interface +Reading ... +ICCID: 89445310150011013678 +IMSI: 001010000000102 +SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff +PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNwAcT: + fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + +OPLMNwAcT: + fff11fffff # MCC: 1651 MNC: 151 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + +HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. +ACC: abce +MSISDN: Not available +AD: 00ffff02 +Done ! + -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id2baedf5ac6396a643f36444e8f570ad9c41fafb Gerrit-Change-Number: 15384 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 20:21:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 20:21:18 +0000 Subject: Change in ...osmo-sip-connector[master]: mncc: check fd before closing a connection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 ) Change subject: mncc: check fd before closing a connection ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e Gerrit-Change-Number: 15303 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 20:21:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 20:21:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 20:21:20 +0000 Subject: Change in ...osmo-sip-connector[master]: mncc: check fd before closing a connection In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 ) Change subject: mncc: check fd before closing a connection ...................................................................... mncc: check fd before closing a connection The function close_connection() closes the fd without marking it as closed. Lets set the fd to -1 and check at the beginning if it is greater than zero. This prevents us from closing an already closed fd again. Related: OS#4159 Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e --- M src/mncc.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/mncc.c b/src/mncc.c index e23bd6f..f2e2579 100644 --- a/src/mncc.c +++ b/src/mncc.c @@ -324,8 +324,12 @@ /* Close the MNCC connection/socket */ static void close_connection(struct mncc_connection *conn) { + if (conn->fd.fd < 0) + return; + osmo_fd_unregister(&conn->fd); close(conn->fd.fd); + conn->fd.fd = -1; osmo_timer_schedule(&conn->reconnect, 5, 0); conn->state = MNCC_DISCONNECTED; if (conn->on_disconnect) @@ -924,6 +928,7 @@ LOGP(DMNCC, LOGL_ERROR, "Failed to connect(%s). Retrying\n", conn->app->mncc.path); conn->state = MNCC_DISCONNECTED; + conn->fd.fd = -1; osmo_timer_schedule(&conn->reconnect, 5, 0); return; } @@ -1022,6 +1027,7 @@ conn->reconnect.data = conn; conn->fd.cb = mncc_data; conn->fd.data = conn; + conn->fd.fd = -1; conn->app = cfg; conn->state = MNCC_DISCONNECTED; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I9742f31a37296fed15d54cf44c1f65b93abb8c8e Gerrit-Change-Number: 15303 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 20:23:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Sep 2019 20:23:45 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_gb_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 ) Change subject: Introduce FSM mm_state_gb_fsm ...................................................................... Patch Set 2: I beg to disagree. Why are we writign new code before we have any way of testing it in an automatic way? And not only writing the code, but actually submitting it for inclusion/merge? There's no problem if the test cases will mostly fail due to problems in the old code, and hopefully will gradually start to pass as more new code gets merged. But by not having the tests *before* a rewrite, you will never get around writing them. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I04004423e993107374d5a3549b8a93ac169251dd Gerrit-Change-Number: 15353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 20:23:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 21:45:28 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 2 Sep 2019 21:45:28 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/87/15387/1 diff --git a/src/input/ipa.c b/src/input/ipa.c index 8aed7b3..c05ab04 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -333,8 +333,12 @@ void ipa_server_link_close(struct ipa_server_link *link) { - osmo_fd_unregister(&link->ofd); - close(link->ofd.fd); + if (osmo_fd_is_registered(&link->ofd)) + osmo_fd_unregister(&link->ofd); + if (link->ofd.fd < 0) + close(link->ofd.fd); + + link->ofd.fd = -1; } static int ipa_server_conn_read(struct ipa_server_conn *conn) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Sep 2 23:07:22 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 23:07:22 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6da0c41a2d7_31e32ae1bd36460019713f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 428s] ar: `u' modifier ignored since `D' is the default (see `U') [ 428s] libtool: link: ranlib .libs/libtransceiver_common.a [ 428s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 428s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 428s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 428s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 428s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 428s] collect2: error: ld returned 1 exit status [ 428s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 428s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 428s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 428s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 428s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 428s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 428s] make[1]: *** [Makefile:444: all] Error 2 [ 428s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 428s] dh_auto_build: make -j1 returned exit code 2 [ 428s] make: *** [debian/rules:6: build] Error 255 [ 428s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 428s] [ 428s] build70 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 2 23:07:12 UTC 2019. [ 428s] [ 428s] ### VM INTERACTION START ### [ 432s] [ 418.066495] sysrq: SysRq : Power Off [ 432s] [ 418.082075] reboot: Power down [ 432s] ### VM INTERACTION END ### [ 432s] [ 432s] build70 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 2 23:07:16 UTC 2019. [ 432s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 2 23:09:22 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 02 Sep 2019 23:09:22 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6da13b2690b_31e32ae1bd36460019726@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 332s] ar: `u' modifier ignored since `D' is the default (see `U') [ 332s] libtool: link: ranlib .libs/libtransceiver_common.a [ 332s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 332s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 332s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 332s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 332s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 332s] collect2: error: ld returned 1 exit status [ 332s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 332s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 332s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 332s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 332s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 332s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 332s] make[1]: *** [Makefile:444: all] Error 2 [ 332s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 332s] dh_auto_build: make -j1 returned exit code 2 [ 332s] make: *** [debian/rules:6: build] Error 255 [ 332s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 332s] [ 332s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 23:09:14 UTC 2019. [ 332s] [ 332s] ### VM INTERACTION START ### [ 335s] [ 322.092335] sysrq: SysRq : Power Off [ 335s] [ 322.103087] reboot: Power down [ 335s] ### VM INTERACTION END ### [ 335s] [ 335s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Mon Sep 2 23:09:17 UTC 2019. [ 335s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 2 23:35:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 2 Sep 2019 23:35:47 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/15317/3/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/#/c/15317/3/src/libmsc/msc_a.c at 1411 PS3, Line 1411: but this static msgb saves the extra allocation > ACK. [?] I don't see how this can be a problem. None of the DTAP handling code is permitted to take ownership of the msgb. What we would do here is allocate a msgb, dispatch it to DTAP, then deallocate it right after that here in this function. Even if it were allocated, it would still not be possible to put it in a queue. Nothing would be gained AFAICT. This is the osmo-msc internal DTAP code, it is fully contained here: all handling of this msgb is in gsm_04_08.c. We're not talking about the general public or another osmocom library here. The premise of DTAP decoding is to keep the incoming buffer unchanged, essentially a 'const' by convention. It is the incoming data and it is not a good idea to want to modify it. Passing the msgb as 'const' is not necessary: even though this is a stack struct msgb, we are still free to write to it. We are not allowed to free it, but none of the DTAP code is allowed to free msgb passed to it -- it would lead to a double free. If you guys still insist, this can become a dynamic allocation, but I am convinced that this patch is completely fine as it is now. The data is there, no need to allocate. [BTW, talking of const msgb... I never added the 'const' to msgb args because the legacy gsm0408_* code neglected that. I would gladly change it to const, now that we have the time for it. But we do typically write l3h and cb items into the msgb, i.e. keep state for later in the code path. Also the msgb API from libosmocore often takes non-const msgb even for read-only API (e.g. msgb_get_u8()), which would need a lot of casting to non-const.] -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 23:35:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 23:37:59 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 2 Sep 2019 23:37:59 +0000 Subject: Change in ...osmo-msc[master]: ran_dec logging: log message sizes on errors In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15342 ) Change subject: ran_dec logging: log message sizes on errors ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15342/2/src/libmsc/ran_msg_a.c File src/libmsc/ran_msg_a.c: https://gerrit.osmocom.org/#/c/15342/2/src/libmsc/ran_msg_a.c at 763 PS2, Line 763: \n > Looks like we don't need a new line here. whoops -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb Gerrit-Change-Number: 15342 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Sep 2019 23:37:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 23:41:11 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 2 Sep 2019 23:41:11 +0000 Subject: Change in ...osmo-msc[master]: ran_dec logging: log message sizes on errors In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15342 to look at the new patch set (#5). Change subject: ran_dec logging: log message sizes on errors ...................................................................... ran_dec logging: log message sizes on errors Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb --- M src/libmsc/ran_msg_a.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/42/15342/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb Gerrit-Change-Number: 15342 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 23:41:14 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 2 Sep 2019 23:41:14 +0000 Subject: Change in ...osmo-msc[master]: vlr: don't log about "gratuitous ID RESPONSE" Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15388 Change subject: vlr: don't log about "gratuitous ID RESPONSE" ...................................................................... vlr: don't log about "gratuitous ID RESPONSE" If an ID Response comes in during a non-LU L3 Complete (Paging or CM Service Request), no event needs to be dispatched. So far vlr_subscr_rx_id_resp() logged a NOTICE "gratuitous ID RESPONSE?!?" if no lu_fsm is present. An ID Response can come in particularly as payload with a BSSMAP Cipher Mode Complete message, even though osmo-msc didn't explicitly ask for it. It is not an error to get a Cipher Mode Complete containing an ID Response during Paging or CM Service Request, so remove the confusing log message. Related: OS#4168 (only loosely related) Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac --- M src/libvlr/vlr.c 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/88/15388/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index de61ba5..ea160b1 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -1182,8 +1182,6 @@ break; } osmo_fsm_inst_dispatch(vsub->lu_fsm, event, mi_string); - } else { - LOGVSUBP(LOGL_NOTICE, vsub, "gratuitous ID RESPONSE?!?\n"); } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac Gerrit-Change-Number: 15388 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 2 23:53:40 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 2 Sep 2019 23:53:40 +0000 Subject: Change in ...osmo-msc[master]: Implement a global switch on the network to disable call waiting. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15120 ) Change subject: Implement a global switch on the network to disable call waiting. ...................................................................... Patch Set 12: keith, since you have numerous +1 here, you are allowed to add those up by giving a +2 yourself and merging. It is described here: https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit#Voting-Rules-for-merging-a-patch-to-master -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3eb6f23f7103e3002874fb5d3a30c9de952202ae Gerrit-Change-Number: 15120 Gerrit-PatchSet: 12 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Sep 2019 23:53:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 00:21:11 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 00:21:11 +0000 Subject: Change in ...osmo-msc[master]: msc_a fsm: ignore state chg to same state Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15389 Change subject: msc_a fsm: ignore state chg to same state ...................................................................... msc_a fsm: ignore state chg to same state We sometimes see errors like libmsc/msc_a.c:361 msc_a(...){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! i.e. changing state to the state msc_a is already in. Ignore re-entering the same state for most state changes. However, there is one state change in msc_a where re-entering the MSC_A_ST_VALIDATE_L3 is necessary to start the timeout. Hence add msc_a_state_chg_always() and use that for re-entering MSC_A_ST_VALIDATE_L3. Change msc_a_state_chg() to skip no-op state changes. This should silence all no-op state change error messages for msc_a. Related: OS#4169 Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err 5 files changed, 8 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/89/15389/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index a082cb8..b414574 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -63,9 +63,15 @@ /* Transition to a state, using the T timer defined in msc_a_fsm_timeouts. * The actual timeout value is in turn obtained from network->T_defs. * Assumes local variable fi exists. */ -#define msc_a_state_chg(msc_a, state) \ +#define msc_a_state_chg_always(msc_a, state) \ osmo_tdef_fsm_inst_state_chg((msc_a)->c.fi, state, msc_a_fsm_timeouts, (msc_a)->c.ran->tdefs, 5) +/* Same as msc_a_state_chg_always() but ignore if the msc_a already is in the target state. */ +#define msc_a_state_chg(msc_a, STATE) do { \ + if ((msc_a)->c.fi->state != STATE) \ + msc_a_state_chg_always(msc_a, STATE); \ + } while(0) + struct gsm_network *msc_a_net(const struct msc_a *msc_a) { return msub_net(msc_a->c.msub); @@ -1036,7 +1042,7 @@ }; osmo_use_count_make_static_entries(&msc_a->use_count, msc_a->use_count_buf, ARRAY_SIZE(msc_a->use_count_buf)); /* Start timeout for first state */ - msc_a_state_chg(msc_a, MSC_A_ST_VALIDATE_L3); + msc_a_state_chg_always(msc_a, MSC_A_ST_VALIDATE_L3); return msc_a; } diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index c9be4ef..4905881 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -1926,7 +1926,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_CHECK_IMEI_RESULT: vlr_gsupc_read_cb() returns 0 msc_a_is_accepted() == false @@ -2192,7 +2191,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_CHECK_IMEI_ERROR: vlr_gsupc_read_cb() returns 0 msc_a_is_accepted() == false diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index 9d0737a..e4ea226 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -65,7 +65,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -167,7 +166,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -760,7 +758,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -1028,7 +1025,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -1129,7 +1125,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0 @@ -1234,7 +1229,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_DONE}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: vlr_gsupc_read_cb() returns 0 diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 68368c0..5853643 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -74,7 +74,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE @@ -202,7 +201,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 2018528..b909f52 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -93,7 +93,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 Gerrit-Change-Number: 15389 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 3 01:46:58 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 01:46:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6dc616c8a0c_31e32ae1bd364600203749@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 486s] ar: `u' modifier ignored since `D' is the default (see `U') [ 486s] libtool: link: ranlib .libs/libtransceiver_common.a [ 486s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 486s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 487s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 487s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 487s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 487s] collect2: error: ld returned 1 exit status [ 487s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 487s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 487s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 487s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 487s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 487s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 487s] make[1]: *** [Makefile:444: all] Error 2 [ 487s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 487s] dh_auto_build: make -j1 returned exit code 2 [ 487s] make: *** [debian/rules:6: build] Error 255 [ 487s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 487s] [ 487s] lamb22 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 01:46:37 UTC 2019. [ 487s] [ 487s] ### VM INTERACTION START ### [ 490s] [ 470.061093] sysrq: SysRq : Power Off [ 490s] [ 470.070050] reboot: Power down [ 490s] ### VM INTERACTION END ### [ 490s] [ 490s] lamb22 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 01:46:40 UTC 2019. [ 490s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 01:47:15 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 01:47:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6dc6332979c_31e32ae1bd364600204050@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 511s] ar: `u' modifier ignored since `D' is the default (see `U') [ 511s] libtool: link: ranlib .libs/libtransceiver_common.a [ 511s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 511s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 511s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 512s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 512s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 512s] collect2: error: ld returned 1 exit status [ 512s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 512s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 512s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 512s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 512s] make[1]: *** [Makefile:444: all] Error 2 [ 512s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 512s] dh_auto_build: make -j1 returned exit code 2 [ 512s] make: *** [debian/rules:6: build] Error 255 [ 512s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 512s] [ 512s] morla3 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 01:47:07 UTC 2019. [ 512s] [ 512s] ### VM INTERACTION START ### [ 515s] [ 491.121837] sysrq: SysRq : Power Off [ 515s] [ 491.167921] reboot: Power down [ 515s] ### VM INTERACTION END ### [ 515s] [ 515s] morla3 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 01:47:11 UTC 2019. [ 515s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 03:30:58 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 03:30:58 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6dde74e5b08_31e32ae1bd3646002087a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 413s] ar: `u' modifier ignored since `D' is the default (see `U') [ 413s] libtool: link: ranlib .libs/libtransceiver_common.a [ 413s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 413s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 413s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 413s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 413s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 413s] collect2: error: ld returned 1 exit status [ 413s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 413s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 413s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 413s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 413s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 413s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 413s] make[1]: *** [Makefile:444: all] Error 2 [ 413s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 413s] dh_auto_build: make -j1 returned exit code 2 [ 413s] make: *** [debian/rules:6: build] Error 255 [ 413s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 413s] [ 413s] lamb57 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 03:30:37 UTC 2019. [ 413s] [ 413s] ### VM INTERACTION START ### [ 416s] [ 397.438387] sysrq: SysRq : Power Off [ 416s] [ 397.446941] reboot: Power down [ 416s] ### VM INTERACTION END ### [ 417s] [ 417s] lamb57 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 03:30:42 UTC 2019. [ 417s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 03:48:23 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 03:48:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6de28f8052c_31e32ae1bd364600210354@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 404s] ar: `u' modifier ignored since `D' is the default (see `U') [ 404s] libtool: link: ranlib .libs/libtransceiver_common.a [ 405s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 405s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 405s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 405s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 405s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 405s] collect2: error: ld returned 1 exit status [ 405s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 405s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 405s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 405s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 405s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 405s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 405s] make[1]: *** [Makefile:444: all] Error 2 [ 405s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 405s] dh_auto_build: make -j1 returned exit code 2 [ 405s] make: *** [debian/rules:6: build] Error 255 [ 405s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 405s] [ 405s] lamb51 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 03:48:06 UTC 2019. [ 405s] [ 405s] ### VM INTERACTION START ### [ 408s] [ 388.605896] sysrq: SysRq : Power Off [ 408s] [ 388.611511] reboot: Power down [ 408s] ### VM INTERACTION END ### [ 408s] [ 408s] lamb51 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 03:48:09 UTC 2019. [ 408s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 3 07:36:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Sep 2019 07:36:01 +0000 Subject: Change in ...osmo-msc[master]: ran_dec logging: log message sizes on errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15342 ) Change subject: ran_dec logging: log message sizes on errors ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb Gerrit-Change-Number: 15342 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 07:36:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 09:00:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 09:00:16 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15387/1/src/input/ipa.c File src/input/ipa.c: https://gerrit.osmocom.org/#/c/15387/1/src/input/ipa.c at 336 PS1, Line 336: if (osmo_fd_is_registered(&link->ofd)) There was recently a discussion about similar patch, Better make sure ofd.fd is initialized to -1 and simply use (link->ofd.fd < 0) condition for both lines. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 09:00:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 09:02:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 09:02:43 +0000 Subject: Change in ...osmo-msc[master]: vlr: don't log about "gratuitous ID RESPONSE" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15388 ) Change subject: vlr: don't log about "gratuitous ID RESPONSE" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac Gerrit-Change-Number: 15388 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 09:02:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 09:26:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 09:26:17 +0000 Subject: Change in ...osmo-msc[master]: msc_a fsm: ignore state chg to same state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15389 ) Change subject: msc_a fsm: ignore state chg to same state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 Gerrit-Change-Number: 15389 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 09:26:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 09:39:17 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Sep 2019 09:39:17 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... pySim-prog: Use CSV format with headers This way we can have optional fields like adm1 in the file Also require iccid as identifier for the SIM card Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 --- M pySim-prog.py M pySim/cards.py 2 files changed, 22 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/15313/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 09:52:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Sep 2019 09:52:43 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... Patch Set 2: Code-Review+1 I fixed the problem. Now it passes the tests. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 09:52:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 10:04:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 10:04:27 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 to look at the new patch set (#2). Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/87/15387/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 10:07:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 10:07:35 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 to look at the new patch set (#3). Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/87/15387/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 10:20:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 10:20:36 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... Patch Set 3: See my comment from previous version of the patch... -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 10:20:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:23:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 11:23:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: ggsn: Delete previously activated pdp ctx in *_interact() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 Change subject: ggsn: Delete previously activated pdp ctx in *_interact() ...................................................................... ggsn: Delete previously activated pdp ctx in *_interact() This change fixes some GGSN_Tests failing lately since osmo-ggsn correctly sends DeleteCtxReq for dangling pdp ctx upon increased Recovery counter received, and tests are not expecting that (because they don't expectect dangling pdp ctx from previous tests). Change-Id: I232298e2bfd8bfc99d82cbf5803d11db7eb1786a --- M ggsn_tests/GGSN_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/90/15390/1 diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 4a53fa1..44dba4a 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -958,6 +958,7 @@ f_wait_gtpu_fail(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Test PDP context activation for dynamic IPv4 EUA without DNS request */ @@ -1089,6 +1090,7 @@ f_wait_icmp4_echo_request(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Validate if different clients (pdp ctx) can reach one another through GGSN. */ @@ -1345,6 +1347,7 @@ f_wait_gtpu_fail(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Test IPv4v6 context activation for dynamic IPv4v6 EUA on a v4-only APN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I232298e2bfd8bfc99d82cbf5803d11db7eb1786a Gerrit-Change-Number: 15390 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:29:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Sep 2019 11:29:15 +0000 Subject: Change in ...osmo-msc[master]: vlr: don't log about "gratuitous ID RESPONSE" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15388 ) Change subject: vlr: don't log about "gratuitous ID RESPONSE" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac Gerrit-Change-Number: 15388 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 11:29:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:36:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Sep 2019 11:36:36 +0000 Subject: Change in ...osmo-msc[master]: msc_a fsm: ignore state chg to same state In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15389 ) Change subject: msc_a fsm: ignore state chg to same state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 Gerrit-Change-Number: 15389 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 11:36:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:47:08 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 3 Sep 2019 11:47:08 +0000 Subject: Change in ...osmo-msc[master]: Implement a global switch on the network to disable call waiting. In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15120 ) Change subject: Implement a global switch on the network to disable call waiting. ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3eb6f23f7103e3002874fb5d3a30c9de952202ae Gerrit-Change-Number: 15120 Gerrit-PatchSet: 12 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 11:47:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:47:13 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Tue, 3 Sep 2019 11:47:13 +0000 Subject: Change in ...osmo-msc[master]: Implement a global switch on the network to disable call waiting. In-Reply-To: References: Message-ID: keith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15120 ) Change subject: Implement a global switch on the network to disable call waiting. ...................................................................... Implement a global switch on the network to disable call waiting. Add a network -> callwaiting VTY command as boolean. When this is enabled (default) there is no change to operation previous to this commit. When this switch is disabled with "no call-waiting" in vty then when a call arrives, we will check if we have an active call transaction for this subscriber, no matter if it is establishing, established, or alerting, in any of these cases we will return USER BUSY to the calling party. Change-Id: I3eb6f23f7103e3002874fb5d3a30c9de952202ae --- M include/osmocom/msc/gsm_data.h M src/libmsc/gsm_04_08_cc.c M src/libmsc/msc_vty.c M src/osmo-msc/msc_main.c M tests/test_nodes.vty 5 files changed, 53 insertions(+), 3 deletions(-) Approvals: neels: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve keith: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index a90b732..11b6e82 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -258,6 +258,9 @@ /* Whether we want to use Osmux against BSCs. Controlled via VTY */ enum osmux_usage use_osmux; + + /* Whether to use call waiting on the network */ + bool call_waiting; }; struct osmo_esme; diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index e83caa2..ed74e88 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -1909,6 +1909,25 @@ GSM48_CAUSE_LOC_PRN_S_LU, GSM48_CC_CAUSE_DEST_OOO); } + + /* Find valid conn */ + msc_a = msc_a_for_vsub(vsub, true); + + /* If subscriber is BUSY and we do not DO call in call aka "call-waiting" */ + if (!net->call_waiting && msc_a) { + struct gsm_trans *existing_cc_trans = trans_find_by_type(msc_a, TRANS_CC); + if (existing_cc_trans && existing_cc_trans->cc.state != GSM_CSTATE_NULL) { + LOG_TRANS_CAT(existing_cc_trans, DCC, LOGL_NOTICE, + "rx '%s' for subscriber %s with trans state (%s)" + " rejecting with USER_BUSY\n", + get_mncc_name(msg->msg_type), data->called.number, + gsm48_cc_state_name(existing_cc_trans->cc.state)); + return mncc_release_ind(net, NULL, data->callref, + GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_USER_BUSY); + } + } + /* Create transaction */ trans = trans_alloc(net, vsub, TRANS_CC, TRANS_ID_UNASSIGNED, data->callref); @@ -1922,9 +1941,6 @@ return -ENOMEM; } - /* Find valid conn */ - msc_a = msc_a_for_vsub(vsub, true); - /* If subscriber has no conn */ if (!msc_a) { diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 4674e2e..09aef91 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -330,6 +330,29 @@ return CMD_SUCCESS; } +DEFUN(cfg_net_call_wait, cfg_net_call_wait_cmd, + "call-waiting", + "Enable Call Waiting on the Network\n") +{ + struct gsm_network *net = vty->index; + + net->call_waiting = true; + + return CMD_SUCCESS; +} + +DEFUN(cfg_net_no_call_wait, cfg_net_no_call_wait_cmd, + "no call-waiting", + NO_STR + "Disable Call Waiting on the Network\n") +{ + struct gsm_network *net = vty->index; + + net->call_waiting = false; + + return CMD_SUCCESS; +} + static int config_write_net(struct vty *vty) { int i; @@ -376,6 +399,9 @@ gsmnet->emergency.route_to_msisdn, VTY_NEWLINE); } + if (!gsmnet->call_waiting) + vty_out(vty, " no call-waiting%s", VTY_NEWLINE); + return CMD_SUCCESS; } @@ -1946,6 +1972,8 @@ install_element(GSMNET_NODE, &cfg_net_no_timezone_cmd); install_element(GSMNET_NODE, &cfg_net_per_loc_upd_cmd); install_element(GSMNET_NODE, &cfg_net_no_per_loc_upd_cmd); + install_element(GSMNET_NODE, &cfg_net_call_wait_cmd); + install_element(GSMNET_NODE, &cfg_net_no_call_wait_cmd); install_element(CONFIG_NODE, &cfg_msc_cmd); install_node(&msc_node, config_write_msc); diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 1083271..3860589 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -216,6 +216,7 @@ mgcp_client_conf_init(&net->mgw.conf); net->mgw.tdefs = g_mgw_tdefs; + net->call_waiting = true; return net; } diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 0ad390f..a4e0e15 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -26,6 +26,8 @@ no timezone periodic location update <6-1530> no periodic location update + call-waiting + no call-waiting OsmoMSC(config-net)# encryption? encryption Encryption options -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3eb6f23f7103e3002874fb5d3a30c9de952202ae Gerrit-Change-Number: 15120 Gerrit-PatchSet: 13 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 11:49:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 3 Sep 2019 11:49:25 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Patch Set 1: (2 comments) Same comments apply to both 'mm_state_gb_fsm' and 'mm_state_iu_fsm'. https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h File include/osmocom/sgsn/gprs_gmm_state_fsm.h: https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_gmm_state_fsm.h at 6 PS1, Line 6: gmm_state_fsm_states > I'm simply following convention of naming _states and _events the fields of an osmocom FSM. This is fine, I have nothing against '_states' and '_events' postfixes. > It happens to be be by casuality that the machine definition is named "GMM state" Right now we have 'gmm_state' field in the 'sgsn_mm_ctx' structure. The purpose of this field is to store the current state, so it's logical to call it that way. You're introducing the FSM, so it doesn't make sense to follow the old naming. https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_sgsn.h File include/osmocom/sgsn/gprs_sgsn.h: https://gerrit.osmocom.org/#/c/15385/1/include/osmocom/sgsn/gprs_sgsn.h at 122 PS1, Line 122: gmm_state_fsm In the other comment I mentioned this field. Let's call it 'gmm_fsm'. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 03 Sep 2019 11:49:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:23:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 13:23:22 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: Hello lynxis lazus, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 to look at the new patch set (#2). Change subject: Implement GMM State using osmocom FSM ...................................................................... Implement GMM State using osmocom FSM State machine inspired in the one from TS 24.008 4.1.3.3.1. Some state transitions are inroduced in the code but are still commented out since we lack some functionalitites or improvements in the code to handle different scenarios. Most of the logic is still outside of the FSM, but at least now the states are handled in a sane way triggered by events. Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 --- M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gprs_gmm_fsm.h M include/osmocom/sgsn/gprs_sgsn.h M src/sgsn/Makefile.am M src/sgsn/gprs_gmm.c A src/sgsn/gprs_gmm_fsm.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am M tests/sgsn/sgsn_test.c 11 files changed, 261 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15385/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:58:22 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 13:58:22 +0000 Subject: Change in ...osmo-msc[master]: vlr: don't log about "gratuitous ID RESPONSE" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15388 ) Change subject: vlr: don't log about "gratuitous ID RESPONSE" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac Gerrit-Change-Number: 15388 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 13:58:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:58:46 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 13:58:46 +0000 Subject: Change in ...osmo-msc[master]: msc_a fsm: ignore state chg to same state In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15389 ) Change subject: msc_a fsm: ignore state chg to same state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 Gerrit-Change-Number: 15389 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 13:58:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:59:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 13:59:05 +0000 Subject: Change in ...osmo-msc[master]: vlr: don't log about "gratuitous ID RESPONSE" In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15388 ) Change subject: vlr: don't log about "gratuitous ID RESPONSE" ...................................................................... vlr: don't log about "gratuitous ID RESPONSE" If an ID Response comes in during a non-LU L3 Complete (Paging or CM Service Request), no event needs to be dispatched. So far vlr_subscr_rx_id_resp() logged a NOTICE "gratuitous ID RESPONSE?!?" if no lu_fsm is present. An ID Response can come in particularly as payload with a BSSMAP Cipher Mode Complete message, even though osmo-msc didn't explicitly ask for it. It is not an error to get a Cipher Mode Complete containing an ID Response during Paging or CM Service Request, so remove the confusing log message. Related: OS#4168 (only loosely related) Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac --- M src/libvlr/vlr.c 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index de61ba5..ea160b1 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -1182,8 +1182,6 @@ break; } osmo_fsm_inst_dispatch(vsub->lu_fsm, event, mi_string); - } else { - LOGVSUBP(LOGL_NOTICE, vsub, "gratuitous ID RESPONSE?!?\n"); } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8a5b8735eb41cd0976c7ab32cdd55440d3ef70ac Gerrit-Change-Number: 15388 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:59:05 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 13:59:05 +0000 Subject: Change in ...osmo-msc[master]: ran_dec logging: log message sizes on errors In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15342 ) Change subject: ran_dec logging: log message sizes on errors ...................................................................... ran_dec logging: log message sizes on errors Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb --- M src/libmsc/ran_msg_a.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index fd8afdc..43e27f6 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -761,13 +761,17 @@ } if (msgb_l3len(bssmap) < h->length) { - LOG_RAN_A_DEC(ran_dec, LOGL_ERROR, "BSSMAP data truncated, discarding message\n"); + LOG_RAN_A_DEC(ran_dec, LOGL_ERROR, "BSSMAP data truncated, discarding message:" + " msgb_l3len(bssmap) == %u < bssmap_header->length == %u\n", + msgb_l3len(bssmap), h->length); return -1; } if (msgb_l3len(bssmap) > h->length) { - LOG_RAN_A_DEC(ran_dec, LOGL_NOTICE, "There are %u extra bytes after the BSSMAP data, truncating\n", - msgb_l3len(bssmap) - h->length); + LOG_RAN_A_DEC(ran_dec, LOGL_NOTICE, "There are %u extra bytes after the BSSMAP data, truncating:" + " msgb_l3len(bssmap) == %u > bssmap_header->length == %u\n", + msgb_l3len(bssmap) - h->length, + msgb_l3len(bssmap), h->length); msgb_l3trim(bssmap, h->length); } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id08e4ee5a4dbf552dbb107d8f0519110664f6acb Gerrit-Change-Number: 15342 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 13:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 3 Sep 2019 13:59:06 +0000 Subject: Change in ...osmo-msc[master]: msc_a fsm: ignore state chg to same state In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15389 ) Change subject: msc_a fsm: ignore state chg to same state ...................................................................... msc_a fsm: ignore state chg to same state We sometimes see errors like libmsc/msc_a.c:361 msc_a(...){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! i.e. changing state to the state msc_a is already in. Ignore re-entering the same state for most state changes. However, there is one state change in msc_a where re-entering the MSC_A_ST_VALIDATE_L3 is necessary to start the timeout. Hence add msc_a_state_chg_always() and use that for re-entering MSC_A_ST_VALIDATE_L3. Change msc_a_state_chg() to skip no-op state changes. This should silence all no-op state change error messages for msc_a. Related: OS#4169 Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err 5 files changed, 8 insertions(+), 13 deletions(-) Approvals: neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index a082cb8..b414574 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -63,9 +63,15 @@ /* Transition to a state, using the T timer defined in msc_a_fsm_timeouts. * The actual timeout value is in turn obtained from network->T_defs. * Assumes local variable fi exists. */ -#define msc_a_state_chg(msc_a, state) \ +#define msc_a_state_chg_always(msc_a, state) \ osmo_tdef_fsm_inst_state_chg((msc_a)->c.fi, state, msc_a_fsm_timeouts, (msc_a)->c.ran->tdefs, 5) +/* Same as msc_a_state_chg_always() but ignore if the msc_a already is in the target state. */ +#define msc_a_state_chg(msc_a, STATE) do { \ + if ((msc_a)->c.fi->state != STATE) \ + msc_a_state_chg_always(msc_a, STATE); \ + } while(0) + struct gsm_network *msc_a_net(const struct msc_a *msc_a) { return msub_net(msc_a->c.msub); @@ -1036,7 +1042,7 @@ }; osmo_use_count_make_static_entries(&msc_a->use_count, msc_a->use_count_buf, ARRAY_SIZE(msc_a->use_count_buf)); /* Start timeout for first state */ - msc_a_state_chg(msc_a, MSC_A_ST_VALIDATE_L3); + msc_a_state_chg_always(msc_a, MSC_A_ST_VALIDATE_L3); return msc_a; } diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index c9be4ef..4905881 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -1926,7 +1926,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_CHECK_IMEI_RESULT: vlr_gsupc_read_cb() returns 0 msc_a_is_accepted() == false @@ -2192,7 +2191,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_CHECK_IMEI_ERROR: vlr_gsupc_read_cb() returns 0 msc_a_is_accepted() == false diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index 9d0737a..e4ea226 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -65,7 +65,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -167,7 +166,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -760,7 +758,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -1028,7 +1025,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsup_rx: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 @@ -1129,7 +1125,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0 @@ -1234,7 +1229,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 2 (active-conn,vlr_gsup_rx) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A:LU){UPD_HLR_VLR_S_DONE}: Deallocated DREF VLR subscr IMSI-901700000004620 - vlr_gsup_rx: now used by 1 (active-conn) <-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: vlr_gsupc_read_cb() returns 0 diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 68368c0..5853643 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -74,7 +74,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE @@ -202,7 +201,6 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 2018528..b909f52 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -93,7 +93,6 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:GERAN-A:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DREF VLR subscr IMSI-901700000004620 - msc_a_fsm_releasing_onenter: now used by 1 (active-conn) -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: transition to state MSC_A_ST_RELEASING not permitted! - RAN_CONN_TIMEOUT has passed, conn is gone. bssap_clear_sent == 1 DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN decode: CLEAR_COMPLETE -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0c74c10b5fa7bbdd6ae3674926cc0393edf15a35 Gerrit-Change-Number: 15389 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 3 13:59:31 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 13:59:31 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6e71dc27b2_31e32ae1bd364600333240@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 446s] ar: `u' modifier ignored since `D' is the default (see `U') [ 446s] libtool: link: ranlib .libs/libtransceiver_common.a [ 446s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 446s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 447s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 447s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 447s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 447s] collect2: error: ld returned 1 exit status [ 447s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 447s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 447s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 447s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 447s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 447s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 447s] make[1]: *** [Makefile:444: all] Error 2 [ 447s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 447s] dh_auto_build: make -j1 returned exit code 2 [ 447s] make: *** [debian/rules:6: build] Error 255 [ 447s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 447s] [ 447s] lamb04 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 13:59:19 UTC 2019. [ 447s] [ 447s] ### VM INTERACTION START ### [ 450s] [ 429.301148] sysrq: SysRq : Power Off [ 450s] [ 429.305314] reboot: Power down [ 450s] ### VM INTERACTION END ### [ 450s] [ 450s] lamb04 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 13:59:23 UTC 2019. [ 450s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 14:12:23 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 14:12:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6e74cc299c8_31e32ae1bd3646003360f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 529s] ar: `u' modifier ignored since `D' is the default (see `U') [ 529s] libtool: link: ranlib .libs/libtransceiver_common.a [ 529s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 529s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 530s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 530s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 530s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 530s] collect2: error: ld returned 1 exit status [ 530s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 530s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 530s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 530s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 530s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 530s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 530s] make[1]: *** [Makefile:444: all] Error 2 [ 530s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 530s] dh_auto_build: make -j1 returned exit code 2 [ 530s] make: *** [debian/rules:6: build] Error 255 [ 530s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 530s] [ 530s] lamb03 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 14:12:16 UTC 2019. [ 530s] [ 530s] ### VM INTERACTION START ### [ 533s] [ 512.660497] sysrq: SysRq : Power Off [ 533s] [ 512.684832] reboot: Power down [ 533s] ### VM INTERACTION END ### [ 533s] [ 533s] lamb03 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 3 14:12:20 UTC 2019. [ 533s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 14:12:23 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 14:12:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6e74cb51dc3_31e32ae1bd364600335979@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 500s] ar: `u' modifier ignored since `D' is the default (see `U') [ 500s] libtool: link: ranlib .libs/libtransceiver_common.a [ 500s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 500s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 500s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 500s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 500s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 500s] collect2: error: ld returned 1 exit status [ 500s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 500s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 500s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 500s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 501s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 501s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 501s] make[1]: *** [Makefile:444: all] Error 2 [ 501s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 501s] dh_auto_build: make -j1 returned exit code 2 [ 501s] make: *** [debian/rules:6: build] Error 255 [ 501s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 501s] [ 501s] lamb24 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 14:12:11 UTC 2019. [ 501s] [ 501s] ### VM INTERACTION START ### [ 504s] [ 481.774797] sysrq: SysRq : Power Off [ 504s] [ 481.802948] reboot: Power down [ 504s] ### VM INTERACTION END ### [ 504s] [ 504s] lamb24 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 14:12:14 UTC 2019. [ 504s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 3 14:19:54 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 03 Sep 2019 14:19:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6e769e626ab_31e32ae1bd364600338375@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 743s] ar: `u' modifier ignored since `D' is the default (see `U') [ 743s] libtool: link: ranlib .libs/libtransceiver_common.a [ 743s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 743s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 744s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 744s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 744s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 744s] collect2: error: ld returned 1 exit status [ 744s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 744s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 744s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 744s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 744s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 744s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 744s] make[1]: *** [Makefile:444: all] Error 2 [ 744s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 744s] dh_auto_build: make -j1 returned exit code 2 [ 744s] make: *** [debian/rules:6: build] Error 255 [ 744s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 744s] [ 744s] cloud121 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 14:19:04 UTC 2019. [ 744s] [ 744s] ### VM INTERACTION START ### [ 747s] [ 693.171367] sysrq: SysRq : Power Off [ 747s] [ 693.178217] reboot: Power down [ 749s] ### VM INTERACTION END ### [ 749s] [ 749s] cloud121 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Tue Sep 3 14:19:09 UTC 2019. [ 749s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 3 14:39:49 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 14:39:49 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a connection state In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15181 ) Change subject: iu_client: introduce a connection state ...................................................................... Patch Set 5: Code-Review-2 (2 comments) I've to reconsider this https://gerrit.osmocom.org/#/c/15181/3/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15181/3/src/iu_client.c at 119 PS3, Line 119: ctx->conn_state = RANAP_CONN_STATE_CONNECTED; > Should be DISCONNECTED. no. should be connected. https://gerrit.osmocom.org/#/c/15181/3/src/iu_client.c at 823 PS3, Line 823: ue->conn_state = RANAP_CONN_STATE_CONNECTED; > Should be DISCONNECTED. right. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I77e01724be05ac488a4685ba367b7a71985b54e3 Gerrit-Change-Number: 15181 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 14:39:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 14:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 14:49:01 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 to look at the new patch set (#8). Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... iu_client: introduce ranap_iu_free_ue() to free the UE connections When freeing the UE connection object, disconnect the SCTP connection. Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/61/15161/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 14:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 14:49:01 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect in... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 to look at the new patch set (#8). Change subject: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication ...................................................................... iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 --- M src/iu_client.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/82/15182/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 Gerrit-Change-Number: 15182 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 14:49:38 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 14:49:38 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: lynxis lazus has removed a vote on this change. Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Removed Code-Review-2 by lynxis lazus -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 14:51:58 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 14:51:58 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 to look at the new patch set (#4). Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/87/15387/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:29:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:29:56 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect in... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15182 ) Change subject: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 Gerrit-Change-Number: 15182 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 15:29:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:31:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:31:29 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 15:31:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:33:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:33:32 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 8: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c at 139 PS8, Line 139: osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); I don't really like the idea of calling tx_disconn inside free() function, imho tx_disconn should be called by the user if possible before calling free() https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c at 816 PS8, Line 816: /* A Iu Release event might be used to free the UE in cn_ranap_handle_co. */ This seems not related to the patch? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 15:33:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:37:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:37:43 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... Patch Set 4: Code-Review-1 Some day I'll discover how do you manage to submit several new versions of a patch without taking into consideration any of my comments... -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 15:37:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:39:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:39:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: ggsn: Delete previously activated pdp ctx in *_interact() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 ) Change subject: ggsn: Delete previously activated pdp ctx in *_interact() ...................................................................... Patch Set 1: Code-Review+2 +2 myself since this fix is pretty obvious and this way this night tests will already be fixed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I232298e2bfd8bfc99d82cbf5803d11db7eb1786a Gerrit-Change-Number: 15390 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 15:39:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 15:39:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 15:39:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: ggsn: Delete previously activated pdp ctx in *_interact() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 ) Change subject: ggsn: Delete previously activated pdp ctx in *_interact() ...................................................................... ggsn: Delete previously activated pdp ctx in *_interact() This change fixes some GGSN_Tests failing lately since osmo-ggsn correctly sends DeleteCtxReq for dangling pdp ctx upon increased Recovery counter received, and tests are not expecting that (because they don't expectect dangling pdp ctx from previous tests). Change-Id: I232298e2bfd8bfc99d82cbf5803d11db7eb1786a --- M ggsn_tests/GGSN_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 4a53fa1..44dba4a 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -958,6 +958,7 @@ f_wait_gtpu_fail(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Test PDP context activation for dynamic IPv4 EUA without DNS request */ @@ -1089,6 +1090,7 @@ f_wait_icmp4_echo_request(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Validate if different clients (pdp ctx) can reach one another through GGSN. */ @@ -1345,6 +1347,7 @@ f_wait_gtpu_fail(ctxB); f_pdp_ctx_del(ctxA, '1'B); + f_pdp_ctx_del(ctxB, '1'B); } /* Test IPv4v6 context activation for dynamic IPv4v6 EUA on a v4-only APN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I232298e2bfd8bfc99d82cbf5803d11db7eb1786a Gerrit-Change-Number: 15390 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:07:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:07:51 +0000 Subject: Change in ...osmo-sgsn[master]: Move out sgsn to its own subdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 ) Change subject: Move out sgsn to its own subdir ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 Gerrit-Change-Number: 15363 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:07:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:08:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:08:14 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Attach Complete to its own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 ) Change subject: gmm: Move code handling GMM Attach Complete to its own function ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6 Gerrit-Change-Number: 15380 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:08:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:08:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:08:32 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Routing Area Update Complete to its own f... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 ) Change subject: gmm: Move code handling GMM Routing Area Update Complete to its own function ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a Gerrit-Change-Number: 15381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:08:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:08:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:08:42 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM PTMSI Realloc Complete to its own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 ) Change subject: gmm: Move code handling GMM PTMSI Realloc Complete to its own function ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21 Gerrit-Change-Number: 15382 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:08:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:08:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:08:49 +0000 Subject: Change in ...osmo-sgsn[master]: enum gprs_gmm_state: Fix spec reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 ) Change subject: enum gprs_gmm_state: Fix spec reference ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I62121e46e5091e5b559397aa01f107ddc23e2c18 Gerrit-Change-Number: 15383 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:08:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:09:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:09:46 +0000 Subject: Change in ...osmo-sgsn[master]: Split out GPRS SM layer into its own file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 ) Change subject: Split out GPRS SM layer into its own file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d Gerrit-Change-Number: 15386 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:09:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:10:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:10:18 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 ) Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 03 Sep 2019 16:10:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:13:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Sep 2019 16:13:20 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... Patch Set 6: as indicated, I'm not arguing that right now you are smart enough to know it is safe. But what about the next 5... years down the road, after (god forbid) another refactoring, ...? Just do msgb_alloc() and prevent any related issues once and for all. Why micro-optimize this particular use case at the cost of having some different behavior than in any other code path in any other osmocom program? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 03 Sep 2019 16:13:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:20:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound Don't use unbound references to objects, this will create a dynamic test failure. Fixes: ce0d615e12be ("sgsn: Proper shutdown of RAN_Adapter components") Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef --- M library/RAN_Adapter.ttcnpp 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/15391/1 diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index f84fd34..aed31ed 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -191,6 +191,10 @@ } function f_ran_adapter_cleanup(inout RAN_Adapter ba) { + if (not isbound(ba)) { + return; + } + if (ba.vc_RAN != null) { if (ba.transport == RANAP_TRANSPORT_IuCS) { #ifdef RAN_EMULATION_RANAP -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:32:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:32:35 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 8: (2 comments) https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c at 139 PS8, Line 139: osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); > I don't really like the idea of calling tx_disconn inside free() function, imho tx_disconn should be [?] So far, the SGSN doesn't know so much about sccp connection (since 2g isn't connection oriented). The sccp connection has the same lifetime as this object, since only connected objects makes sense. Unconnected objects should only be present while the cleanup in sgsn happens. https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c at 816 PS8, Line 816: /* A Iu Release event might be used to free the UE in cn_ranap_handle_co. */ > This seems not related to the patch? yes, it's related. it's not needed here, because ue is not used further in this function. In ranap_cn_rx_co() a call towards ranap_iu_free_ue() can happen. I'll move this into the emit signal patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 16:32:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:36:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:36:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: sccp_sap_up: set rc early In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15179 ) Change subject: iu_client: sccp_sap_up: set rc early ...................................................................... iu_client: sccp_sap_up: set rc early Allows to skip assignment later. Change-Id: Idd803774612719df144bef569fb734289aa31282 --- M src/iu_client.c 1 file changed, 1 insertion(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/iu_client.c b/src/iu_client.c index 92d25f5..b5f3557 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -764,7 +764,7 @@ struct osmo_sccp_user *scu = _scu; struct osmo_scu_prim *prim = (struct osmo_scu_prim *) oph; struct osmo_prim_hdr *resp = NULL; - int rc; + int rc = -1; struct ranap_ue_conn_ctx *ue; struct new_ue_conn_ctx new_ctx = {}; @@ -773,7 +773,6 @@ switch (OSMO_PRIM_HDR(oph)) { case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_CONFIRM): /* confirmation of outbound connection */ - rc = -1; break; case OSMO_PRIM(OSMO_SCU_PRIM_N_CONNECT, PRIM_OP_INDICATION): /* indication of new inbound connection request*/ @@ -814,7 +813,6 @@ rc = ranap_cn_rx_cl(cn_ranap_handle_cl, prim, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; default: - rc = -1; break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Idd803774612719df144bef569fb734289aa31282 Gerrit-Change-Number: 15179 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:36:25 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:36:25 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: ensure UE is not NULL on CO primitives In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15178 ) Change subject: iu_client: ensure UE is not NULL on CO primitives ...................................................................... iu_client: ensure UE is not NULL on CO primitives When ue_conn_ctx_find() can not find a UE it returns NULL. Change-Id: I63222fda6778417b1c986cb05772fecc51c43bb5 --- M src/iu_client.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/iu_client.c b/src/iu_client.c index b5f3557..8da9a43 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -796,6 +796,9 @@ LOGPIU(LOGL_DEBUG, "N-DISCONNECT.ind(%u)\n", prim->u.disconnect.conn_id); ue = ue_conn_ctx_find(prim->u.disconnect.conn_id); + if (!ue) + break; + rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): @@ -804,6 +807,9 @@ osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); /* resolve UE context */ ue = ue_conn_ctx_find(prim->u.data.conn_id); + if (!ue) + break; + rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I63222fda6778417b1c986cb05772fecc51c43bb5 Gerrit-Change-Number: 15178 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:41:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:41:14 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: sccp_sap_up: don't decode empty disconnect indications In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15180 to look at the new patch set (#5). Change subject: iu_client: sccp_sap_up: don't decode empty disconnect indications ...................................................................... iu_client: sccp_sap_up: don't decode empty disconnect indications Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 --- M src/iu_client.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/80/15180/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 Gerrit-Change-Number: 15180 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:41:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:41:14 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 to look at the new patch set (#9). Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... iu_client: introduce ranap_iu_free_ue() to free the UE connections When freeing the UE connection object, disconnect the SCTP connection. Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/61/15161/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:41:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:41:14 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect in... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 to look at the new patch set (#9). Change subject: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication ...................................................................... iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 --- M src/iu_client.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/82/15182/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 Gerrit-Change-Number: 15182 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:42:17 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:42:17 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15161/8/src/iu_client.c at 139 PS8, Line 139: osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); > So far, the SGSN doesn't know so much about sccp connection (since 2g isn't connection oriented). [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 16:42:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:45:09 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:45:09 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 to look at the new patch set (#10). Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... iu_client: introduce ranap_iu_free_ue() to free the UE connections When freeing the UE connection object, disconnect the SCCP connection. Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/61/15161/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 16:45:13 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 16:45:13 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 9: (2 comments) https://gerrit.osmocom.org/#/c/15161/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15161/6//COMMIT_MSG at 9 PS6, Line 9: SCTP > SCCP Done https://gerrit.osmocom.org/#/c/15161/6/include/osmocom/ranap/iu_client.h File include/osmocom/ranap/iu_client.h: https://gerrit.osmocom.org/#/c/15161/6/include/osmocom/ranap/iu_client.h at 75 PS6, Line 75: SCTP > SCCP Done -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 16:45:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 17:06:42 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 17:06:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 to look at the new patch set (#2). Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound Don't use unbound references to objects, this will create a dynamic test failure. All test cases fail on my machine because of an unbound reference object. Fixes: ce0d615e12be ("sgsn: Proper shutdown of RAN_Adapter components") Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef --- M library/RAN_Adapter.ttcnpp 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/15391/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 17:39:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 17:39:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 2: I'm surprised about this patch. Which tests fail in your case? which testsuite? AFAIU this function is only called so far for SGSN_Tests and ba exists there, and tests pass in my setup and in jenkins. How can you call f_Ran_adapter_cleanup() with ba being unbound? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 17:39:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 17:42:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 17:42:09 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect in... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15182 ) Change subject: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 Gerrit-Change-Number: 15182 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 17:42:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 17:43:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 17:43:47 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: sccp_sap_up: don't decode empty disconnect indications In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15180 ) Change subject: iu_client: sccp_sap_up: don't decode empty disconnect indications ...................................................................... Patch Set 5: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15180/5/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15180/5/src/iu_client.c at 802 PS5, Line 802: rc = 0; I hope at some point this "rc = 0" is moved up in order to set rc if !ue condition is hit, otherwise it looks like rc will be returned uninitialized. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 Gerrit-Change-Number: 15180 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 17:43:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 17:44:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 17:44:55 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 17:44:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:08:49 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:08:49 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: sccp_sap_up: don't decode empty disconnect indications In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15180 ) Change subject: iu_client: sccp_sap_up: don't decode empty disconnect indications ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15180/5/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15180/5/src/iu_client.c at 802 PS5, Line 802: rc = 0; > I hope at some point this "rc = 0" is moved up in order to set rc if !ue condition is hit, otherwise [?] rc is initilized with -1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 Gerrit-Change-Number: 15180 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:08:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:13:06 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:13:06 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... pySim-prog: Use CSV format with headers This way we can have optional fields like pin_adm in the file Also require iccid as identifier for the SIM card Set defaults for optional card parameters. Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 --- A csv-format M pySim-prog.py 2 files changed, 44 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/15313/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:13:07 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:13:07 +0000 Subject: Change in ...pysim[master]: pySim-prog: Print out hex-escaped pin_adm in card parameters Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15392 Change subject: pySim-prog: Print out hex-escaped pin_adm in card parameters ...................................................................... pySim-prog: Print out hex-escaped pin_adm in card parameters Use h2b to convert pin_adm back to binary form for sysmoSIMgr2 Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 --- M pySim-prog.py M pySim/cards.py 2 files changed, 10 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/92/15392/1 diff --git a/pySim-prog.py b/pySim-prog.py index 2638eef..7edadd7 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -406,14 +406,15 @@ def print_parameters(params): print """Generated card parameters : - > Name : %(name)s - > SMSP : %(smsp)s - > ICCID : %(iccid)s - > MCC/MNC : %(mcc)d/%(mnc)d - > IMSI : %(imsi)s - > Ki : %(ki)s - > OPC : %(opc)s - > ACC : %(acc)s + > Name : %(name)s + > SMSP : %(smsp)s + > ICCID : %(iccid)s + > MCC/MNC : %(mcc)d/%(mnc)d + > IMSI : %(imsi)s + > Ki : %(ki)s + > OPC : %(opc)s + > ACC : %(acc)s + > ADM1(hex): %(pin_adm)s """ % params diff --git a/pySim/cards.py b/pySim/cards.py index 55282aa..cda337a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -496,7 +496,7 @@ # P2: CHV number, as in VERIFY CHV for PIN, and as in UNBLOCK CHV for PUK # P3: 08, CHV length (curiously the PUK is also 08 length, instead of 10) if p['pin_adm']: - pin = p['pin_adm'] + pin = h2b(p['pin_adm']) else: pin = h2b("4444444444444444") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 Gerrit-Change-Number: 15392 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:13:07 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:13:07 +0000 Subject: Change in ...pysim[master]: pySim-prog: Add option for hex ADM keys Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15393 Change subject: pySim-prog: Add option for hex ADM keys ...................................................................... pySim-prog: Add option for hex ADM keys pySim-prog would implicitly try to use the raw or hex-escaped format depending on the length of the parameter, now there is the option "-A" to explicitly specify the hex-escaped ADM1 key. pysim-test.sh: Explicitly use the "-A" option to pass the hex adm1 key for wavemobile cards Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a --- M pySim-prog.py M pysim-testdata/Wavemobile-SIM.data M tests/Wavemobile-SIM.data.example M tests/pysim-test.sh 4 files changed, 28 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/93/15393/1 diff --git a/pySim-prog.py b/pySim-prog.py index e00c2d0..2ac4dad 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -73,6 +73,9 @@ parser.add_option("-a", "--pin-adm", dest="pin_adm", help="ADM PIN used for provisioning (overwrites default)", ) + parser.add_option("-A", "--pin-adm-hex", dest="pin_adm_hex", + help="ADM PIN used for provisioning, as hex string (16 characters long", + ) parser.add_option("-e", "--erase", dest="erase", action='store_true', help="Erase beforehand [default: %default]", default=False, @@ -376,17 +379,27 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) + + pin_adm = None + if opts.pin_adm is not None: if len(opts.pin_adm) <= 8: pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) pin_adm = rpad(pin_adm, 16) - elif len(opts.pin_adm) == 16: - pin_adm = opts.pin_adm - else: - raise ValueError("PIN-ADM needs to be <=8 digits (ascii) or exactly 16 digits (raw hex)") - else: - pin_adm = None + else: + raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") + + if opts.pin_adm_hex is not None: + if len(opts.pin_adm_hex) == 16: + pin_adm = opts.pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("PIN-ADM needs to be hex encoded using this option") + else: + raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") # Return that return { diff --git a/pysim-testdata/Wavemobile-SIM.data b/pysim-testdata/Wavemobile-SIM.data index 46690b4..0c3379a 100644 --- a/pysim-testdata/Wavemobile-SIM.data +++ b/pysim-testdata/Wavemobile-SIM.data @@ -1,5 +1,5 @@ MCC=001 MNC=01 IMSI=001010000000102 -ADM=15E31383624FDC8A +ADM_HEX=15E31383624FDC8A diff --git a/tests/Wavemobile-SIM.data.example b/tests/Wavemobile-SIM.data.example index e9ba965..bdf2d65 100644 --- a/tests/Wavemobile-SIM.data.example +++ b/tests/Wavemobile-SIM.data.example @@ -1,5 +1,5 @@ MCC=001 MNC=01 IMSI=001010000000102 -ADM=0123456789ABCDEF +ADM_HEX=0123456789ABCDEF diff --git a/tests/pysim-test.sh b/tests/pysim-test.sh index 5af7a93..f97722d 100755 --- a/tests/pysim-test.sh +++ b/tests/pysim-test.sh @@ -156,9 +156,14 @@ OPC=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF IMSI=001010000000001 ADM=00000000 + ADM_OPT="-a" - . "$CARD_NAME.data" - python $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID -a $ADM + source "$CARD_NAME.data" + if [ -n "$ADM_HEX" ]; then + ADM_OPT="-A" + ADM=$ADM_HEX + fi + python $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID $ADM_OPT $ADM check_card $I $CARD_NAME echo "" done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a Gerrit-Change-Number: 15393 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:13:07 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:13:07 +0000 Subject: Change in ...pysim[master]: Add an option to read the iccid and batch-program the new card data Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15394 Change subject: Add an option to read the iccid and batch-program the new card data ...................................................................... Add an option to read the iccid and batch-program the new card data This can be used to reprogram everything including IMSI on the card: while true; do ./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=cards.csv --read-iccid && paplay complete.oga sleep 2 done Change-Id: Ib343a29141b5255f67a59ab76959b51e162b7916 --- M pySim-prog.py 1 file changed, 26 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/94/15394/1 diff --git a/pySim-prog.py b/pySim-prog.py index 2ac4dad..8abce0a 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -39,7 +39,7 @@ from pySim.commands import SimCardCommands from pySim.cards import _cards_classes -from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn +from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF def parse_options(): @@ -131,6 +131,9 @@ parser.add_option("--read-imsi", dest="read_imsi", action="store_true", help="Read the IMSI from the CARD", default=False ) + parser.add_option("--read-iccid", dest="read_iccid", action="store_true", + help="Read the ICCID from the CARD", default=False + ) parser.add_option("-z", "--secret", dest="secret", metavar="STR", help="Secret used for ICCID/IMSI autogen", ) @@ -171,8 +174,8 @@ return options if options.source == 'csv': - if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False): - parser.error("CSV mode needs either an IMSI, --read-imsi or batch mode") + if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False) and (options.read_iccid is False): + parser.error("CSV mode needs either an IMSI, --read-imsi, --read-iccid or batch mode") if options.read_csv is None: parser.error("CSV mode requires a CSV input file") elif options.source == 'cmdline': @@ -444,7 +447,7 @@ cw.writerow([params[x] for x in row]) f.close() -def _read_params_csv(opts, imsi): +def _read_params_csv(opts, iccid=None, imsi=None): import csv f = open(opts.read_csv, 'r') cr = csv.DictReader(f) @@ -452,11 +455,15 @@ if not 'iccid' in cr.fieldnames: raise Exception("CSV file in wrong format!") for row in cr: - if opts.num is not None and opts.read_imsi is False: + if opts.num is not None and opts.read_iccid is False and opts.read_imsi is False: if opts.num == i: f.close() return row; i += 1 + if row['iccid'] == iccid: + f.close() + return row; + if row['imsi'] == imsi: f.close() return row; @@ -464,8 +471,8 @@ f.close() return None -def read_params_csv(opts, imsi): - row = _read_params_csv(opts, imsi) +def read_params_csv(opts, imsi=None, iccid=None): + row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: row['mcc'] = int(row.get('mcc', row['imsi'][0:3])) row['mnc'] = int(row.get('mnc', row['imsi'][3:5])) @@ -655,7 +662,17 @@ if opts.source == 'cmdline': cp = gen_parameters(opts) elif opts.source == 'csv': - if opts.read_imsi: + imsi = None + iccid = None + if opts.read_iccid: + if opts.dry_run: + # Connect transport + print "Insert card now (or CTRL-C to cancel)" + sl.wait_for_card(newcardonly=not first) + (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) + iccid = dec_iccid(res) + print iccid + elif opts.read_imsi: if opts.dry_run: # Connect transport print "Insert card now (or CTRL-C to cancel)" @@ -664,7 +681,7 @@ imsi = swap_nibbles(res)[3:] else: imsi = opts.imsi - cp = read_params_csv(opts, imsi) + cp = read_params_csv(opts, imsi=imsi, iccid=iccid) if cp is None: print "Error reading parameters\n" sys.exit(2) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib343a29141b5255f67a59ab76959b51e162b7916 Gerrit-Change-Number: 15394 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 to look at the new patch set (#3). Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound Don't use unbound references to objects, this will create a dynamic test failure. All test cases fail on my machine because of an unbound reference object. Fixes: ce0d615e12be ("sgsn: Proper shutdown of RAN_Adapter components") Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef --- M library/RAN_Adapter.ttcnpp 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/15391/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 to look at the new patch set (#2). Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 129 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15171/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#6) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... sgsn: add Iu Attach Request MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Auth Request MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 --- M sgsn/SGSN_Tests.ttcn A sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/13866/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 to look at the new patch set (#2). Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... sgsn: add TC_iu_attach_geran_rau do a GMM attach on Iu do a GMM Routing Area Update on GMM Change-Id: Ie043639638a640a2041324fc910964385a41c77d fixme: This will crash the SGSN atm :) --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/15163/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 Change subject: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature ...................................................................... L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature Iu packets needs to contain an ptmsi as tlv in difference to Gb. Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 --- M library/L3_Templates.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/15395/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index bc0e797..98bc758 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -2126,7 +2126,8 @@ RoutingAreaIdentificationV old_ra, boolean follow_on_pending := false, template (omit) MobileStationClassmark2_TLV cm2_tlv, - template (omit) MobileStationClassmark3_TLV cm3_tlv + template (omit) MobileStationClassmark3_TLV cm3_tlv, + template (omit) OCT4 p_tmsi := omit ) := { discriminator := '0000'B, /* overwritten */ tiOrSkip := { @@ -2144,7 +2145,7 @@ readyTimerValue := omit, drxParameter := omit, tmsiStatus := omit, - ptmsi := omit, + ptmsi := ts_MI_TMSI_TLV(p_tmsi), mSNetworkCapability := omit, pdpContextStatus := omit, /* TODO */ pC_LCSCapability := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 Gerrit-Change-Number: 15395 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... sgsn: extend f_routing_area_update() to support Iu Allow Iu tests to use f_routing_area_update() Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/15396/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6e82c56..d210182 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2355,22 +2355,45 @@ f_cleanup(); } -private function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { +friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; + var PDU_DTAP_PS_MT mt; + var template OCT4 p_tmsi := omit; + if (send_ptmsi) { + p_tmsi := g_pars.p_tmsi; + } /* then send RAU */ - f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit), bssgp); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), bssgp, initial := true); alt { - [] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { + [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); f_send_l3(ts_GMM_RAU_COMPL, bssgp); setverdict(pass); } - [] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { + [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { + f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); + f_send_l3(ts_GMM_RAU_COMPL, bssgp); + setverdict(pass); + } + + [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [] BSSGP[bssgp].receive { repeat; } + [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { + setverdict(fail, "Unexpected RAU Reject"); + mtc.stop; + } + + [is_iu(bssgp)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), + key_sts := ?)) { + var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ + BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + //BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + } + [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } + [is_iu(bssgp)] BSSAP.receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 22 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15397/1 diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index d6007b3..50118c7 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -54,10 +54,31 @@ vc_conn.done; } +private function f_TC_geran_attach_iu_rau(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0); + + /* do a routing area update */ + f_routing_area_update(g_pars.ra, bssgp := 3, send_ptmsi := true); + setverdict(pass); +} + +testcase TC_geran_attach_iu_rau() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + g_ranap_enable := true; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_geran_attach_iu_rau), testcasename(), g_gb, 1003); + vc_conn.done; +} + control { execute( TC_iu_attach() ); /* FIXME: will crash the sgsn - * execute( TC_iu_attach_geran_rau() ); */ + * execute( TC_iu_attach_geran_rau() ); + * execute( TC_geran_attach_iu_rau() ); */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 Change subject: sgsn: implement commonid as alt_step ...................................................................... sgsn: implement commonid as alt_step Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/15398/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index d210182..e4a5cbf 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -546,6 +546,12 @@ } } +altstep as_ranap_common_id(integer gb_idx) runs on BSSGP_ConnHdlr { + [gb_idx >= NUM_GB] BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) { + repeat; + } +} + altstep as_mm_identity(integer gb_idx := 0) runs on BSSGP_ConnHdlr { var MobileL3_CommonIE_Types.MobileIdentityLV mi; [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('001'B)) { @@ -591,6 +597,7 @@ var PDU_L3_MS_SGSN l3_mo; var PDU_L3_SGSN_MS l3_mt; var default di := activate(as_mm_identity(gb_idx)); + var default commonid := activate(as_ranap_common_id(gb_idx)); if (g_pars.net.expect_auth) { var GSUP_IE auth_tuple; var template AuthenticationParameterAUTNTLV autn; @@ -655,7 +662,9 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); - //BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + + /* allow to common id to be received */ + f_sleep(1.0); } } } else { @@ -663,6 +672,7 @@ f_sleep(1.0); } + deactivate(commonid); deactivate(di); } @@ -2359,6 +2369,7 @@ var PDU_L3_SGSN_MS l3_mt; var PDU_DTAP_PS_MT mt; var template OCT4 p_tmsi := omit; + var default commonid := activate(as_ranap_common_id(bssgp)); if (send_ptmsi) { p_tmsi := g_pars.p_tmsi; @@ -2390,11 +2401,15 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); - //BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); + + /* allow to common id to be received */ + f_sleep(1.0); } [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } [is_iu(bssgp)] BSSAP.receive { repeat; } } + + deactivate(commonid); } private function f_TC_attach_rau_a_a(charstring id) runs on BSSGP_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with gb_idx Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 Change subject: sgsn: replace variable bssgp with gb_idx ...................................................................... sgsn: replace variable bssgp with gb_idx gb_idx is common used as variable for the index of the bssgb array. Be consistent and use the same variable name everywhere. Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/15399/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index e4a5cbf..c486be1 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2365,7 +2365,7 @@ f_cleanup(); } -friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { +friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer gb_idx := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; var PDU_DTAP_PS_MT mt; var template OCT4 p_tmsi := omit; @@ -2375,29 +2375,29 @@ p_tmsi := g_pars.p_tmsi; } /* then send RAU */ - f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), bssgp, initial := true); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), gb_idx, initial := true); alt { - [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { - f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); - f_send_l3(ts_GMM_RAU_COMPL, bssgp); + [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { + f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, gb_idx); + f_send_l3(ts_GMM_RAU_COMPL, gb_idx); setverdict(pass); } - [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { - f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); - f_send_l3(ts_GMM_RAU_COMPL, bssgp); + [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { + f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, gb_idx); + f_send_l3(ts_GMM_RAU_COMPL, gb_idx); setverdict(pass); } - [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { + [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_RAU_REJECT) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { + [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [is_iu(bssgp)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), + [is_iu(gb_idx)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); @@ -2405,8 +2405,8 @@ /* allow to common id to be received */ f_sleep(1.0); } - [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } - [is_iu(bssgp)] BSSAP.receive { repeat; } + [is_gb(gb_idx)] BSSGP[gb_idx].receive { repeat; } + [is_iu(gb_idx)] BSSAP.receive { repeat; } } deactivate(commonid); diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 50118c7..c0830ee 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -61,7 +61,7 @@ f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0); /* do a routing area update */ - f_routing_area_update(g_pars.ra, bssgp := 3, send_ptmsi := true); + f_routing_area_update(g_pars.ra, gb_idx := 3, send_ptmsi := true); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with gb_idx Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 Change subject: sgsn: replace variable bssgp_index with gb_idx ...................................................................... sgsn: replace variable bssgp_index with gb_idx gb_idx is common used as variable for the index of the bssgb array. Be consistent and use the same variable name everywhere. Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/15400/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index c486be1..0a8aef0 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -676,12 +676,12 @@ deactivate(di); } -function f_upd_ptmsi_and_tlli(OCT4 p_tmsi, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_upd_ptmsi_and_tlli(OCT4 p_tmsi, integer gb_idx := 0) runs on BSSGP_ConnHdlr { g_pars.p_tmsi := p_tmsi; /* update TLLI */ g_pars.tlli_old := g_pars.tlli; g_pars.tlli := g_pars.p_tmsi or4b 'c0000000'O; - f_bssgp_client_llgmm_assign(g_pars.tlli_old, g_pars.tlli, BSSGP_PROC[bssgp_index]); + f_bssgp_client_llgmm_assign(g_pars.tlli_old, g_pars.tlli, BSSGP_PROC[gb_idx]); } function f_process_attach_accept(PDU_GMM_AttachAccept aa) runs on BSSGP_ConnHdlr { @@ -713,7 +713,7 @@ /* T3302, T3319, T3323, T3312_ext, T3324 */ } -function f_process_rau_accept(PDU_GMM_RoutingAreaUpdateAccept ra, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_process_rau_accept(PDU_GMM_RoutingAreaUpdateAccept ra, integer gb_idx := 0) runs on BSSGP_ConnHdlr { /* mandatory IE */ g_pars.ra := ra.routingAreaId; if (ispresent(ra.allocatedPTMSI)) { @@ -721,7 +721,7 @@ setverdict(fail, "unexpected P-TMSI allocation"); mtc.stop; } - f_upd_ptmsi_and_tlli(ra.allocatedPTMSI.mobileIdentityLV.mobileIdentityV.oddEvenInd_identity.tmsi_ptmsi.octets, bssgp_index); + f_upd_ptmsi_and_tlli(ra.allocatedPTMSI.mobileIdentityLV.mobileIdentityV.oddEvenInd_identity.tmsi_ptmsi.octets, gb_idx); } if (ispresent(ra.msIdentity)) { setverdict(fail, "unexpected TMSI allocation in non-combined attach"); @@ -1099,10 +1099,10 @@ } /* general GPRS DETACH helper */ -function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge, integer gb_idx := 0) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; timer T := 5.0; - f_send_l3(ts_GMM_DET_REQ_MO(detach_type, power_off), bssgp_index); + f_send_l3(ts_GMM_DET_REQ_MO(detach_type, power_off), gb_idx); if (expect_purge) { GSUP.receive(tr_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_PS)); GSUP.send(ts_GSUP_PURGE_MS_RES(g_pars.imsi)); @@ -1113,7 +1113,7 @@ setverdict(fail, "Unexpected GSUP PURGE MS for unregistered TLLI"); mtc.stop; } - [power_off] BSSGP[bssgp_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { + [power_off] BSSGP[gb_idx].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { g_pars.ra := omit; setverdict(fail, "Unexpected DETACH ACCEPT in power-off DETACH"); mtc.stop; @@ -1122,12 +1122,12 @@ [power_off] T.timeout { setverdict(pass); } - [not power_off] BSSGP[bssgp_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { + [not power_off] BSSGP[gb_idx].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { g_pars.ra := omit; setverdict(pass); /* TODO: check if any PDP contexts are deactivated on network side? */ } - [] BSSGP[bssgp_index].receive(PDU_L3_SGSN_MS:?) -> value l3_mt { + [] BSSGP[gb_idx].receive(PDU_L3_SGSN_MS:?) -> value l3_mt { if (power_off) { setverdict(fail, "Unexpected Layer 3 package received in power-off DETACH"); } else { @@ -1135,7 +1135,7 @@ } mtc.stop; } - [] BSSGP[bssgp_index].receive { repeat; } + [] BSSGP[gb_idx].receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:19:21 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:19:21 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... Patch Set 3: I refactored the code and split it up into different commits as well. There were quite a few corner cases we weren't handling before, and there should be less now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:19:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:20:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:20:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... Patch Set 6: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/13866/6/sgsn/SGSN_Tests_Iu.ttcn File sgsn/SGSN_Tests_Iu.ttcn: https://gerrit.osmocom.org/#/c/13866/6/sgsn/SGSN_Tests_Iu.ttcn at 34 PS6, Line 34: vc_conn.done; Missing f_cleanup(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:20:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:24:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:24:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 ) Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/15163/2/sgsn/SGSN_Tests_Iu.ttcn File sgsn/SGSN_Tests_Iu.ttcn: https://gerrit.osmocom.org/#/c/15163/2/sgsn/SGSN_Tests_Iu.ttcn at 38 PS2, Line 38: private function f_TC_iu_attach_geran_rau(charstring id) runs on BSSGP_ConnHdlr { Would be great if you could describe what the test does in a comment on the line prior to the function definition: /* First perform regular attach through RANAP, then RAU over GERAN */ https://gerrit.osmocom.org/#/c/15163/2/sgsn/SGSN_Tests_Iu.ttcn at 41 PS2, Line 41: /* first perform regular attach */ over RANAP/Iu https://gerrit.osmocom.org/#/c/15163/2/sgsn/SGSN_Tests_Iu.ttcn at 45 PS2, Line 45: f_routing_area_update(g_pars.ra); over GERAN? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:24:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:24:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:24:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 ) Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:24:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:27:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:27:07 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 to look at the new patch set (#5). Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/87/15387/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:33:48 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:33:48 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:33:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:35:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:35:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/#/c/15171/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15171/2//COMMIT_MSG at 10 PS2, Line 10: which sends L3 messages for Iu and Gb at the same time. Not at the same time. It sends L3 messages over the requested L2 layer (controlled by gb_index). https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 525 PS2, Line 525: function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, boolean initial := false) runs on BSSGP_ConnHdlr { May have more sense to have an array of initial states (boolean) in BSSGP_ConnHdlr with size equal to values available in gb_index (btw, can we call it ran_index?). This way initial state is maintained inside this function and tests don't need to care about whether they are sending initial message or not (and they can still play with the value by modifying the array directly if needed). https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 644 PS2, Line 644: var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ why is this commented? https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 646 PS2, Line 646: //BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); why is this commented out? because sgsn should send it but it doesn't? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:35:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:38:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:38:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 ) Change subject: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15395/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15395/1//COMMIT_MSG at 9 PS1, Line 9: Iu packets needs to contain an ptmsi as tlv in difference to Gb. a ptmsi as opposed to? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 Gerrit-Change-Number: 15395 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:38:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:40:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:40:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 ) Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15396/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15396/1/sgsn/SGSN_Tests.ttcn at 2358 PS1, Line 2358: friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { Is ptmsi sent only on Iu? Then why not simply do inside the function: if (is_iu(bssgp)) p_tmsi := g_pars.p_tmsi; https://gerrit.osmocom.org/#/c/15396/1/sgsn/SGSN_Tests.ttcn at 2391 PS1, Line 2391: var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ Again, why all these commented stuff? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:40:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:40:51 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 18:40:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 ) Change subject: sgsn: implement commonid as alt_step ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15398/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15398/1/sgsn/SGSN_Tests.ttcn at 667 PS1, Line 667: f_sleep(1.0); I dislike the speculative sleeps to receive messages, but seeing that this has been done below as well (and I don't have a better idea right now) I'm fine with it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Tue, 03 Sep 2019 18:40:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:42:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:42:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15397/1/sgsn/SGSN_Tests_Iu.ttcn File sgsn/SGSN_Tests_Iu.ttcn: https://gerrit.osmocom.org/#/c/15397/1/sgsn/SGSN_Tests_Iu.ttcn at 57 PS1, Line 57: private function f_TC_geran_attach_iu_rau(charstring id) runs on BSSGP_ConnHdlr { Again, write a description on top of function about what does the test check please. https://gerrit.osmocom.org/#/c/15397/1/sgsn/SGSN_Tests_Iu.ttcn at 74 PS1, Line 74: vc_conn.done; Missing f_cleanup(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:42:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:44:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 3 Sep 2019 18:44:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 525 PS2, Line 525: function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, boolean initial := false) runs on BSSGP_ConnHdlr { > May have more sense to have an array of initial states (boolean) in BSSGP_ConnHdlr with size equal t [?] good idea. @laforge, what do you think about this? https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 644 PS2, Line 644: var IntegrityProtectionAlgorithm uia_chosen := 0; /*standard_UMTS_integrity_algorithm_UIA1;*/ > why is this commented? 0 means UIA1. I'll change the comment to be more specific https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 646 PS2, Line 646: //BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))); > why is this commented out? because sgsn should send it but it doesn't? there is a seperate patch for this later in the chain. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:44:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:44:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:44:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with gb_idx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 ) Change subject: sgsn: replace variable bssgp with gb_idx ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15399/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15399/1/sgsn/SGSN_Tests.ttcn at 2368 PS1, Line 2368: friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer gb_idx := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { Please, if you are at it, change it to bssgp_idx or ran_idx. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:44:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:45:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:45:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with gb_idx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 ) Change subject: sgsn: replace variable bssgp_index with gb_idx ...................................................................... Patch Set 1: Same. gssbp_idx or ran_idx or whatever. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:45:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 18:46:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 3 Sep 2019 18:46:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 ) Change subject: sgsn: implement commonid as alt_step ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15398/1/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15398/1/sgsn/SGSN_Tests.ttcn at 550 PS1, Line 550: [gb_idx >= NUM_GB] BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) { is_gb(gb_idx) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Sep 2019 18:46:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 3 21:22:37 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 3 Sep 2019 21:22:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step In-Reply-To: References: Message-ID: daniel has removed a vote on this change. Change subject: sgsn: implement commonid as alt_step ...................................................................... Removed Code-Review+1 by daniel -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 4 04:59:14 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 04:59:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d6f44b075_31e32ae1bd364600456518@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 628s] ar: `u' modifier ignored since `D' is the default (see `U') [ 628s] libtool: link: ranlib .libs/libtransceiver_common.a [ 628s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 628s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 629s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 629s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 629s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 629s] collect2: error: ld returned 1 exit status [ 629s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 629s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 629s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 629s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 629s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 629s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 629s] make[1]: *** [Makefile:444: all] Error 2 [ 629s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 629s] dh_auto_build: make -j1 returned exit code 2 [ 629s] make: *** [debian/rules:6: build] Error 255 [ 629s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 630s] [ 630s] lamb28 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 04:59:05 UTC 2019. [ 630s] [ 630s] ### VM INTERACTION START ### [ 633s] [ 610.621128] sysrq: SysRq : Power Off [ 633s] [ 610.643152] reboot: Power down [ 633s] ### VM INTERACTION END ### [ 633s] [ 633s] lamb28 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 04:59:09 UTC 2019. [ 633s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 4 05:14:23 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 05:14:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6f4833e03ae_31e32ae1bd3646004604c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 770s] ar: `u' modifier ignored since `D' is the default (see `U') [ 770s] libtool: link: ranlib .libs/libtransceiver_common.a [ 770s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 770s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 771s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 771s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 771s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 771s] collect2: error: ld returned 1 exit status [ 771s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 771s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 771s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 771s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 771s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 771s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 771s] make[1]: *** [Makefile:444: all] Error 2 [ 771s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 771s] dh_auto_build: make -j1 returned exit code 2 [ 771s] make: *** [debian/rules:6: build] Error 255 [ 771s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 771s] [ 771s] lamb56 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 05:14:12 UTC 2019. [ 771s] [ 771s] ### VM INTERACTION START ### [ 774s] [ 739.039673] sysrq: SysRq : Power Off [ 774s] [ 739.056801] reboot: Power down [ 774s] ### VM INTERACTION END ### [ 774s] [ 774s] lamb56 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 05:14:15 UTC 2019. [ 774s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 4 05:53:14 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 05:53:14 +0000 Subject: Change in ...gr-gsm[master]: Fix sub_slot assignment in the universal_ctrl_chans_demapper block In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/14946 ) Change subject: Fix sub_slot assignment in the universal_ctrl_chans_demapper block ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Idc63407694fd1f7be962ab630d4e8c13b4a5d348 Gerrit-Change-Number: 14946 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Wed, 04 Sep 2019 05:53:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 06:30:00 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 06:30:00 +0000 Subject: Change in ...gr-gsm[master]: Add control channels demappers tests In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/14945 ) Change subject: Add control channels demappers tests ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I33b0948832a0c2506bffd389cc134c3236c74d27 Gerrit-Change-Number: 14945 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Wed, 04 Sep 2019 06:30:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:06:49 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:06:49 +0000 Subject: Change in ...gr-gsm[master]: Fix uplink sub_slot assignment in the sdcch8 demapper block In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/14947 ) Change subject: Fix uplink sub_slot assignment in the sdcch8 demapper block ...................................................................... Patch Set 2: Verified+1 Code-Review+2 Thank you for looking carefully at those assignments and fixing them. -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab Gerrit-Change-Number: 14947 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Comment-Date: Wed, 04 Sep 2019 07:06:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:16:03 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:16:03 +0000 Subject: Change in ...gr-gsm[master]: Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_c... In-Reply-To: References: Message-ID: ptrkrysik has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/14948 ) Change subject: Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_ccch demappers blocks ...................................................................... Patch Set 2: Verified+1 Code-Review+2 :D -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ia6b3070c1085bcdda6d98fd94a89c6e0982e2aec Gerrit-Change-Number: 14948 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-Comment-Date: Wed, 04 Sep 2019 07:16:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:23:51 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:23:51 +0000 Subject: Change in ...gr-gsm[master]: Add control channels demappers tests In-Reply-To: References: Message-ID: ptrkrysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/gr-gsm/+/14945 ) Change subject: Add control channels demappers tests ...................................................................... Add control channels demappers tests 3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH Figure 8b: TDMA frame mapping for FCCH + SCH + BCCH + CCCH + SDCCH/4(0...3) + SACCH/4(0...3) Five of the six tests currently fail and are marked with @unittest.expectedFailure. Fixes in subsequent commits. Change-Id: I33b0948832a0c2506bffd389cc134c3236c74d27 --- M include/grgsm/qa_utils/burst_sink.h M include/grgsm/qa_utils/burst_source.h M lib/qa_utils/burst_sink_impl.cc M lib/qa_utils/burst_sink_impl.h M lib/qa_utils/burst_source_impl.cc M lib/qa_utils/burst_source_impl.h M python/CMakeLists.txt A python/qa_gsm_bcch_ccch_demapper.py A python/qa_gsm_bcch_ccch_sdcch4_demapper.py A python/qa_gsm_demapper_data.py A python/qa_gsm_sdcch8_demapper.py 11 files changed, 653 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve ptrkrysik: Looks good to me, approved; Verified diff --git a/include/grgsm/qa_utils/burst_sink.h b/include/grgsm/qa_utils/burst_sink.h index 774075f..ed811ed 100644 --- a/include/grgsm/qa_utils/burst_sink.h +++ b/include/grgsm/qa_utils/burst_sink.h @@ -54,6 +54,8 @@ virtual std::vector get_timeslots() = 0; virtual std::vector get_burst_data() = 0; virtual pmt::pmt_t get_bursts() = 0; + virtual std::vector get_sub_types() = 0; + virtual std::vector get_sub_slots() = 0; }; } // namespace gsm } // namespace gr diff --git a/include/grgsm/qa_utils/burst_source.h b/include/grgsm/qa_utils/burst_source.h index e74a8aa..2f249ad 100644 --- a/include/grgsm/qa_utils/burst_source.h +++ b/include/grgsm/qa_utils/burst_source.h @@ -54,6 +54,7 @@ virtual void set_framenumbers(const std::vector &framenumbers) = 0; virtual void set_timeslots(const std::vector ×lots) = 0; virtual void set_burst_data(const std::vector &burst_data) = 0; + virtual void set_arfcn(uint16_t arfcn) = 0; }; } // namespace gsm diff --git a/lib/qa_utils/burst_sink_impl.cc b/lib/qa_utils/burst_sink_impl.cc index bdc2192..5151bf6 100644 --- a/lib/qa_utils/burst_sink_impl.cc +++ b/lib/qa_utils/burst_sink_impl.cc @@ -90,6 +90,8 @@ d_framenumbers.push_back(frame_nr); d_timeslots.push_back(header->timeslot); d_burst_data.push_back(burst_str.str()); + d_sub_types.push_back(header->sub_type); + d_sub_slots.push_back(header->sub_slot); } std::vector burst_sink_impl::get_framenumbers() @@ -110,6 +112,14 @@ { return d_bursts; } + std::vector burst_sink_impl::get_sub_types() + { + return d_sub_types; + } + std::vector burst_sink_impl::get_sub_slots() + { + return d_sub_slots; + } } /* namespace gsm */ } /* namespace gr */ diff --git a/lib/qa_utils/burst_sink_impl.h b/lib/qa_utils/burst_sink_impl.h index e87422d..15e3bcf 100644 --- a/lib/qa_utils/burst_sink_impl.h +++ b/lib/qa_utils/burst_sink_impl.h @@ -36,6 +36,8 @@ std::vector d_timeslots; std::vector d_burst_data; pmt::pmt_t d_bursts; + std::vector d_sub_types; + std::vector d_sub_slots; public: burst_sink_impl(); ~burst_sink_impl(); @@ -44,6 +46,8 @@ virtual std::vector get_timeslots(); virtual std::vector get_burst_data(); virtual pmt::pmt_t get_bursts(); + virtual std::vector get_sub_types(); + virtual std::vector get_sub_slots(); }; } // namespace gsm diff --git a/lib/qa_utils/burst_source_impl.cc b/lib/qa_utils/burst_source_impl.cc index f415eaf..276ed0e 100644 --- a/lib/qa_utils/burst_source_impl.cc +++ b/lib/qa_utils/burst_source_impl.cc @@ -52,7 +52,8 @@ : gr::block("burst_source", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0)), - d_finished(false) + d_finished(false), + d_arfcn(0) { message_port_register_out(pmt::mp("out")); set_framenumbers(framenumbers); @@ -85,6 +86,11 @@ d_burst_data = burst_data; } + void burst_source_impl::set_arfcn(uint16_t arfcn) + { + d_arfcn = arfcn; + } + bool burst_source_impl::start() { d_finished = false; @@ -122,7 +128,7 @@ tap_header->timeslot = d_timeslots[i]; tap_header->frame_number = htobe32(d_framenumbers[i]); tap_header->sub_type = GSMTAP_BURST_NORMAL; - tap_header->arfcn = 0; + tap_header->arfcn = d_arfcn; tap_header->signal_dbm = 0; tap_header->snr_db = 0; diff --git a/lib/qa_utils/burst_source_impl.h b/lib/qa_utils/burst_source_impl.h index cc7d9b4..bbcfd98 100644 --- a/lib/qa_utils/burst_source_impl.h +++ b/lib/qa_utils/burst_source_impl.h @@ -40,6 +40,7 @@ std::vector d_timeslots; std::vector d_burst_data; bool d_finished; + uint16_t d_arfcn; void run(); public: burst_source_impl(const std::vector &framenumbers, @@ -49,6 +50,7 @@ virtual void set_framenumbers(const std::vector &framenumbers); virtual void set_timeslots(const std::vector ×lots); virtual void set_burst_data(const std::vector &burst_data); + virtual void set_arfcn(uint16_t arfcn); bool start(); bool stop(); bool finished(); diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 21f2507..97cb0a3 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -45,7 +45,7 @@ include(GrTest) set(GR_TEST_TARGET_DEPS gr-gsm) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils) +set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig:${CMAKE_BINARY_DIR}/python/misc_utils:${CMAKE_BINARY_DIR}/python/receiver:${CMAKE_BINARY_DIR}/python/demapping:${CMAKE_BINARY_DIR}/python/transmitter) GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py) GR_ADD_TEST(qa_burst_printer ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_printer.py) @@ -61,6 +61,9 @@ GR_ADD_TEST(qa_tch_h_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_decoder.py) GR_ADD_TEST(qa_tch_f_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_chans_demapper.py) GR_ADD_TEST(qa_tch_h_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_chans_demapper.py) +GR_ADD_TEST(qa_gsm_bcch_ccch_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm_bcch_ccch_demapper.py) +GR_ADD_TEST(qa_gsm_bcch_ccch_sdcch4_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm_bcch_ccch_sdcch4_demapper.py) +GR_ADD_TEST(qa_gsm_sdcch8_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_gsm_sdcch8_demapper.py) #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py) #GR_ADD_TEST(qa_controlled_fractional_resampler_cc ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_controlled_fractional_resampler_cc.py) #GR_ADD_TEST(qa_uplink_downlink_splitter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_uplink_downlink_splitter.py) diff --git a/python/qa_gsm_bcch_ccch_demapper.py b/python/qa_gsm_bcch_ccch_demapper.py new file mode 100644 index 0000000..a57bc6b --- /dev/null +++ b/python/qa_gsm_bcch_ccch_demapper.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# @file +# @author (C) 2019 by Vasil Velichkov +# @section LICENSE +# +# Gr-gsm is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Gr-gsm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with gr-gsm; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +# + +import unittest +import numpy as np +from gnuradio import gr, gr_unittest, blocks +import grgsm +import pmt +import qa_gsm_demapper_data as test_data + +class qa_gsm_bcch_ccch_demapper (gr_unittest.TestCase): + + def setUp (self): + self.tb = gr.top_block () + self.maxDiff = None + + def tearDown (self): + self.tb = None + + def test_downlink (self): + """ + BCCH_CCCH demapper downlink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0); # downlink + demapper = grgsm.gsm_bcch_ccch_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual([ + b[ 2], b[ 3], b[ 4], b[ 5], #BCCH + b[ 6], b[ 7], b[ 8], b[ 9], #CCCH skip 10-11 + b[ 12], b[ 13], b[ 14], b[ 15], + b[ 16], b[ 17], b[ 18], b[ 19], #skip 20-21 + b[ 22], b[ 23], b[ 24], b[ 25], + b[ 26], b[ 27], b[ 28], b[ 29], #skip 30-31 + b[ 32], b[ 33], b[ 34], b[ 35], + b[ 36], b[ 37], b[ 38], b[ 39], #skip 40-41 + b[ 42], b[ 43], b[ 44], b[ 45], + b[ 46], b[ 47], b[ 48], b[ 49], #skip 50-52 + b[ 53], b[ 54], b[ 55], b[ 56], #BCCH + b[ 57], b[ 58], b[ 59], b[ 60], #CCCH skip 61-62 + b[ 63], b[ 64], b[ 65], b[ 66], + b[ 67], b[ 68], b[ 69], b[ 70], #skip 71-72 + b[ 73], b[ 74], b[ 75], b[ 76], + b[ 77], b[ 78], b[ 79], b[ 80], #skip 81-82 + b[ 83], b[ 84], b[ 85], b[ 86], + b[ 87], b[ 88], b[ 89], b[ 90], #skip 91-92 + b[ 93], b[ 94], b[ 95], b[ 96], + b[ 97], b[ 98], b[ 99], b[100], #skip 101-103 + b[104], b[105], b[106], b[107] #BCCH + ], list(dst.get_burst_data())) + + self.assertEqual([ + 1, 1, 1, 1, #BCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 1, 1, 1, 1, #BCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 2, 2, 2, 2, + 1, 1, 1, 1, #BCCH + ], list(dst.get_sub_types())) + + self.assertEqual([ + 0, 0, 0, 0, #BCCH + 0, 0, 0, 0, #CCCH 0 + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 8, 8, 8, 8, #CCCH 8 + 0, 0, 0, 0, #BCCH + 0, 0, 0, 0, #CCCH 0 + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 8, 8, 8, 8, #CCCH 8 + 0, 0, 0, 0, #BCCH + ], list(dst.get_sub_slots())) + + @unittest.expectedFailure + def test_uplink (self): + """ + BCCH_CCCH demapper uplink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0x2240); #uplink flag is 40 + demapper = grgsm.gsm_bcch_ccch_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual(b, list(dst.get_burst_data())) + self.assertEqual([3]*len(b), list(dst.get_sub_types())) + self.assertEqual([0]*len(b), list(dst.get_sub_slots())) + +if __name__ == '__main__': + gr_unittest.run(qa_gsm_bcch_ccch_demapper, "qa_gsm_bcch_ccch_demapper.xml") diff --git a/python/qa_gsm_bcch_ccch_sdcch4_demapper.py b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py new file mode 100644 index 0000000..c71a2e1 --- /dev/null +++ b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py @@ -0,0 +1,211 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# @file +# @author (C) 2019 by Vasil Velichkov +# @section LICENSE +# +# Gr-gsm is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Gr-gsm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with gr-gsm; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +# + +import unittest +import numpy as np +from gnuradio import gr, gr_unittest, blocks +import grgsm +import pmt +import qa_gsm_demapper_data as test_data + +class qa_bcch_ccch_sdcch4_demapper (gr_unittest.TestCase): + + def setUp (self): + self.tb = gr.top_block () + self.maxDiff = None + + def tearDown (self): + self.tb = None + + @unittest.expectedFailure + def test_downlink (self): + """ + BCCH_CCCH_SDCCH4 demapper downlink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0); # downlink + demapper = grgsm.gsm_bcch_ccch_sdcch4_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual([ + b[ 2], b[ 3], b[ 4], b[ 5], #BCCH + b[ 6], b[ 7], b[ 8], b[ 9], #CCCH skip 2 + b[ 12], b[ 13], b[ 14], b[ 15], #CCCH + b[ 16], b[ 17], b[ 18], b[ 19], #CCCH skip 2 + b[ 22], b[ 23], b[ 24], b[ 25], #SDCCH 0 + b[ 26], b[ 27], b[ 28], b[ 29], #SDCCH 1 skip 2 + b[ 32], b[ 33], b[ 34], b[ 35], #SDCCH 2 + b[ 36], b[ 37], b[ 38], b[ 39], #SDCCH 3 skip 2 + b[ 42], b[ 43], b[ 44], b[ 45], #SACCH 0 + b[ 46], b[ 47], b[ 48], b[ 49], #SACCH 1 skip 3 + b[ 53], b[ 54], b[ 55], b[ 56], #BCCH + b[ 57], b[ 58], b[ 59], b[ 60], #CCCH skip 2 + b[ 63], b[ 64], b[ 65], b[ 66], #CCCH + b[ 67], b[ 68], b[ 69], b[ 70], #CCCH skip 2 + b[ 73], b[ 74], b[ 75], b[ 76], #SDCCH 0 + b[ 77], b[ 78], b[ 79], b[ 80], #SDCCH 1 skip 2 + b[ 83], b[ 84], b[ 85], b[ 86], #SDCCH 2 + b[ 87], b[ 88], b[ 89], b[ 90], #SDCCH 3 skip 2 + b[ 93], b[ 94], b[ 95], b[ 96], #SACCH 1 + b[ 97], b[ 98], b[ 99], b[100], #SACCH 2 skip 3 + b[104], b[105], b[106], b[107] #BCCH + ], list(dst.get_burst_data())) + + self.assertEqual([ + 1, 1, 1, 1, #BCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, #CCCH + 7, 7, 7, 7, #SDCCH 0 + 7, 7, 7, 7, #SDCCH 1 + 7, 7, 7, 7, #SDCCH 2 + 7, 7, 7, 7, #SDCCH 3 + 135, 135, 135, 135, #SACCH 0 + 135, 135, 135, 135, #SACCH 1 + 1, 1, 1, 1, #BCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, #CCCH + 2, 2, 2, 2, #CCCH + 7, 7, 7, 7, #SDCCH 0 + 7, 7, 7, 7, #SDCCH 1 + 7, 7, 7, 7, #SDCCH 2 + 7, 7, 7, 7, #SDCCH 3 + 135, 135, 135, 135, #SACCH 2 + 135, 135, 135, 135, #SACCH 3 + 1, 1, 1, 1, #BCCH + ], list(dst.get_sub_types())) + + self.assertEqual([ + 0, 0, 0, 0, #BCCH + 0, 0, 0, 0, #CCCH + 1, 1, 1, 1, #CCCH + 2, 2, 2, 2, #CCCH + 0, 0, 0, 0, #SDCCH 0 + 1, 1, 1, 1, #SDCCH 1 + 2, 2, 2, 2, #SDCCH 2 + 3, 3, 3, 3, #SDCCH 3 + 0, 0, 0, 0, #SACCH 0 + 1, 1, 1, 1, #SACCH 1 + 0, 0, 0, 0, #BCCH + 0, 0, 0, 0, #CCCH + 1, 1, 1, 1, #CCCH + 2, 2, 2, 2, #CCCH + 0, 0, 0, 0, #SDCCH 0 + 1, 1, 1, 1, #SDCCH 1 + 2, 2, 2, 2, #SDCCH 2 + 3, 3, 3, 3, #SDCCH 3 + 2, 2, 2, 2, #SACCH 2 + 3, 3, 3, 3, #SACCH 3 + 0, 0, 0, 0, #BCCH + ], list(dst.get_sub_slots())) + + @unittest.expectedFailure + def test_uplink (self): + """ + BCCH_CCCH_SDCCH4 demapper uplink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0x2240); #uplink flag is 40 + demapper = grgsm.gsm_bcch_ccch_sdcch4_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual(b, list(dst.get_burst_data())) + + self.assertEqual([ + 7, 7, 7, 7, #SDCCH 3 + 3, 3, #RACCH + 135, 135, 135, 135, #SACCH 2 + 135, 135, 135, 135, #SACCH 3 + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, #RACCH + 7, 7, 7, 7, #SDCCH 0 + 7, 7, 7, 7, #SDCCH 1 + 3, 3, #RACCH + 7, 7, 7, 7, #SDCCH 2 + 7, 7, 7, 7, #SDCCH 3 + 3, 3, #RACCH + 135, 135, 135, 135, #SACCH 0 + 135, 135, 135, 135, #SACCH 1 + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, 3, #RACCH + 3, 3, 3, #RACCH + 7, 7, 7, 7, #SDCCH 0 + 7, 7, 7, 7, #SDCCH 1 + 3, 3, #RACCH + 7, 7, 7, 7, #SDCCH 2 + 7, 7, 7, 7, #SDCCH 3 + 3, 3, #RACCH + ], list(dst.get_sub_types())) + + self.assertEqual([ + 3, 3, 3, 3, #SDCCH 3 + 0, 0, #RACCH + 2, 2, 2, 2, #SACCH 2 + 3, 3, 3, 3, #SACCH 3 + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, #RACCH + 0, 0, 0, 0, #SDCCH 0 + 1, 1, 1, 1, #SDCCH 1 + 0, 0, #RACCH + 2, 2, 2, 2, #SDCCH 2 + 3, 3, 3, 3, #SDCCH 3 + 0, 0, #RACCH + 0, 0, 0, 0, #SACCH 0 + 1, 1, 1, 1, #SACCH 1 + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, 0, #RACCH + 0, 0, 0, #RACCH + 0, 0, 0, 0, #SDCCH 0 + 1, 1, 1, 1, #SDCCH 1 + 0, 0, #RACCH + 2, 2, 2, 2, #SDCCH 2 + 3, 3, 3, 3, #SDCCH 3 + 0, 0, #RACCH + ], list(dst.get_sub_slots())) + +if __name__ == '__main__': + gr_unittest.run(qa_bcch_ccch_sdcch4_demapper, "qa_bcch_ccch_sdcch4_demapper.xml") diff --git a/python/qa_gsm_demapper_data.py b/python/qa_gsm_demapper_data.py new file mode 100644 index 0000000..7554af5 --- /dev/null +++ b/python/qa_gsm_demapper_data.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# @file +# @author (C) 2019 by Vasil Velichkov +# @section LICENSE +# +# Gr-gsm is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Gr-gsm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with gr-gsm; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +# + +bursts = [format((2**(i+1))-1, '0<148b') for i in range(0,108)] +frames = range(0, 108) +timeslots = [0] * len(frames) diff --git a/python/qa_gsm_sdcch8_demapper.py b/python/qa_gsm_sdcch8_demapper.py new file mode 100644 index 0000000..83d745c --- /dev/null +++ b/python/qa_gsm_sdcch8_demapper.py @@ -0,0 +1,239 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# @file +# @author (C) 2019 by Vasil Velichkov +# @section LICENSE +# +# Gr-gsm is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Gr-gsm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with gr-gsm; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +# + +import unittest +import numpy as np +from gnuradio import gr, gr_unittest, blocks +import grgsm +import pmt +import qa_gsm_demapper_data as test_data + +class qa_gsm_sdcch8_demapper (gr_unittest.TestCase): + + def setUp (self): + self.tb = gr.top_block () + self.maxDiff = None + + def tearDown (self): + self.tb = None + + @unittest.expectedFailure + def test_downlink (self): + """ + SDCCH8 demapper downlink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0); # downlink + demapper = grgsm.gsm_sdcch8_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual([ + b[ 0], b[ 1], b[ 2], b[ 3], #SDCCH 0 + b[ 4], b[ 5], b[ 6], b[ 7], #SDCCH 1 + b[ 8], b[ 9], b[ 10], b[ 11], #SDCCH 2 + b[ 12], b[ 13], b[ 14], b[ 15], #SDCCH 3 + b[ 16], b[ 17], b[ 18], b[ 19], #SDCCH 4 + b[ 20], b[ 21], b[ 22], b[ 23], #SDCCH 5 + b[ 24], b[ 25], b[ 26], b[ 27], #SDCCH 6 + b[ 28], b[ 29], b[ 30], b[ 31], #SDCCH 7 + b[ 32], b[ 33], b[ 34], b[ 35], #SACCH 0 + b[ 36], b[ 37], b[ 38], b[ 39], #SACCH 1 + b[ 40], b[ 41], b[ 42], b[ 43], #SACCH 2 + b[ 44], b[ 45], b[ 46], b[ 47], #SACCH 3 #skip 48-50 + b[ 51], b[ 52], b[ 53], b[ 54], #SDCCH 0 + b[ 55], b[ 56], b[ 57], b[ 58], #SDCCH 1 + b[ 59], b[ 60], b[ 61], b[ 62], #SDCCH 2 + b[ 63], b[ 64], b[ 65], b[ 66], #SDCCH 3 + b[ 67], b[ 68], b[ 69], b[ 70], #SDCCH 4 + b[ 71], b[ 72], b[ 73], b[ 74], #SDCCH 5 + b[ 75], b[ 76], b[ 77], b[ 78], #SDCCH 6 + b[ 79], b[ 80], b[ 81], b[ 82], #SDCCH 7 + b[ 83], b[ 84], b[ 85], b[ 86], #SACCH 4 + b[ 87], b[ 88], b[ 89], b[ 90], #SACCH 5 + b[ 91], b[ 92], b[ 93], b[ 94], #SACCH 6 + b[ 95], b[ 96], b[ 97], b[ 98], #SACCH 7 #skip 99-101 + b[102], b[103], b[104], b[105], #SDCCH + ], list(dst.get_burst_data())) + + self.assertEqual([ + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 8, 8, 8, 8, + ], list(dst.get_sub_types())) + + self.assertEqual([ + 0, 0, 0, 0, + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 0, 0, 0, 0, #SACCH 0 + 1, 1, 1, 1, #SACCH 1 + 2, 2, 2, 2, #SACCH 2 + 3, 3, 3, 3, #SACCH 3 + 0, 0, 0, 0, + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 4, 4, 4, 4, #SACCH 4 + 5, 5, 5, 5, #SACCH 5 + 6, 6, 6, 6, #SACCH 6 + 7, 7, 7, 7, #SACCH 7 + 0, 0, 0, 0, + ], list(dst.get_sub_slots())) + + @unittest.expectedFailure + def test_uplink (self): + """ + BCCH_CCCH_SDCCH4 demapper uplink test + """ + src = grgsm.burst_source(test_data.frames, test_data.timeslots, test_data.bursts) + src.set_arfcn(0x2240); #uplink flag is 40 + demapper = grgsm.gsm_sdcch8_demapper(timeslot_nr=0) + dst = grgsm.burst_sink() + + self.tb.msg_connect(src, "out", demapper, "bursts") + self.tb.msg_connect(demapper, "bursts", dst, "in") + self.tb.run () + + b = test_data.bursts + self.assertEqual([ + b[ 0], b[ 1], b[ 2], b[ 3], #SACCH 5 + b[ 4], b[ 5], b[ 6], b[ 7], #SACCH 6 + b[ 8], b[ 9], b[ 10], b[ 11], #SACCH 7 #skip 12-14 + b[ 15], b[ 16], b[ 17], b[ 18], #SDCCH 0 + b[ 19], b[ 20], b[ 21], b[ 22], #SDCCH 1 + b[ 23], b[ 24], b[ 25], b[ 26], #SDCCH 2 + b[ 27], b[ 28], b[ 29], b[ 30], #SDCCH 3 + b[ 31], b[ 32], b[ 33], b[ 34], #SDCCH 4 + b[ 35], b[ 36], b[ 37], b[ 38], #SDCCH 5 + b[ 39], b[ 40], b[ 41], b[ 42], #SDCCH 6 + b[ 43], b[ 44], b[ 45], b[ 46], #SDCCH 7 + b[ 47], b[ 48], b[ 49], b[ 50], #SACCH 0 + b[ 51], b[ 52], b[ 53], b[ 54], #SACCH 1 + b[ 55], b[ 56], b[ 57], b[ 58], #SACCH 2 + b[ 59], b[ 60], b[ 61], b[ 62], #SACCH 3 #skip 63-65 + b[ 66], b[ 67], b[ 68], b[ 69], #SDCCH 0 + b[ 70], b[ 71], b[ 72], b[ 73], #SDCCH 1 + b[ 74], b[ 75], b[ 76], b[ 77], #SDCCH 2 + b[ 78], b[ 79], b[ 80], b[ 81], #SDCCH 3 + b[ 82], b[ 83], b[ 84], b[ 85], #SDCCH 4 + b[ 86], b[ 87], b[ 88], b[ 89], #SDCCH 5 + b[ 90], b[ 91], b[ 92], b[ 93], #SDCCH 6 + b[ 94], b[ 95], b[ 96], b[ 97], #SDCCH 7 + b[ 98], b[ 99], b[100], b[101], #SACCH 4 + b[102], b[103], b[104], b[105], #SACCH 5 + ], list(dst.get_burst_data())) + + self.assertEqual([ + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 136, 136, 136, 136, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 8, 8, 8, 8, + 136, 136, 136, 136, + 136, 136, 136, 136, + ], list(dst.get_sub_types())) + + self.assertEqual([ + 5, 5, 5, 5, #SACCH 5 + 6, 6, 6, 6, #SACCH 6 + 7, 7, 7, 7, #SACCH 7 + 0, 0, 0, 0, + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 0, 0, 0, 0, #SACCH 0 + 1, 1, 1, 1, #SACCH 1 + 2, 2, 2, 2, #SACCH 2 + 3, 3, 3, 3, #SACCH 3 + 0, 0, 0, 0, + 1, 1, 1, 1, + 2, 2, 2, 2, + 3, 3, 3, 3, + 4, 4, 4, 4, + 5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 4, 4, 4, 4, #SACCH 4 + 5, 5, 5, 5, + ], list(dst.get_sub_slots())) + +if __name__ == '__main__': + gr_unittest.run(qa_gsm_sdcch8_demapper, "qa_gsm_sdcch8_demapper.xml") -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I33b0948832a0c2506bffd389cc134c3236c74d27 Gerrit-Change-Number: 14945 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:23:51 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:23:51 +0000 Subject: Change in ...gr-gsm[master]: Fix sub_slot assignment in the universal_ctrl_chans_demapper block In-Reply-To: References: Message-ID: ptrkrysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/gr-gsm/+/14946 ) Change subject: Fix sub_slot assignment in the universal_ctrl_chans_demapper block ...................................................................... Fix sub_slot assignment in the universal_ctrl_chans_demapper block 3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Fixes the following tests: qa_gsm_bcch_ccch_sdcch4_demapper.test_downlink qa_gsm_sdcch8_demapper.test_downlink Change-Id: Idc63407694fd1f7be962ab630d4e8c13b4a5d348 --- M lib/demapping/universal_ctrl_chans_demapper_impl.cc M python/qa_gsm_bcch_ccch_sdcch4_demapper.py M python/qa_gsm_sdcch8_demapper.py 3 files changed, 1 insertion(+), 3 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc index 98bcc9c..a6ab956 100644 --- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc +++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc @@ -140,7 +140,7 @@ { new_header->sub_type = ch_type; } - new_header->sub_slot = subslots[fn_mod51 + (51 * (frame_nr % 2))]; + new_header->sub_slot = subslots[fn_mod102]; if(fn_mod51>=fn51_start && fn_mod51<=fn51_stop) { diff --git a/python/qa_gsm_bcch_ccch_sdcch4_demapper.py b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py index c71a2e1..76f8ecc 100644 --- a/python/qa_gsm_bcch_ccch_sdcch4_demapper.py +++ b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py @@ -37,7 +37,6 @@ def tearDown (self): self.tb = None - @unittest.expectedFailure def test_downlink (self): """ BCCH_CCCH_SDCCH4 demapper downlink test diff --git a/python/qa_gsm_sdcch8_demapper.py b/python/qa_gsm_sdcch8_demapper.py index 83d745c..21841a7 100644 --- a/python/qa_gsm_sdcch8_demapper.py +++ b/python/qa_gsm_sdcch8_demapper.py @@ -37,7 +37,6 @@ def tearDown (self): self.tb = None - @unittest.expectedFailure def test_downlink (self): """ SDCCH8 demapper downlink test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Idc63407694fd1f7be962ab630d4e8c13b4a5d348 Gerrit-Change-Number: 14946 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:23:52 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:23:52 +0000 Subject: Change in ...gr-gsm[master]: Fix uplink sub_slot assignment in the sdcch8 demapper block In-Reply-To: References: Message-ID: ptrkrysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/gr-gsm/+/14947 ) Change subject: Fix uplink sub_slot assignment in the sdcch8 demapper block ...................................................................... Fix uplink sub_slot assignment in the sdcch8 demapper block 3GPP TS 45.002 version 15.1.0 Release 15 Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Fixes qa_gsm_sdcch8_demapper.test_uplink test Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab --- M hier_blocks/demapping/gsm_sdcch8_demapper.grc M python/demapping/gsm_sdcch8_demapper.py M python/qa_gsm_sdcch8_demapper.py 3 files changed, 148 insertions(+), 3 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified laforge: Looks good to me, but someone else must approve diff --git a/hier_blocks/demapping/gsm_sdcch8_demapper.grc b/hier_blocks/demapping/gsm_sdcch8_demapper.grc index d9496cb..8a1f509 100644 --- a/hier_blocks/demapping/gsm_sdcch8_demapper.grc +++ b/hier_blocks/demapping/gsm_sdcch8_demapper.grc @@ -145,7 +145,7 @@ uplink_subslots - [1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4] + [5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4] diff --git a/python/demapping/gsm_sdcch8_demapper.py b/python/demapping/gsm_sdcch8_demapper.py index 3d3a5a0..b412594 100644 --- a/python/demapping/gsm_sdcch8_demapper.py +++ b/python/demapping/gsm_sdcch8_demapper.py @@ -51,7 +51,153 @@ ################################################## # Blocks ################################################## - self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,0,0,4,4,4,4,8,8,8,8,12,12,12,12,16,16,16,16,20,20,20,20,24,24,24,24,28,28,28,28,32,32,32,32,36,36,36,36,40,40,40,40,44,44,44,44,0,0,0]), ([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0]), ([0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0]), ([0,0,0,0,4,4,4,4,8,8,8,8,0,0,0,15,15,15,15,19,19,19,19,23,23,23,23,27,27,27,27,31,31,31,31,35,35,35,35,39,39,39,39,43,43,43,43,47,47,47,47]), ([136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136]), ([1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4])) + + # 3GPP TS 45.002 version 15.1.0 Release 15 + # Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) + # SDCCH/8 0 D 0 ... 7 C0 ... Cn NB1 51 B (0 ... 3) + # U B (15 ... 18) + # 1 D B (4 ... 7) + # U B (19 ... 22) + # 2 D B (8 ... 11) + # U B (23 ... 26) + # 3 D B (12 ... 15) + # U B (27 ... 30) + # 4 D B (16 ... 19) + # U B (31 ... 34) + # 5 D B (20 ... 23) + # U B (35 ... 38) + # 6 D B (24 ... 27) + # U B (39 ... 42) + # 7 D B (28 ... 31) + # U B (43 ... 46) + # SACCH/C8 0 D 0 ... 7 C0 ... Cn NB3 102 B (32 ... 35) + # U B (47 ... 50) + # 1 D B (36 ... 39) + # U B (51 ... 54) + # 2 D B (40 ... 43) + # U B (55 ... 58) + # 3 D B (44 ... 47) + # U B (59 ... 62) + # 4 D B (83 ... 86) + # U B (98 ... 101) + # 5 D B (87 ... 90) + # U B (0 ... 3) + # 6 D B (91 ... 94) + # U B (4 ... 7) + # 7 D B (95 ... 98) + # U B (8 ... 11) + self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper( + timeslot_nr, ([ #downlink + 0,0,0,0, + 4,4,4,4, + 8,8,8,8, + 12,12,12,12, + 16,16,16,16, + 20,20,20,20, + 24,24,24,24, + 28,28,28,28, + 32,32,32,32, + 36,36,36,36, + 40,40,40,40, + 44,44,44,44, + 0,0,0 + ]), ([ + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 136,136,136,136, + 136,136,136,136, + 136,136,136,136, + 136,136,136,136, + 0,0,0 + ]), ([ + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 4,4,4,4, + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 0,0,0,0, + 0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 4,4,4,4, + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 4,4,4,4, + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 0,0,0 + ]), ([ #uplink + 0,0,0,0, + 4,4,4,4, + 8,8,8,8, + 0,0,0, + 15,15,15,15, + 19,19,19,19, + 23,23,23,23, + 27,27,27,27, + 31,31,31,31, + 35,35,35,35, + 39,39,39,39, + 43,43,43,43, + 47,47,47,47 + ]), ([ + 136,136,136,136, + 136,136,136,136, + 136,136,136,136, + 0,0,0, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 8,8,8,8, + 136,136,136,136 + ]), ([ + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 0,0,0, + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 4,4,4,4, + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 0,0,0, + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 3,3,3,3, + 4,4,4,4, + 5,5,5,5, + 6,6,6,6, + 7,7,7,7, + 4,4,4,4 + ])) ################################################## # Connections diff --git a/python/qa_gsm_sdcch8_demapper.py b/python/qa_gsm_sdcch8_demapper.py index 21841a7..cc05267 100644 --- a/python/qa_gsm_sdcch8_demapper.py +++ b/python/qa_gsm_sdcch8_demapper.py @@ -135,7 +135,6 @@ 0, 0, 0, 0, ], list(dst.get_sub_slots())) - @unittest.expectedFailure def test_uplink (self): """ BCCH_CCCH_SDCCH4 demapper uplink test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab Gerrit-Change-Number: 14947 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 07:23:53 2019 From: gerrit-no-reply at lists.osmocom.org (ptrkrysik) Date: Wed, 4 Sep 2019 07:23:53 +0000 Subject: Change in ...gr-gsm[master]: Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_c... In-Reply-To: References: Message-ID: ptrkrysik has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/gr-gsm/+/14948 ) Change subject: Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_ccch demappers blocks ...................................................................... Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_ccch demappers blocks Add support for RACH bursts although they are not yet supported in the receiver and control channel decoder blocks. 3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH Fixes the following tests: qa_gsm_bcch_ccch_demapper.test_uplink qa_gsm_bcch_ccch_sdcch4_demapper.test_uplink Change-Id: Ia6b3070c1085bcdda6d98fd94a89c6e0982e2aec --- M hier_blocks/demapping/gsm_bcch_ccch_demapper.grc M hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc M lib/demapping/universal_ctrl_chans_demapper_impl.cc M python/demapping/gsm_bcch_ccch_demapper.py M python/demapping/gsm_bcch_ccch_sdcch4_demapper.py M python/qa_gsm_bcch_ccch_demapper.py M python/qa_gsm_bcch_ccch_sdcch4_demapper.py 7 files changed, 300 insertions(+), 14 deletions(-) Approvals: ptrkrysik: Looks good to me, approved; Verified laforge: Looks good to me, but someone else must approve diff --git a/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc b/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc index 79033ef..5f751b1 100644 --- a/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc +++ b/hier_blocks/demapping/gsm_bcch_ccch_demapper.grc @@ -137,15 +137,15 @@ uplink_channel_types - [2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,] + [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,] uplink_starts_fn_mod51 - [0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47] + [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,] uplink_subslots - [0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,0,0,0,0,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3] + [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] diff --git a/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc b/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc index 9d722ba..235feb2 100644 --- a/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc +++ b/hier_blocks/demapping/gsm_bcch_ccch_sdcch4_demapper.grc @@ -137,15 +137,15 @@ uplink_channel_types - [7,7,7,7,0,0,135,135,135,135,135,135,135,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,7,7,7,7] + [7,7,7,7,3,3,135,135,135,135,135,135,135,135,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,3,3,7,7,7,7] uplink_starts_fn_mod51 - [0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47] + [0,0,0,0,4,5,6,6,6,6,10,10,10,10,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,37,37,37,41,41,41,41,45,46,47,47,47,47,] uplink_subslots - [0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,0,0,0,0,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3] + [3,3,3,3,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,] diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc index a6ab956..94e8648 100644 --- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc +++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc @@ -128,9 +128,6 @@ frame_numbers = d_downlink_frame_numbers; bursts = d_downlink_bursts; } - - uint32_t fn51_start = starts_fn_mod51[fn_mod51]; - uint32_t fn51_stop = fn51_start + 3; //set type new_header->type = GSMTAP_TYPE_UM; @@ -141,7 +138,16 @@ new_header->sub_type = ch_type; } new_header->sub_slot = subslots[fn_mod102]; - + + if (ch_type == GSMTAP_CHANNEL_RACH) + { + message_port_pub(pmt::mp("bursts"), burst_out); + return; + } + + uint32_t fn51_start = starts_fn_mod51[fn_mod51]; + uint32_t fn51_stop = fn51_start + 3; + if(fn_mod51>=fn51_start && fn_mod51<=fn51_stop) { uint32_t ii = fn_mod51 - fn51_start; diff --git a/python/demapping/gsm_bcch_ccch_demapper.py b/python/demapping/gsm_bcch_ccch_demapper.py index 5bafba7..e036831 100644 --- a/python/demapping/gsm_bcch_ccch_demapper.py +++ b/python/demapping/gsm_bcch_ccch_demapper.py @@ -51,7 +51,135 @@ ################################################## # Blocks ################################################## - self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,]), ([0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,]), ([0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,4,4,4,4,0,0,5,5,5,5,6,6,6,6,0,0,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,4,4,4,4,0,0,5,5,5,5,6,6,6,6,0,0,7,7,7,7,8,8,8,8,0]), ([0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47]), ([2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,2,2,2,2,]), ([0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,0,0,0,0,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3])) + + # 3GPP TS 45.002 version 15.1.0 Release 15 + # Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) + # BCCH Norm D 0,2,4,6 C0 NB 51 B(2..5) + # RACH U 0,2,4,6 C0 AB, Extended AB2 51 B0(0),B1(1)..B50(50) + # Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH + self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper( + timeslot_nr, ([ #downlink + 0,0, + 2,2,2,2, + 6,6,6,6, + 0,0, + 12,12,12,12, + 16,16,16,16, + 0,0, + 22,22,22,22, + 26,26,26,26, + 0,0, + 32,32,32,32, + 36,36,36,36, + 0,0, + 42,42,42,42, + 46,46,46,46, + 0, + ]), ([ + 0,0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 2,2,2,2, + 2,2,2,2, + 0,0, + 2,2,2,2, + 2,2,2,2, + 0,0, + 2,2,2,2, + 2,2,2,2, + 0,0, + 2,2,2,2, + 2,2,2,2, + 0, + ]), ([ + 0,0, + 0,0,0,0, + 0,0,0,0, + 0,0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 3,3,3,3, + 4,4,4,4, + 0,0, + 5,5,5,5, + 6,6,6,6, + 0,0, + 7,7,7,7, + 8,8,8,8, + 0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 3,3,3,3, + 4,4,4,4, + 0,0, + 5,5,5,5, + 6,6,6,6, + 0,0, + 7,7,7,7, + 8,8,8,8, + 0, + ]), ([ #uplink + 0,1,2,3, + 4,5,6,7, + 8,9,10,11, + 12,13,14,15, + 16,17,18,19, + 20,21,22,23, + 24,25,26,27, + 28,29,30,31, + 32,33,34,35, + 36,37,38,39, + 40,41,42,43, + 44,45,46,47, + 48,49,50, + ]), ([ + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3, + ]), ([ + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0, + ])) ################################################## # Connections diff --git a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py index 7b6a04d..bff67a4 100644 --- a/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py +++ b/python/demapping/gsm_bcch_ccch_sdcch4_demapper.py @@ -51,7 +51,161 @@ ################################################## # Blocks ################################################## - self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0]), ([0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,7,7,7,7,7,7,7,7,0,0,7,7,7,7,7,7,7,7,0,0,135,135,135,135,135,135,135,135,0]), ([0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,3,3,3,3,0,0,2,2,2,2,3,3,3,3,0]), ([0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47]), ([7,7,7,7,0,0,135,135,135,135,135,135,135,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,7,7,7,7]), ([0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,0,0,0,0,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3])) + + # 3GPP TS 45.002 version 15.1.0 Release 15 + # Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) + # + # BCCH Norm D 0,2,4,6 C0 NB 51 B(2..5) + # SDCCH/4 0 D 0 C0 NB1 51 B(22..25) + # U B(37..40) + # 1 D B(26..29) + # U B(41..44) + # 2 D B(32..35) + # U B(47..50) + # 3 D B(36..39) + # U B(0..3) + # SACCH/C4 0 D 0 C0 NB3 102 B(42..45) + # U B(57..60) + # 1 D B(46..49) + # U B(61..64) + # 2 D B(93..96) + # U B(6..9) + # 3 D B(97..100) + # U B(10..13) + # + # Figure 8b: TDMA frame mapping for FCCH + SCH + BCCH + CCCH + SDCCH/4(0...3) + SACCH/4(0...3) + # + self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper( + timeslot_nr, ([ #downlink + 0,0, + 2,2,2,2, + 6,6,6,6, + 0,0, + 12,12,12,12, + 16,16,16,16, + 0,0, + 22,22,22,22, + 26,26,26,26, + 0,0, + 32,32,32,32, + 36,36,36,36, + 0,0, + 42,42,42,42, + 46,46,46,46, + 0, + ]), ([ + 0,0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 2,2,2,2, + 2,2,2,2, + 0,0, + 7,7,7,7, + 7,7,7,7, + 0,0, + 7,7,7,7, + 7,7,7,7, + 0,0, + 135,135,135,135, + 135,135,135,135, + 0, + ]), ([ + 0,0, + 0,0,0,0, + 0,0,0,0, + 0,0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 0,0,0,0, + 1,1,1,1, + 0,0, + 2,2,2,2, + 3,3,3,3, + 0,0, + 0,0,0,0, + 1,1,1,1, + 0,0, + 0,0,0,0, + 0,0,0,0, + 0,0, + 0, + 1,1,1,1, + 2,2,2,2, + 0,0, + 0,0,0,0, + 1,1,1,1, + 0,0, + 2,2,2,2, + 3,3,3,3, + 0,0, + 2,2,2,2, + 3,3,3,3, + 0, + ]), ([ #uplink + 0,0,0,0, + 4,5, + 6,6,6,6, + 10,10,10,10, + 14,15,16,17, + 18,19,20,21, + 22,23,24,25, + 26,27,28,29, + 30,31,32,33, + 34,35,36, + 37,37,37,37, + 41,41,41,41, + 45,46, + 47,47,47,47, + ]), ([ + 7,7,7,7, + 3,3, + 135,135,135,135, + 135,135,135,135, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3,3,3, + 3,3, + 3, + 7,7,7,7, + 7,7,7,7, + 3,3, + 7,7,7,7, + ]), ([ + 3,3,3,3, + 0,0, + 2,2,2,2, + 3,3,3,3, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0, + 0, + 0,0,0,0, + 1,1,1,1, + 0,0, + 2,2,2,2, + 3,3,3,3, + 0,0, + 0,0,0,0, + 1,1,1,1, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0, + 0, + 0,0,0,0, + 1,1,1,1, + 0,0, + 2,2,2,2, + ])) ################################################## # Connections diff --git a/python/qa_gsm_bcch_ccch_demapper.py b/python/qa_gsm_bcch_ccch_demapper.py index a57bc6b..14e1224 100644 --- a/python/qa_gsm_bcch_ccch_demapper.py +++ b/python/qa_gsm_bcch_ccch_demapper.py @@ -123,7 +123,6 @@ 0, 0, 0, 0, #BCCH ], list(dst.get_sub_slots())) - @unittest.expectedFailure def test_uplink (self): """ BCCH_CCCH demapper uplink test diff --git a/python/qa_gsm_bcch_ccch_sdcch4_demapper.py b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py index 76f8ecc..b57ef22 100644 --- a/python/qa_gsm_bcch_ccch_sdcch4_demapper.py +++ b/python/qa_gsm_bcch_ccch_sdcch4_demapper.py @@ -123,7 +123,6 @@ 0, 0, 0, 0, #BCCH ], list(dst.get_sub_slots())) - @unittest.expectedFailure def test_uplink (self): """ BCCH_CCCH_SDCCH4 demapper uplink test -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/14948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ia6b3070c1085bcdda6d98fd94a89c6e0982e2aec Gerrit-Change-Number: 14948 Gerrit-PatchSet: 2 Gerrit-Owner: vvvelichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: ptrkrysik Gerrit-Reviewer: vvvelichkov Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 09:31:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Sep 2019 09:31:57 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... Patch Set 3: Verified+1 Code-Review+1 > Patch Set 3: > > I refactored the code and split it up into different commits as well. There were quite a few corner cases we weren't handling before, and there should be less now. I have tested it with a CSV file, seems to work fine for me. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 09:31:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 09:49:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Sep 2019 09:49:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "bts: f_init_pcu: sleep before connect" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 Change subject: Revert "bts: f_init_pcu: sleep before connect" ...................................................................... Revert "bts: f_init_pcu: sleep before connect" This reverts commit c089b415f5e3bbf5eb2de435b925581ca42d8872. The additional sleep caused other tests to break, probably because it triggered race conditions: * TC_pcu_socket_connect_multi * TC_pcu_socket_connect_si3gprs * TC_si_sched_13_2bis_2ter_2quater Adjust TC_pcu_socket_verify_info_ind test case error message to mention OS#4179. This test is flapping now, most of the time the BTS sends a CellID 0 because it did not receive the real CellID from the BSC yet. Related: OS#4179 Change-Id: I2115c337f4601a4614b140715323c42803b003ee --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/15401/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 15948a3..2c11ca2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -324,9 +324,6 @@ pcu_conn_id := -1; return; } - - f_sleep(0.5); /* workaround for OS#4179 */ - pcu_conn_id := f_pcuif_connect(pt, mp_pcu_socket); T.start; @@ -4876,7 +4873,9 @@ var uint16_t cell_id_si3 := si3.payload.si3.cell_id; var uint16_t cell_id_pcu := g_pcu_last_info.u.info_ind.cell_id; if (cell_id_si3 != cell_id_pcu) { - setverdict(fail, "Expected cell_id ", cell_id_si3, " got: ", cell_id_pcu); + setverdict(fail, "Expected cell_id '", cell_id_si3, "' and got '", cell_id_pcu, "'. This either means,", + " that the BTS is sending the wrong cell_id, or that the BTS sent it too early", + " (OS#4179)"); } /* Verify LAC */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2115c337f4601a4614b140715323c42803b003ee Gerrit-Change-Number: 15401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:31:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 10:31:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "bts: f_init_pcu: sleep before connect" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 ) Change subject: Revert "bts: f_init_pcu: sleep before connect" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2115c337f4601a4614b140715323c42803b003ee Gerrit-Change-Number: 15401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 10:31:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:41:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Sep 2019 10:41:46 +0000 Subject: Change in ...pysim[master]: Add an option to read the iccid and batch-program the new card data In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15394 ) Change subject: Add an option to read the iccid and batch-program the new card data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib343a29141b5255f67a59ab76959b51e162b7916 Gerrit-Change-Number: 15394 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 04 Sep 2019 10:41:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:44:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:44:31 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15373 ) Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc File doc/manuals/chapters/smscb.adoc: https://gerrit.osmocom.org/#/c/15373/2/doc/manuals/chapters/smscb.adoc at 44 PS2, Line 44: connecting to the CBC. This way the BSCs all need to know the CBC IP > 1- Extra space after dot. [?] 1- I always use double spacing after the end of a sentence. It probably shows that I was using Emaacs in the 1990ies, where this was pretty much default. I still think it's much more readable this way. And it's an easy way to programmatically distinguish the dot as part of an abbreviation (e.g. ...) and the dot at the end of the sentence. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 10:44:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:44:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:44:33 +0000 Subject: Change in ...osmo-bsc[master]: Cell Broadcast: CBSP and CBCH scheduling support In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15373 ) Change subject: Cell Broadcast: CBSP and CBCH scheduling support ...................................................................... Cell Broadcast: CBSP and CBCH scheduling support This adds code to handle CBSP (Cell Broadcast Service Protocol) from the CBC (Cell Broadcast Centre), as well as BSC-internal data structures for scheduling the various SMSCB on the CBCH of each BTS. There are currently one known shortcoming in the code: We don't yet verify if keepalives are received within repetition period. Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 --- A doc/manuals/chapters/smscb.adoc M doc/manuals/osmobsc-usermanual.adoc M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/debug.h M include/osmocom/bsc/gsm_data.h A include/osmocom/bsc/smscb.h M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/cbch_scheduler.c A src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_main.c A src/osmo-bsc/smscb.c M tests/handover/Makefile.am 19 files changed, 1,898 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/smscb.adoc b/doc/manuals/chapters/smscb.adoc new file mode 100644 index 0000000..f7469a3 --- /dev/null +++ b/doc/manuals/chapters/smscb.adoc @@ -0,0 +1,82 @@ +[[smscb]] +== SMSCB (Cell Broadcast) + +OsmoBSC supports SMS Cell Broadcast (SMSCB) services (CBS). This +includes the CBSP protocol to interact with a CBC (Cell Broadcast +Centre) such as OsmoCBC, as well as the scheduling of SMSCB messages on +both the BASIC and EXTENDED CBCH and transmission of related RSL +messages to the attached BTS. + +More high-level information can be found at +https://en.wikipedia.org/wiki/Cell_Broadcast and the related +specification is <<3gpp-ts-23-041>>. + +In order to use SMSCB with OsmoBSC, you will need to + +* Configure the CBSP server and/or client +* Use a channel combination including a CBCH on the BTSs + +=== Enabling a CBCH channel combination + +On the Um interface, SMSCB are transmitted via the CBCH (Cell Broadcast +Channel). The CBCH is a separate downlink-only logical channel which +must be activated on any of the BTSs requiring CBSP support. + +The channel combination is configured in the `timeslot` node of each TRX. + +The two `phys_chan_config` supporting CBCH are `CCCH+SDCCH4+CBCH` and +`SDCCH/8+CBCH`. Please note that the CBCH steals one of the SDCCH, so +a SDCCH/4 will only have three remaining SDCCH, and a SDCCH/8 will +have only seven remaining SDCCH. + +=== Configuring the CBSP connection + +CBSP is the protocol between BSC and CBC. It operates over TCP. + +According to 3GPP TS 48.049, a BSC typically operates as a TCP server, +and the CBC connects as TCP client. This would require the CBC to have +out-of-band knowledge of all the BSCs in the network (and their IP +addresses). + +In order to comply with the specifications, OsmoBSC supports this mode +of operation as CBSP TCP server. However, to make network operation and +configuration more simple, it also can operate in TCP client mode, +connecting to the CBC. This way the all the BSCs need to know is the CBC IP +address, but not vice-versa. + +The BSC can operate both CBSP TCP server and CBSP TCP client mode in +parallel. + +The CBC related configuration of OsmoBSC can be found in the `cbc` configuration +node of the VTY interface. + +.Example: Configure CBSP TCP client to connect to CBC at 1.2.3.4:48049 +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# remote-ip 1.2.3.4 +OsmoBSC(config-cbc)# remote-port 48049 +OsmoBSC(config-cbc)# end +---- + +.Example: Disable CBSP TCP client +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# no remote-ip +OsmoBSC(config-cbc)# end +---- + +.Example: Configure CBSP TCP server to listen for CBC at 127.0.0.2:9999 +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# cbc +OsmoBSC(config-cbc)# listen-ip 127.0.0.2 +OsmoBSC(config-cbc)# listen-port 9999 +OsmoBSC(config-cbc)# end +---- + +For more details on the available configuration commands, please check the OsmoBSC VTY Reference. diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index 766a11f..26f49da 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -24,6 +24,8 @@ include::{srcdir}/chapters/handover.adoc[] +include::{srcdir}/chapters/smscb.adoc[] + include::./common/chapters/counters-overview.adoc[] include::{srcdir}/chapters/counters.adoc[] @@ -34,8 +36,6 @@ include::{srcdir}/chapters/control.adoc[] -include::./common/chapters/cell-broadcast.adoc[] - include::{srcdir}/chapters/osmux_bsc.adoc[] include::./common/chapters/port_numbers.adoc[] diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 85c0cb7..6a3e4fb 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -320,7 +320,7 @@ - + @@ -343,6 +343,7 @@ + @@ -514,6 +515,22 @@ + + + + + + + + + + + + + + + + @@ -971,7 +988,7 @@ - + @@ -994,6 +1011,7 @@ + @@ -1356,6 +1374,16 @@ + + + + + + + + + + @@ -1735,6 +1763,11 @@ + + + + + @@ -1833,7 +1866,7 @@ - + @@ -1856,6 +1889,7 @@ + @@ -4930,4 +4964,43 @@ + + config-cbc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index f44e7fc..396604e 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -55,4 +55,5 @@ gsm_08_08.h \ penalty_timers.h \ osmo_bsc_lcls.h \ + smscb.h \ $(NULL) diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 5612483..b9df4ba 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -150,6 +150,7 @@ /* * Per BSC data. */ +struct bsc_cbc_link; struct osmo_bsc_data { struct gsm_network *network; @@ -167,6 +168,8 @@ char *ussd_no_msc_txt; char *acc_lst_name; + + struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/debug.h b/include/osmocom/bsc/debug.h index 3260121..adc6abb 100644 --- a/include/osmocom/bsc/debug.h +++ b/include/osmocom/bsc/debug.h @@ -27,6 +27,7 @@ DCHAN, DTS, DAS, + DCBS, Debug_LastEntry, }; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d82d1ba..8dfbc64 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -957,6 +958,53 @@ struct gsm_bts *bts; }; +/* A single Page of a SMSCB message */ +struct bts_smscb_page { + /* SMSCB message we're part of */ + struct bts_smscb_message *msg; + /* Page Number within message (1 to 15) */ + uint8_t nr; + /* number of valid blocks in data (up to 4) */ + uint8_t num_blocks; + /* up to four blocks of 22 bytes each */ + uint8_t data[88]; +}; + +/* A SMSCB message (received from CBSP) */ +struct bts_smscb_message { + /* entry in bts_smscb_chan_state.messages */ + struct llist_head list; + struct { + /* input data from CBSP (CBC) side */ + uint16_t msg_id; + uint16_t serial_nr; + enum cbsp_category category; + uint16_t rep_period; + uint16_t num_bcast_req; + uint8_t dcs; + } input; + /* how often have all pages of this message been broadcast? */ + uint32_t bcast_count; + /* actual page data of this message */ + uint8_t num_pages; /* up to 15 */ + struct bts_smscb_page page[15]; +}; + +/* per-channel (basic/extended) CBCH state for a single BTS */ +struct bts_smscb_chan_state { + /* back-pointer to BTS */ + struct gsm_bts *bts; + /* list of bts_smscb_message */ + struct llist_head messages; + /* scheduling array; pointer of SMSCB pages */ + struct bts_smscb_page **sched_arr; + size_t sched_arr_size; + /* index of the next to be transmitted page into the scheduler array */ + size_t next_idx; + /* number of messages we have to pause due to overflow */ + uint8_t overflow; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -1213,6 +1261,11 @@ struct load_counter chan_load_samples[7]; int chan_load_samples_idx; uint8_t chan_load_avg; /* current channel load average in percent (0 - 100). */ + + /* cell broadcast system */ + struct osmo_timer_list cbch_timer; + struct bts_smscb_chan_state cbch_basic; + struct bts_smscb_chan_state cbch_extended; }; /* One rejected BTS */ diff --git a/include/osmocom/bsc/smscb.h b/include/osmocom/bsc/smscb.h new file mode 100644 index 0000000..22a258d --- /dev/null +++ b/include/osmocom/bsc/smscb.h @@ -0,0 +1,59 @@ +#pragma once +#include + +#include +#include +#include + +struct bsc_cbc_link; + +/* smscb.c */ +void bts_smscb_del(struct bts_smscb_message *smscb, struct bts_smscb_chan_state *cstate, + const char *reason); +const char *bts_smscb_msg2str(const struct bts_smscb_message *smscb); +struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended); +int cbsp_rx_decoded(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec); +int cbsp_tx_restart(struct bsc_cbc_link *cbc, bool is_emerg); +const char *bts_smscb_chan_state_name(const struct bts_smscb_chan_state *cstate); +unsigned int bts_smscb_chan_load_percent(const struct bts_smscb_chan_state *cstate); +unsigned int bts_smscb_chan_page_count(const struct bts_smscb_chan_state *cstate); +void smscb_vty_init(void); + +/* cbch_scheduler.c */ +int bts_smscb_gen_sched_arr(struct bts_smscb_chan_state *cstate, struct bts_smscb_page ***arr_out); +struct bts_smscb_page *bts_smscb_pull_page(struct bts_smscb_chan_state *cstate); +void bts_smscb_page_done(struct bts_smscb_chan_state *cstate, struct bts_smscb_page *page); +int bts_smscb_rx_cbch_load_ind(struct gsm_bts *bts, bool cbch_extended, bool is_overflow, + uint8_t slot_count); +void bts_cbch_timer_schedule(struct gsm_bts *bts); + +/* cbsp_link.c */ +struct bsc_cbc_link { + struct gsm_network *net; + struct { + /* hostname/IP of CBC */ + char *cbc_hostname; + /* TCP port (Default: 48049) of CBC */ + int cbc_port; + /* local listening port (0 for disabling local server) */ + int listen_port; + /* local listening hostname/IP */ + char *listen_hostname; + } config; + /* for handling inbound TCP connections */ + struct { + struct osmo_stream_srv *srv; + struct osmo_stream_srv_link *link; + char *sock_name; + struct msgb *msg; + } server; + /* for handling outbound TCP connections */ + struct { + struct osmo_stream_cli *cli; + char *sock_name; + struct msgb *msg; + } client; +}; +void cbc_vty_init(void); +int bsc_cbc_link_restart(void); +int cbsp_tx_decoded(struct bsc_cbc_link *cbc, struct osmo_cbsp_decoded *decoded); diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 7e3c505..10ce16b 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -24,6 +24,7 @@ OM2K_NODE, OM2K_CON_GROUP_NODE, BSC_NODE, + CBC_NODE, }; struct log_info; diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index d50515b..51d8875 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -88,6 +88,9 @@ rest_octets.c \ system_information.c \ timeslot_fsm.c \ + smscb.c \ + cbch_scheduler.c \ + cbsp_link.c \ $(NULL) osmo_bsc_LDADD = \ @@ -96,6 +99,7 @@ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMONETIF_LIBS) \ $(COVERAGE_LDFLAGS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 0b68d7c..06d19a5 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1,7 +1,7 @@ /* GSM Radio Signalling Link messages on the A-bis interface * 3GPP TS 08.58 version 8.6.0 Release 1999 / ETSI TS 100 596 V8.6.0 */ -/* (C) 2008-2010 by Harald Welte +/* (C) 2008-2019 by Harald Welte * (C) 2012 by Holger Hans Peter Freyther * * All Rights Reserved @@ -52,6 +52,7 @@ #include #include #include +#include #define RSL_ALLOC_SIZE 1024 #define RSL_ALLOC_HEADROOM 128 @@ -1489,6 +1490,36 @@ return 0; } +/* 8.5.9 current load on the CBCH (Cell Broadcast) */ +static int rsl_rx_cbch_load(struct msgb *msg) +{ + struct e1inp_sign_link *sign_link = msg->dst; + struct abis_rsl_dchan_hdr *rslh = msgb_l2(msg); + struct gsm_bts *bts = sign_link->trx->bts; + bool cbch_extended = false; + bool is_overflow = false; + int8_t load_info; + struct tlv_parsed tp; + uint8_t slot_count; + + rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg) - sizeof(*rslh)); + if (!TLVP_PRESENT(&tp, RSL_IE_CBCH_LOAD_INFO)) { + LOG_BTS(bts, DRSL, LOGL_ERROR, "CBCH LOAD IND without mandatory CBCH Load Info IE\n"); + return -1; + } + /* 9.4.43 */ + load_info = *TLVP_VAL(&tp, RSL_IE_CBCH_LOAD_INFO); + if (load_info & 0x80) + is_overflow = true; + slot_count = load_info & 0x0F; + + if (TLVP_PRES_LEN(&tp, RSL_IE_SMSCB_CHAN_INDICATOR, 1) && + (*TLVP_VAL(&tp, RSL_IE_SMSCB_CHAN_INDICATOR) & 0x0F) == 0x01) + cbch_extended = true; + + return bts_smscb_rx_cbch_load_ind(bts, cbch_extended, is_overflow, slot_count); +} + /* Ericsson specific: Immediate Assign Sent */ static int rsl_rx_ericsson_imm_assign_sent(struct msgb *msg) { @@ -1537,7 +1568,7 @@ break; case RSL_MT_CBCH_LOAD_IND: /* current load on the CBCH */ - /* FIXME: handle this. Ignore for now */ + rc = rsl_rx_cbch_load(msg); break; case RSL_MT_ERICSSON_IMM_ASS_SENT: rc = rsl_rx_ericsson_imm_assign_sent(msg); diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 7d29d4f..18776f3 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -37,6 +37,9 @@ #include #include +#include +#include + #include #include #include @@ -244,6 +247,11 @@ talloc_free(net); return NULL; } + net->bsc_data->cbc = talloc_zero(net->bsc_data, struct bsc_cbc_link); + if (!net->bsc_data->cbc) { + talloc_free(net); + return NULL; + } /* Init back pointer */ net->bsc_data->auto_off_timeout = -1; @@ -272,6 +280,13 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); + net->bsc_data->cbc->net = net; + /* no cbc_hostname: client not started by default */ + net->bsc_data->cbc->config.cbc_port = CBSP_TCP_PORT; + /* listen_port == -1: server not started by default */ + net->bsc_data->cbc->config.listen_port = -1; + net->bsc_data->cbc->config.listen_hostname = talloc_strdup(net->bsc_data->cbc, "127.0.0.1"); + return net; } diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6de2d4b..06c06de 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -70,6 +70,7 @@ #include #include #include +#include #include #include @@ -318,6 +319,14 @@ vty_out(vty, " (%d)", count); } +static void bts_dump_vty_cbch(struct vty *vty, const struct bts_smscb_chan_state *cstate) +{ + vty_out(vty, " CBCH %s: %u messages, %u pages, %lu-entry sched_arr, %u%% load%s", + bts_smscb_chan_state_name(cstate), llist_count(&cstate->messages), + bts_smscb_chan_page_count(cstate), cstate->sched_arr_size, + bts_smscb_chan_load_percent(cstate), VTY_NEWLINE); +} + static void bts_dump_vty_features(struct vty *vty, struct gsm_bts *bts) { unsigned int i; @@ -504,6 +513,9 @@ vty_out(vty, " Current Channel Load:%s", VTY_NEWLINE); dump_pchan_load_vty(vty, " ", &pl); + bts_dump_vty_cbch(vty, &bts->cbch_basic); + bts_dump_vty_cbch(vty, &bts->cbch_extended); + vty_out(vty, " Channel Requests : %"PRIu64" total, %"PRIu64" no channel%s", bts->bts_ctrs->ctr[BTS_CTR_CHREQ_TOTAL].current, bts->bts_ctrs->ctr[BTS_CTR_CHREQ_NO_CHANNEL].current, @@ -5427,6 +5439,8 @@ osmo_fsm_vty_add_cmds(); ho_vty_init(); + cbc_vty_init(); + smscb_vty_init(); bsc_vty_init_extra(); diff --git a/src/osmo-bsc/cbch_scheduler.c b/src/osmo-bsc/cbch_scheduler.c new file mode 100644 index 0000000..ef93b7a --- /dev/null +++ b/src/osmo-bsc/cbch_scheduler.c @@ -0,0 +1,287 @@ +/* CBCH (Cell Broadcast Channel) Scheduler for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +#include +#include +#include +#include + +/* add all pages of given SMSCB so they appear as soon as possible *after* (included) base_idx. */ +static int bts_smscb_sched_add_after(struct bts_smscb_page **sched_arr, int sched_arr_size, + int base_idx, struct bts_smscb_message *smscb) +{ + int arr_idx = base_idx; + int i; + + OSMO_ASSERT(smscb->num_pages <= ARRAY_SIZE(smscb->page)); + for (i = 0; i < smscb->num_pages; i++) { + while (sched_arr[arr_idx]) { + arr_idx++; + if (arr_idx >= sched_arr_size) + return -ENOSPC; + } + sched_arr[arr_idx] = &smscb->page[i]; + } + return arr_idx; +} + +/* add all pages of given smscb so they appear *before* (included) last_idx. */ +static int bts_smscb_sched_add_before(struct bts_smscb_page **sched_arr, int sched_arr_size, + int last_idx, struct bts_smscb_message *smscb) +{ + int arr_idx = last_idx; + int last_used_idx = 0; + int i; + + OSMO_ASSERT(smscb->num_pages <= ARRAY_SIZE(smscb->page)); + OSMO_ASSERT(smscb->num_pages >= 1); + + for (i = smscb->num_pages - 1; i >= 0; i--) { + while (sched_arr[arr_idx]) { + arr_idx--; + if (arr_idx < 0) + return -ENOSPC; + } + sched_arr[arr_idx] = &smscb->page[i]; + if (i == smscb->num_pages) + last_used_idx = i; + } + return last_used_idx; +} + +/* obtain the least frequently scheduled SMSCB for given SMSCB channel */ +static struct bts_smscb_message * +bts_smscb_chan_get_least_frequent_smscb(struct bts_smscb_chan_state *cstate) +{ + if (llist_empty(&cstate->messages)) + return NULL; + /* messages are expected to be ordered with increasing period, so we're + * able to return the last message in the list */ + return llist_entry(cstate->messages.prev, struct bts_smscb_message, list); +} + +/*! Generate per-BTS SMSCB scheduling array + * \param[in] cstate BTS CBCH channel state + * \param[out] arr_out return argument for allocated + generated scheduling array + * \return size of returned scheduling array arr_out in number of entries; negative on error */ +int bts_smscb_gen_sched_arr(struct bts_smscb_chan_state *cstate, struct bts_smscb_page ***arr_out) +{ + struct bts_smscb_message *smscb, *least_freq; + struct bts_smscb_page **arr; + int arr_size; + int rc; + + /* start with one instance of the least frequent message at position 0, as we + * need to transmit it exactly once during the duration of the scheduling array */ + least_freq = bts_smscb_chan_get_least_frequent_smscb(cstate); + if (!least_freq) { + LOG_BTS(cstate->bts, DCBS, LOGL_DEBUG, "No SMSCB; cannot create schedule array\n"); + *arr_out = NULL; + return 0; + } + arr_size = least_freq->input.rep_period; + arr = talloc_zero_array(cstate->bts, struct bts_smscb_page *, arr_size); + OSMO_ASSERT(arr); + rc = bts_smscb_sched_add_after(arr, arr_size, 0, least_freq); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule first instance of " + "very first SMSCB %s ?!?\n", bts_smscb_msg2str(least_freq)); + talloc_free(arr); + return rc; + } + + /* continue filling with repetitions of the more frequent messages, starting from + * the most frequent message to the least frequent one, repeating them as needed + * throughout the duration of the array */ + llist_for_each_entry(smscb, &cstate->messages, list) { + int last_page; + if (smscb == least_freq) + continue; + /* messages are expected to be ordered with increasing period, so we're + * starting with the most frequent / shortest period first */ + rc = bts_smscb_sched_add_after(arr, arr_size, 0, smscb); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule first instance of " + "SMSCB %s\n", bts_smscb_msg2str(smscb)); + talloc_free(arr); + return rc; + } + last_page = rc; + + while (last_page < cstate->sched_arr_size) { + /* store further instances in a way that the last block of the N+1th instance + * happens no later than "interval" after the last block of the Nth instance */ + rc = bts_smscb_sched_add_before(arr, arr_size, + last_page + smscb->input.rep_period, smscb); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Unable to schedule further " + "SMSCB %s\n", bts_smscb_msg2str(smscb)); + talloc_free(arr); + return rc; + } + last_page = rc; + } + } + *arr_out = arr; + return arr_size; +} + +/*! Pull the next to-be-transmitted SMSCB page out of the scheduler for the given channel */ +struct bts_smscb_page *bts_smscb_pull_page(struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_page *page; + + /* if there are no messages to schedule, there is no array */ + if (!cstate->sched_arr) + return NULL; + + /* obtain the page from the scheduler array */ + page = cstate->sched_arr[cstate->next_idx]; + + /* increment the index for the next call to this function */ + cstate->next_idx = (cstate->next_idx + 1) % cstate->sched_arr_size; + + /* the array can have gaps in between where there is nothing scheduled */ + if (!page) + return NULL; + + return page; +} + +/*! To be called after bts_smscb_pull_page() in order to update transmission count and + * check if SMSCB is complete. + * \param[in] cstate BTS CBC channel state + * \param[in] page SMSCB Page which had been returned by bts_smscb_pull_page() and which + * is no longer needed now */ +void bts_smscb_page_done(struct bts_smscb_chan_state *cstate, struct bts_smscb_page *page) +{ + struct bts_smscb_message *smscb = page->msg; + + /* If this is the last page of a SMSCB, increment the SMSCB number-of-xmit counter */ + if (page->nr == smscb->num_pages) { + smscb->bcast_count++; + /* Check if the SMSCB transmission duration is now over */ + if (smscb->bcast_count >= smscb->input.num_bcast_req) + bts_smscb_del(smscb, cstate, "COMPLETE"); + } +} + + +/*********************************************************************** + * BTS / RSL side + ***********************************************************************/ + +static void bts_cbch_send_one(struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_page *page; + struct gsm_bts *bts = cstate->bts; + struct rsl_ie_cb_cmd_type cb_cmd; + bool is_extended = false; + + if (cstate == &bts->cbch_extended) + is_extended = true; + + if (cstate->overflow) { + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Skipping SMSCB due to overflow (%u)\n", + cstate->overflow); + cstate->overflow--; + return; + } + + page = bts_smscb_pull_page(cstate); + if (!page) { + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Skipping SMSCB: No page available\n"); + return; + } + + cb_cmd.spare = 0; + cb_cmd.def_bcast = 0; + cb_cmd.command = RSL_CB_CMD_TYPE_NORMAL; + switch (page->num_blocks) { + case 1: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_1; + break; + case 2: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_2; + break; + case 3: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_3; + break; + case 4: + cb_cmd.last_block = RSL_CB_CMD_LASTBLOCK_4; + break; + default: + osmo_panic("SMSCB Page must have 1..4 blocks, not %d\n", page->num_blocks); + } + rsl_sms_cb_command(bts, RSL_CHAN_SDCCH4_ACCH, cb_cmd, is_extended, + page->data, sizeof(page->data)); + + bts_smscb_page_done(cstate, page); +} + +static void bts_cbch_timer(void *data) +{ + struct gsm_bts *bts = (struct gsm_bts *)data; + + bts_cbch_send_one(&bts->cbch_basic); + bts_cbch_send_one(&bts->cbch_extended); + + bts_cbch_timer_schedule(bts); +} + +/* There is one SMSCB message (page) per eight 51-multiframes, i.e. 1.882 seconds */ +void bts_cbch_timer_schedule(struct gsm_bts *bts) +{ + osmo_timer_setup(&bts->cbch_timer, &bts_cbch_timer, bts); + osmo_timer_schedule(&bts->cbch_timer, 1, 882920); +} + +/*! Receive a (decoded) incoming CBCH LOAD IND from given bts. See TS 48.058 8.5.9 + * \param[in] bts The BTS for which the load indication was received + * \param[in] cbch_extended Is this report for extended (true) or basic CBCH + * \param[in] is_overflow Is this report and overflow (true) or underflow report + * \param[in] slot_count amount of SMSCB messages needed / delay needed */ +int bts_smscb_rx_cbch_load_ind(struct gsm_bts *bts, bool cbch_extended, bool is_overflow, + uint8_t slot_count) +{ + struct bts_smscb_chan_state *cstate = bts_get_smscb_chan(bts, cbch_extended); + int i; + + if (!gsm_bts_get_cbch(bts)) + return -ENODEV; + + if (is_overflow) { + /* halt/delay transmission of further CBCH messages */ + cstate->overflow = slot_count; + } else { + for (i = 0; i < slot_count; i++) + bts_cbch_send_one(cstate); + /* re-schedule the timer to count from now on */ + bts_cbch_timer_schedule(bts); + } + + return 0; +} diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c new file mode 100644 index 0000000..8840afa --- /dev/null +++ b/src/osmo-bsc/cbsp_link.c @@ -0,0 +1,417 @@ +/* CBSP (Cell Broadcast Service Protocol) Handling for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + + +#include +#include +#include +#include +#include + +#include +#include +#include + +/* if a CBC IP/port has been configured, we continuously try to re-establish the TCP + * connection (as a client) to the CBC. If none has been configured, and we have a listen + * TCP port, we expect the CBC to connect to us. If neither of the two is configured, + * CBSP is effectively disabled */ + +/********************************************************************************* + * CBSP Server (inbound TCP connection from CBC) + *********************************************************************************/ + +static int cbsp_srv_closed_cb(struct osmo_stream_srv *conn) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_get_data(conn); + //struct osmo_fd *ofd = osmo_stream_srv_get_ofd(conn); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Server lost connection from %s\n", cbc->server.sock_name); + talloc_free(cbc->server.sock_name); + cbc->server.sock_name = NULL; + cbc->server.srv = NULL; + return 0; +} + +static int cbsp_srv_cb(struct osmo_stream_srv *conn) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_get_data(conn); + struct osmo_fd *ofd = osmo_stream_srv_get_ofd(conn); + struct osmo_cbsp_decoded *decoded; + struct msgb *msg; + int rc; + + /* READ */ + rc = osmo_cbsp_recv_buffered(cbc, ofd->fd, &msg, &cbc->server.msg); + if (rc <= 0) { + if (rc == -EAGAIN || rc == -EINTR) { + /* more data needs to be read */ + return 0; + } else if (rc == -EPIPE || rc == -ECONNRESET) { + /* lost connection */ + } else if (rc == 0) { + /* connection closed */ + } + osmo_stream_srv_destroy(conn); + cbc->server.srv = NULL; + return -EBADF; + } + OSMO_ASSERT(msg); + decoded = osmo_cbsp_decode(conn, msg); + if (decoded) { + LOGP(DCBS, LOGL_DEBUG, "Received CBSP %s\n", + get_value_string(cbsp_msg_type_names, decoded->msg_type)); + cbsp_rx_decoded(cbc, decoded); + talloc_free(decoded); + } else { + LOGP(DCBS, LOGL_ERROR, "Unable to decode CBSP %s: '%s'\n", + msgb_hexdump(msg), osmo_cbsp_errstr); + } + msgb_free(msg); + return 0; + +} + +static int cbsp_srv_link_accept_cb(struct osmo_stream_srv_link *link, int fd) +{ + struct bsc_cbc_link *cbc = osmo_stream_srv_link_get_data(link); + struct osmo_stream_srv *srv; + + LOGP(DCBS, LOGL_INFO, "CBSP Server received inbound connection from CBC: %s\n", + osmo_sock_get_name2(fd)); + + if (cbc->server.srv) { + LOGP(DCBS, LOGL_NOTICE, "CBSP Server refusing further connection (%s) " + "while we already have another connection (%s)\n", + osmo_sock_get_name2(fd), cbc->server.sock_name); + return -1; + } + + srv = osmo_stream_srv_create(cbc, link, fd, cbsp_srv_cb, cbsp_srv_closed_cb, cbc); + if (!srv) { + LOGP(DCBS, LOGL_ERROR, "Unable to create stream server for %s\n", + osmo_sock_get_name2(fd)); + return -1; + } + + cbc->server.srv = srv; + if (cbc->server.sock_name) + talloc_free(cbc->server.sock_name); + cbc->server.sock_name = osmo_sock_get_name(cbc, fd); + LOGP(DCBS, LOGL_NOTICE, "CBSP Server link established from CBC %s\n", cbc->server.sock_name); + /* TODO: introduce ourselves to the peer using some osmcoom extensions */ + cbsp_tx_restart(cbc, false); + return 0; +} + +/********************************************************************************* + * CBSP Client (outbound TCP connection to CBC) + *********************************************************************************/ + +static int cbsp_client_connect_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + struct osmo_fd *ofd = osmo_stream_cli_get_ofd(cli); + + if (cbc->client.sock_name) + talloc_free(cbc->client.sock_name); + cbc->client.sock_name = osmo_sock_get_name(cbc, ofd->fd); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Client connected to CBC: %s\n", cbc->client.sock_name); + + /* TODO: introduce ourselves to the peer using some osmcoom extensions */ + cbsp_tx_restart(cbc, false); + + return 0; +} + +static int cbsp_client_disconnect_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + + LOGP(DCBS, LOGL_NOTICE, "CBSP Client lost connection to %s\n", cbc->client.sock_name); + talloc_free(cbc->client.sock_name); + cbc->client.sock_name = NULL; + return 0; +} + +static int cbsp_client_read_cb(struct osmo_stream_cli *cli) +{ + struct bsc_cbc_link *cbc = osmo_stream_cli_get_data(cli); + struct osmo_fd *ofd = osmo_stream_cli_get_ofd(cli); + struct osmo_cbsp_decoded *decoded; + struct msgb *msg = NULL; + int rc; + + /* READ */ + rc = osmo_cbsp_recv_buffered(cbc, ofd->fd, &msg, &cbc->client.msg); + if (rc <= 0) { + if (rc == -EAGAIN || rc == -EINTR) { + /* more data needs to be read */ + return 0; + } else if (rc == -EPIPE || rc == -ECONNRESET) { + /* lost connection */ + } else if (rc == 0) { + /* connection closed */ + } + osmo_stream_cli_reconnect(cli); + return -EBADF; + } + OSMO_ASSERT(msg); + decoded = osmo_cbsp_decode(cli, msg); + if (decoded) { + LOGP(DCBS, LOGL_DEBUG, "Received CBSP %s\n", + get_value_string(cbsp_msg_type_names, decoded->msg_type)); + cbsp_rx_decoded(cbc, decoded); + talloc_free(decoded); + } else { + LOGP(DCBS, LOGL_ERROR, "Unable to decode CBSP %s: '%s'\n", + msgb_hexdump(msg), osmo_cbsp_errstr); + } + msgb_free(msg); + return 0; +} + +int bsc_cbc_link_restart(void) +{ + struct bsc_cbc_link *cbc = bsc_gsmnet->bsc_data->cbc; + + /* shut down client, if no longer configured */ + if (cbc->client.cli && !cbc->config.cbc_hostname) { + LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP client\n"); + osmo_stream_cli_close(cbc->client.cli); + osmo_stream_cli_destroy(cbc->client.cli); + cbc->client.cli = NULL; + } + + /* shut down server, if no longer configured */ + if (cbc->config.listen_port == -1) { + if (cbc->server.srv || cbc->server.link) + LOGP(DCBS, LOGL_NOTICE, "Stopping CBSP server\n"); + if (cbc->server.srv) { + osmo_stream_srv_destroy(cbc->server.srv); + cbc->server.srv = NULL; + } + if (cbc->server.link) { + osmo_stream_srv_link_close(cbc->server.link); + osmo_stream_srv_link_destroy(cbc->server.link); + cbc->server.link = NULL; + } + } + + /* start client, if configured */ + if (cbc->config.cbc_hostname) { + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Client (to CBC at %s:%u)\n", + cbc->config.cbc_hostname, cbc->config.cbc_port); + if (!cbc->client.cli) { + cbc->client.cli = osmo_stream_cli_create(cbc); + osmo_stream_cli_set_data(cbc->client.cli, cbc); + osmo_stream_cli_set_connect_cb(cbc->client.cli, cbsp_client_connect_cb); + osmo_stream_cli_set_disconnect_cb(cbc->client.cli, cbsp_client_disconnect_cb); + osmo_stream_cli_set_read_cb(cbc->client.cli, cbsp_client_read_cb); + } + /* CBC side */ + osmo_stream_cli_set_addr(cbc->client.cli, cbc->config.cbc_hostname); + osmo_stream_cli_set_port(cbc->client.cli, cbc->config.cbc_port); + /* Close/Reconnect? */ + osmo_stream_cli_open(cbc->client.cli); + } + + /* start server, if configured */ + if (cbc->config.listen_port != -1) { + LOGP(DCBS, LOGL_NOTICE, "Starting CBSP Server (bound to %s:%u)\n", + cbc->config.listen_hostname, cbc->config.listen_port); + if (!cbc->server.srv) { + cbc->server.link = osmo_stream_srv_link_create(cbc); + osmo_stream_srv_link_set_data(cbc->server.link, cbc); + osmo_stream_srv_link_set_accept_cb(cbc->server.link, cbsp_srv_link_accept_cb); + } + osmo_stream_srv_link_set_addr(cbc->server.link, cbc->config.listen_hostname); + osmo_stream_srv_link_set_port(cbc->server.link, cbc->config.listen_port); + } + return 0; +} + +/*! Encode + Transmit a 'decoded' CBSP message over given CBC link + * \param[in] cbc Data structure representing the BSCs link to the CBC + * \param[in] cbsp Decoded CBSP message to be transmitted. Ownership is transferred. + * \return 0 on success, negative otherwise */ +int cbsp_tx_decoded(struct bsc_cbc_link *cbc, struct osmo_cbsp_decoded *cbsp) +{ + struct msgb *msg; + + msg = osmo_cbsp_encode(cbc, cbsp); + if (!msg) { + LOGP(DCBS, LOGL_ERROR, "Unable to encode CBSP Message Type %s: %s\n", + get_value_string(cbsp_msg_type_names, cbsp->msg_type), osmo_cbsp_errstr); + talloc_free(cbsp); + return -1; + } + if (cbc->client.cli) + osmo_stream_cli_send(cbc->client.cli, msg); + else if (cbc->server.srv) + osmo_stream_srv_send(cbc->server.srv, msg); + else { + LOGP(DCBS, LOGL_ERROR, "Discarding CBSP Message, link is down: %s\n", msgb_hexdump(msg)); + msgb_free(msg); + } + + talloc_free(cbsp); + return 0; +} + +static struct bsc_cbc_link *vty_cbc_data(struct vty *vty) +{ + return bsc_gsmnet->bsc_data->cbc; +} + +/********************************************************************************* + * VTY Interface (Configuration + Introspection) + *********************************************************************************/ + +DEFUN(cfg_cbc, cfg_cbc_cmd, + "cbc", "Configure CBSP Link to Cell Broadcast Centre\n") +{ + vty->node = CBC_NODE; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_remote_ip, cfg_cbc_remote_ip_cmd, + "remote-ip A.B.C.D", + "IP Address of the Cell Broadcast Centre\n" + "IP Address of the Cell Broadcast Centre\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_talloc_replace_string(cbc, &cbc->config.cbc_hostname, argv[0]); + return CMD_SUCCESS; +} +DEFUN(cfg_cbc_no_remote_ip, cfg_cbc_no_remote_ip_cmd, + "no remote-ip", + NO_STR "Remove IP address of CBC; disables outbound CBSP connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + talloc_free(cbc->config.cbc_hostname); + cbc->config.cbc_hostname = NULL; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_remote_port, cfg_cbc_remote_port_cmd, + "remote-port <1-65535>", + "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n" + "TCP Port number of the Cell Broadcast Centre (Default: 48049)\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.cbc_port = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_listen_port, cfg_cbc_listen_port_cmd, + "listen-port <1-65535>", + "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n" + "Local TCP port at which BSC listens for incoming CBSP connections from CBC\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.listen_port = atoi(argv[0]); + return CMD_SUCCESS; +} +DEFUN(cfg_cbc_no_listen_port, cfg_cbc_no_listen_port_cmd, + "no listen-port", + NO_STR "Remove CBSP Listen Port; disables inbound CBSP connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + cbc->config.listen_port = -1; + return CMD_SUCCESS; +} + +DEFUN(cfg_cbc_listen_ip, cfg_cbc_listen_ip_cmd, + "listen-ip A.B.C.D", + "Local IP Address where BSC listens for incoming CBC connections (Default: 0.0.0.0)\n" + "Local IP Address where BSC listens for incoming CBC connections\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + osmo_talloc_replace_string(cbc, &cbc->config.listen_hostname, argv[0]); + return CMD_SUCCESS; +} + +static struct cmd_node cbc_node = { + CBC_NODE, + "%s(config-cbc)# ", + 1, +}; + +static int config_write_cbc(struct vty *vty) +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + vty_out(vty, "cbc%s", VTY_NEWLINE); + + if (cbc->config.cbc_hostname) { + vty_out(vty, " remote-ip %s%s", cbc->config.cbc_hostname, VTY_NEWLINE); + vty_out(vty, " remote-port %u%s", cbc->config.cbc_port, VTY_NEWLINE); + } else + vty_out(vty, " no remote-ip%s", VTY_NEWLINE); + + if (cbc->config.listen_port >= 0) { + vty_out(vty, " listen-port %u%s", cbc->config.listen_port, VTY_NEWLINE); + vty_out(vty, " listen-ip %s%s", cbc->config.listen_hostname, VTY_NEWLINE); + } else + vty_out(vty, " no listen-port%s", VTY_NEWLINE); + + return 0; +} + +DEFUN(show_cbc, show_cbc_cmd, + "show cbc", + SHOW_STR "Display state of CBC / CBSP\n") +{ + struct bsc_cbc_link *cbc = vty_cbc_data(vty); + + if (!cbc->config.cbc_hostname) + vty_out(vty, "CBSP Client Config: Disabled%s", VTY_NEWLINE); + else { + vty_out(vty, "CBSP Client Config: CBC IP=%s, CBC Port=%u%s", + cbc->config.cbc_hostname, cbc->config.cbc_port, VTY_NEWLINE); + vty_out(vty, "CBSP Client Connection: %s%s", + cbc->client.sock_name ? cbc->client.sock_name : "Disconnected", VTY_NEWLINE); + } + if (cbc->config.listen_port < 0) + vty_out(vty, "CBSP Server Config: Disabled%s\n", VTY_NEWLINE); + else { + vty_out(vty, "CBSP Server Config: Listen IP=%s, Port=%u%s\n", + cbc->config.listen_hostname, cbc->config.listen_port, VTY_NEWLINE); + vty_out(vty, "CBSP Server Connection: %s%s", + cbc->server.sock_name ? cbc->server.sock_name : "Disconnected", VTY_NEWLINE); + } + return CMD_SUCCESS; +} + +void cbc_vty_init(void) +{ + install_element(VIEW_NODE, &show_cbc_cmd); + install_element(CONFIG_NODE, &cfg_cbc_cmd); + install_node(&cbc_node, config_write_cbc); + install_element(CBC_NODE, &cfg_cbc_remote_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_no_remote_ip_cmd); + install_element(CBC_NODE, &cfg_cbc_remote_port_cmd); + install_element(CBC_NODE, &cfg_cbc_listen_port_cmd); + install_element(CBC_NODE, &cfg_cbc_no_listen_port_cmd); + install_element(CBC_NODE, &cfg_cbc_listen_ip_cmd); +} diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index ea33817..c2cfacf 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -767,6 +767,12 @@ .initial_mcs = 6, }; +static void bts_init_cbch_state(struct bts_smscb_chan_state *cstate, struct gsm_bts *bts) +{ + cstate->bts = bts; + INIT_LLIST_HEAD(&cstate->messages); +} + /* Initialize those parts that don't require osmo-bsc specific dependencies. * This part is shared among the thin programs in osmo-bsc/src/utils/. * osmo-bsc requires further initialization that pulls in more dependencies (see @@ -945,6 +951,9 @@ } bts->mr_half.num_modes = 3; + bts_init_cbch_state(&bts->cbch_basic, bts); + bts_init_cbch_state(&bts->cbch_extended, bts); + return bts; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index aba8c40..dacd61a 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -310,6 +311,10 @@ OSMO_ASSERT(ts->fi); osmo_fsm_inst_dispatch(ts->fi, TS_EV_RSL_READY, NULL); } + + /* Start CBCH transmit timer if CBCH is present */ + if (trx->nr == 0 && gsm_bts_get_cbch(trx->bts)) + bts_cbch_timer_schedule(trx->bts); } static void all_ts_dispatch_event(struct gsm_bts_trx *trx, uint32_t event) @@ -379,6 +384,8 @@ rate_ctr_inc(&trx->bts->bts_ctrs->ctr[BTS_CTR_BTS_RSL_FAIL]); acc_ramp_abort(&trx->bts->acc_ramp); all_ts_dispatch_event(trx, TS_EV_RSL_DOWN); + if (trx->nr == 0) + osmo_timer_del(&trx->bts->cbch_timer); } gsm_bts_mo_reset(trx->bts); @@ -764,6 +771,11 @@ .description = "Local Call, Local Switch", .enabled = 1, .loglevel = LOGL_NOTICE, }, + [DCBS] = { + .name = "DCBS", + .description = "Cell Broadcast System", + .enabled = 1, .loglevel = LOGL_NOTICE, + } }; @@ -912,6 +924,7 @@ handover_decision_1_init(); hodec2_init(bsc_gsmnet); + bsc_cbc_link_restart(); signal(SIGINT, &signal_handler); signal(SIGTERM, &signal_handler); diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c new file mode 100644 index 0000000..6b96086 --- /dev/null +++ b/src/osmo-bsc/smscb.c @@ -0,0 +1,823 @@ +/* SMSCB (SMS Cell Broadcast) Handling for OsmoBSC */ +/* + * (C) 2019 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include +#include +#include + +/********************************************************************************* + * Helper Functions + *********************************************************************************/ + +/* replace the old head of an entire list with a new head; effectively moves the entire + * list from old to new head */ +static void llist_replace_head(struct llist_head *new, struct llist_head *old) +{ + if (llist_empty(old)) + INIT_LLIST_HEAD(new); + else + __llist_add(new, old->prev, old->next); + INIT_LLIST_HEAD(old); +} + +/*! Obtain SMSCB Channel State for given BTS (basic or extended CBCH) */ +struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended) +{ + struct bts_smscb_chan_state *chan_state; + + if (extended) + chan_state = &bts->cbch_extended; + else + chan_state = &bts->cbch_basic; + + return chan_state; +} + +/* do an ordered list insertion. we keep the list with increasing period, i.e. the most + * frequent message first */ +static void __bts_smscb_add(struct bts_smscb_chan_state *cstate, struct bts_smscb_message *new) +{ + struct bts_smscb_message *tmp, *tmp2; + + if (llist_empty(&cstate->messages)) { + llist_add(&new->list, &cstate->messages); + return; + } + + llist_for_each_entry_safe(tmp, tmp2, &cstate->messages, list) { + if (tmp->input.rep_period > new->input.rep_period) { + /* we found the first message with longer period than the new message, + * we must insert ourselves before that one */ + __llist_add(&new->list, tmp->list.prev, &tmp->list); + return; + } + } +} + +/* stringify a SMSCB for logging */ +const char *bts_smscb_msg2str(const struct bts_smscb_message *smscb) +{ + static char buf[128]; + snprintf(buf, sizeof(buf), "MsgId=0x%04x/SerialNr=0x%04x/Pages=%u/Period=%u/NumBcastReq=%u", + smscb->input.msg_id, smscb->input.serial_nr, smscb->num_pages, + smscb->input.rep_period, smscb->input.num_bcast_req); + return buf; +} + +const char *bts_smscb_chan_state_name(const struct bts_smscb_chan_state *cstate) +{ + if (cstate == &cstate->bts->cbch_basic) + return "BASIC"; + else if (cstate == &cstate->bts->cbch_extended) + return "EXTENDED"; + else + return "UNKNOWN"; +} + +unsigned int bts_smscb_chan_load_percent(const struct bts_smscb_chan_state *cstate) +{ + unsigned int sched_arr_used = 0; + unsigned int i; + + if (cstate->sched_arr_size == 0) + return 0; + + /* count the number of used slots */ + for (i = 0; i < cstate->sched_arr_size; i++) { + if (cstate->sched_arr[i]) + sched_arr_used++; + } + + OSMO_ASSERT(sched_arr_used <= UINT_MAX/100); + return (sched_arr_used * 100) / cstate->sched_arr_size; +} + +unsigned int bts_smscb_chan_page_count(const struct bts_smscb_chan_state *cstate) +{ + struct bts_smscb_message *smscb; + unsigned int page_count = 0; + + llist_for_each_entry(smscb, &cstate->messages, list) + page_count += smscb->num_pages; + + return page_count; +} + + +/*! Obtain the Cell Global Identifier (CGI) of given BTS; returned in static buffer. */ +static struct osmo_cell_global_id *bts_get_cgi(struct gsm_bts *bts) +{ + static struct osmo_cell_global_id cgi; + cgi.lai.plmn = bts->network->plmn; + cgi.lai.lac = bts->location_area_code; + cgi.cell_identity = bts->cell_identity; + return &cgi; +} + +/* represents the various lists that the BSC can create as part of a response */ +struct response_state { + struct osmo_cbsp_cell_list success; /* osmo_cbsp_cell_ent */ + struct llist_head fail; /* osmo_cbsp_fail_ent */ + struct osmo_cbsp_num_compl_list num_completed; /* osmo_cbsp_num_compl_ent */ + struct osmo_cbsp_loading_list loading; /* osmo_cbsp_loading_ent */ +}; + +/*! per-BTS callback function used by cbsp_per_bts(). + * \param[in] bts BTS currently being processed + * \param[in] dec decoded CBSP message currently being processed + * \param r_state response state accumulating cell lists (success/failure/...) + * \param priv opaque private data provided by caller of cbsp_per_bts() + * \returns 0 on success; negative TS 48.049 cause value on error */ +typedef int bts_cb_fn(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv); + +/* append a success for given cell to response state */ +static void append_success(struct response_state *r_state, struct gsm_bts *bts) +{ + struct osmo_cbsp_cell_ent *cent = talloc_zero(r_state, struct osmo_cbsp_cell_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_INFO, "Success\n"); + + OSMO_ASSERT(cent); + + cent->cell_id.global = *cgi; + llist_add_tail(¢->list, &r_state->success.list); +} + +/* append a failure for given cell to response state */ +static void append_fail(struct response_state *r_state, struct gsm_bts *bts, uint8_t cause) +{ + struct osmo_cbsp_fail_ent *fent = talloc_zero(r_state, struct osmo_cbsp_fail_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Failure Cause 0x%02x\n", cause); + + OSMO_ASSERT(fent); + + fent->id_discr = CELL_IDENT_WHOLE_GLOBAL; + fent->cell_id.global = *cgi; + fent->cause = cause; + llist_add_tail(&fent->list, &r_state->fail); +} + +/* append a 'number of broadcasts completed' for given cell to response state */ +static void append_bcast_compl(struct response_state *r_state, struct gsm_bts *bts, + struct bts_smscb_message *smscb) +{ + struct osmo_cbsp_num_compl_ent *cent = talloc_zero(r_state, struct osmo_cbsp_num_compl_ent); + struct osmo_cell_global_id *cgi = bts_get_cgi(bts); + + LOG_BTS(bts, DCBS, LOGL_DEBUG, "Number of Broadcasts Completed: %u\n", smscb->bcast_count); + + OSMO_ASSERT(cent); + + r_state->num_completed.id_discr = CELL_IDENT_WHOLE_GLOBAL; + cent->cell_id.global = *cgi; + if (smscb->bcast_count > INT16_MAX) { + cent->num_compl = INT16_MAX; + cent->num_bcast_info = 0x01; /* Overflow */ + } else { + cent->num_compl = smscb->bcast_count; + cent->num_bcast_info = 0x00; + } + llist_add_tail(¢->list, &r_state->num_completed.list); +} + +/*! Iterate over all BTSs, find matching ones, execute command on BTS, add result + * to succeeded/failed lists. + * \param[in] net GSM network in which we operate + * \param[in] caller-allocated Response state structure collecting results + * \param[in] cell_list Decoded CBSP cell list describing BTSs to operate on + * \param[in] cb_fn Call-back function to call for each matching BTS + * \param[in] priv Opqaue private data; passed to cb_fn + * */ +static int cbsp_per_bts(struct gsm_network *net, struct response_state *r_state, + const struct osmo_cbsp_cell_list *cell_list, + bts_cb_fn *cb_fn, const struct osmo_cbsp_decoded *dec, void *priv) +{ + struct osmo_cbsp_cell_ent *ent; + struct gsm_bts *bts; + uint8_t bts_status[net->num_bts]; + int rc, ret = 0; + + memset(bts_status, 0, sizeof(bts_status)); + INIT_LLIST_HEAD(&r_state->success.list); + INIT_LLIST_HEAD(&r_state->fail); + INIT_LLIST_HEAD(&r_state->num_completed.list); + INIT_LLIST_HEAD(&r_state->loading.list); + + /* special case as cell_list->list is empty in this case */ + if (cell_list->id_discr == CELL_IDENT_BSS) { + llist_for_each_entry(bts, &net->bts_list, list) { + bts_status[bts->nr] = 1; + /* call function on this BTS */ + rc = cb_fn(bts, dec, r_state, priv); + if (rc < 0) { + append_fail(r_state, bts, -rc); + ret = -1; + } else + append_success(r_state, bts); + } + } else { + /* normal case: iterate over cell list */ + llist_for_each_entry(ent, &cell_list->list, list) { + bool found_at_least_one = false; + /* find all matching BTSs for this entry */ + llist_for_each_entry(bts, &net->bts_list, list) { + struct gsm0808_cell_id cell_id = { + .id_discr = cell_list->id_discr, + .id = ent->cell_id + }; + if (!gsm_bts_matches_cell_id(bts, &cell_id)) + continue; + found_at_least_one = true; + /* skip any BTSs which we've already processed */ + if (bts_status[bts->nr]) + continue; + bts_status[bts->nr] = 1; + /* call function on this BTS */ + rc = cb_fn(bts, dec, r_state, priv); + if (rc < 0) { + append_fail(r_state, bts, -rc); + ret = -1; + } else + append_success(r_state, bts); + } + if (!found_at_least_one) { + struct osmo_cbsp_fail_ent *fent; + LOGP(DCBS, LOGL_NOTICE, "CBSP: Couldn't find a single matching BTS\n"); + fent = talloc_zero(r_state, struct osmo_cbsp_fail_ent); + OSMO_ASSERT(fent); + fent->id_discr = cell_list->id_discr; + fent->cell_id = ent->cell_id; + llist_add_tail(&fent->list, &r_state->fail); + ret = -1; + } + } + } + return ret; +} + +/*! Find an existing SMSCB message within given BTS. + * \param[in] chan_state BTS CBCH channel state + * \param[in] msg_id Message Id of to-be-found message + * \param[in] serial_nr Serial Number of to-be-found message + * \returns SMSCB message if found; NULL otherwise */ +struct bts_smscb_message *bts_find_smscb(struct bts_smscb_chan_state *chan_state, + uint16_t msg_id, uint16_t serial_nr) +{ + struct bts_smscb_message *smscb; + + llist_for_each_entry(smscb, &chan_state->messages, list) { + if (smscb->input.msg_id == msg_id && smscb->input.serial_nr == serial_nr) + return smscb; + } + return NULL; +} + +/*! create a new SMSCB message for specified BTS; don't link it yet. + * \param[in] bts BTS for which the SMSCB is to be allocated + * \param[in] wrepl CBSP write-replace message + * \returns callee-allocated SMSCB message filled with data from wrepl */ +static struct bts_smscb_message *bts_smscb_msg_from_wrepl(struct gsm_bts *bts, + const struct osmo_cbsp_write_replace *wrepl) +{ + struct bts_smscb_message *smscb = talloc_zero(bts, struct bts_smscb_message); + struct osmo_cbsp_content *cont; + int i; + + if (!smscb) + return NULL; + + OSMO_ASSERT(wrepl->is_cbs); + + /* initialize all pages inside the message */ + for (i = 0; i < ARRAY_SIZE(smscb->page); i++) { + struct bts_smscb_page *page = &smscb->page[i]; + page->nr = i+1; /* page numbers are 1-based */ + page->msg = smscb; + } + + /* initialize "header" part */ + smscb->input.msg_id = wrepl->msg_id; + smscb->input.serial_nr = wrepl->new_serial_nr; + smscb->input.category = wrepl->u.cbs.category; + smscb->input.rep_period = wrepl->u.cbs.rep_period; + smscb->input.num_bcast_req = wrepl->u.cbs.num_bcast_req; + smscb->input.dcs = wrepl->u.cbs.dcs; + smscb->num_pages = llist_count(&wrepl->u.cbs.msg_content); + if (smscb->num_pages > ARRAY_SIZE(smscb->page)) { + LOG_BTS(bts, DCBS, LOGL_ERROR, "SMSCB with too many pages (%u > %lu)\n", + smscb->num_pages, ARRAY_SIZE(smscb->page)); + talloc_free(smscb); + return NULL; + } + + i = 0; + llist_for_each_entry(cont, &wrepl->u.cbs.msg_content, list) { + struct gsm23041_msg_param_gsm *msg_param; + struct bts_smscb_page *page; + size_t bytes_used; + + /* we have just ensured a few lines above that this cannot overflow */ + page = &smscb->page[i++]; + msg_param = (struct gsm23041_msg_param_gsm *) &page->data[0]; + + /* build 6 byte header according to TS 23.041 9.4.1.2 */ + osmo_store16be(wrepl->new_serial_nr, &msg_param->serial_nr); + osmo_store16be(wrepl->msg_id, &msg_param->message_id); + msg_param->dcs = wrepl->u.cbs.dcs; + msg_param->page_param.num_pages = smscb->num_pages; + msg_param->page_param.page_nr = page->nr; + + OSMO_ASSERT(cont->user_len <= ARRAY_SIZE(cont->data)); + OSMO_ASSERT(cont->user_len <= ARRAY_SIZE(page->data) - sizeof(*msg_param)); + memcpy(&msg_param->content, cont->data, cont->user_len); + bytes_used = sizeof(*msg_param) + cont->user_len; + /* compute number of valid blocks in page */ + page->num_blocks = bytes_used / 22; + if (bytes_used % 22) + page->num_blocks += 1; + } + + return smscb; +} + +/*! remove a SMSCB message */ +void bts_smscb_del(struct bts_smscb_message *smscb, struct bts_smscb_chan_state *cstate, + const char *reason) +{ + struct bts_smscb_page **arr; + int rc; + + LOG_BTS(cstate->bts, DCBS, LOGL_INFO, "%s Deleting %s (Reason: %s)\n", + bts_smscb_chan_state_name(cstate), bts_smscb_msg2str(smscb), reason); + llist_del(&smscb->list); + + /* we must recompute the scheduler array here, as the old one will have pointers + * to the pages of the just-to-be-deleted message */ + rc = bts_smscb_gen_sched_arr(cstate, &arr); + if (rc < 0) { + LOG_BTS(cstate->bts, DCBS, LOGL_ERROR, "Cannot generate new CBCH scheduler array after " + "removing message %s. WTF?\n", bts_smscb_msg2str(smscb)); + /* we cannot free the message now, to ensure the page pointers in the old + * array are still valid. let's re-add it to keep things sane */ + __bts_smscb_add(cstate, smscb); + } else { + /* success */ + talloc_free(smscb); + + /* replace array with new one */ + talloc_free(cstate->sched_arr); + cstate->sched_arr = arr; + cstate->sched_arr_size = rc; + cstate->next_idx = 0; + } +} + + +/********************************************************************************* + * Transmit of CBSP to CBC + *********************************************************************************/ + +/* transmit a CBSP RESTART message stating all message data was lost for entire BSS */ +int cbsp_tx_restart(struct bsc_cbc_link *cbc, bool is_emerg) +{ + struct osmo_cbsp_decoded *cbsp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESTART); + + if (is_emerg) + cbsp->u.restart.bcast_msg_type = 0x01; + cbsp->u.restart.recovery_ind = 0x01; /* message data lost */ + cbsp->u.restart.cell_list.id_discr = CELL_IDENT_BSS; + + return cbsp_tx_decoded(cbc, cbsp); +} + +/* transmit a CBSP KEEPALIVE COMPLETE to the CBC */ +static int tx_cbsp_keepalive_compl(struct bsc_cbc_link *cbc) +{ + struct osmo_cbsp_decoded *cbsp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KEEP_ALIVE_COMPL); + return cbsp_tx_decoded(cbc, cbsp); +} + +/********************************************************************************* + * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() + *********************************************************************************/ + +/*! Try to execute a write-replace operation; roll-back if it fails. + * \param[in] chan_state BTS CBCH channel state + * \param[in] extended_cbch Basic (false) or Extended (true) CBCH + * \param[in] new_msg New SMSCB message which should be added + * \param[in] exclude_msg Existing SMSCB message that shall be replaced (if possible). Can be NULL + * \return 0 on success; negative on error */ +static int bts_try_write_replace(struct bts_smscb_chan_state *chan_state, + struct bts_smscb_message *new_msg, + struct bts_smscb_message *exclude_msg, + struct response_state *r_state) +{ + struct bts_smscb_page **arr; + int rc; + + if (exclude_msg) { + /* temporarily remove from list of SMSCB */ + llist_del(&exclude_msg->list); + } + /* temporarily add new_msg to list of SMSCB */ + __bts_smscb_add(chan_state, new_msg); + + /* attempt to create scheduling array */ + rc = bts_smscb_gen_sched_arr(chan_state, &arr); + if (rc < 0) { + /* it didn't work out; we couldn't schedule it */ + /* remove the new message again */ + llist_del(&new_msg->list); + /* up to the caller to free() it */ + if (exclude_msg) { + /* re-add the temporarily removed message */ + __bts_smscb_add(chan_state, new_msg); + } + return -1; + } + + /* success! */ + if (exclude_msg) { + LOG_BTS(chan_state->bts, DCBS, LOGL_INFO, "%s Replaced MsgId=0x%04x/Serial=0x%04x, " + "pages(%u -> %u), period(%u -> %u), num_bcast(%u -> %u)\n", + bts_smscb_chan_state_name(chan_state), + new_msg->input.msg_id, new_msg->input.serial_nr, + exclude_msg->num_pages, new_msg->num_pages, + exclude_msg->input.rep_period, new_msg->input.rep_period, + exclude_msg->input.num_bcast_req, new_msg->input.num_bcast_req); + append_bcast_compl(r_state, chan_state->bts, exclude_msg); + talloc_free(exclude_msg); + } else + LOG_BTS(chan_state->bts, DCBS, LOGL_INFO, "%s Added %s\n", + bts_smscb_chan_state_name(chan_state), bts_smscb_msg2str(new_msg)); + + /* replace array with new one */ + talloc_free(chan_state->sched_arr); + chan_state->sched_arr = arr; + chan_state->sched_arr_size = rc; + chan_state->next_idx = 0; + return 0; +} + + +static int bts_rx_write_replace(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + const struct osmo_cbsp_write_replace *wrepl = &dec->u.write_replace; + bool extended_cbch = wrepl->u.cbs.channel_ind; + struct bts_smscb_chan_state *chan_state = bts_get_smscb_chan(bts, extended_cbch); + struct bts_smscb_message *smscb; + int rc; + + if (!wrepl->is_cbs) { + LOG_BTS(bts, DCBS, LOGL_ERROR, "(Primary) Emergency Message not supported\n"); + return -CBSP_CAUSE_CB_NOT_SUPPORTED; + } + + /* check if cell has a CBCH at all */ + if (!gsm_bts_get_cbch(bts)) + return -CBSP_CAUSE_CB_NOT_SUPPORTED; + + /* check for duplicate */ + if (bts_find_smscb(chan_state, wrepl->msg_id, wrepl->new_serial_nr)) + return -CBSP_CAUSE_MSG_REF_ALREADY_USED; + + if (!wrepl->old_serial_nr) { /* new message */ + /* create new message */ + smscb = bts_smscb_msg_from_wrepl(bts, wrepl); + if (!smscb) + return -CBSP_CAUSE_BSC_MEMORY_EXCEEDED; + /* check if scheduling permits this additional message */ + rc = bts_try_write_replace(chan_state, smscb, NULL, r_state); + if (rc < 0) { + talloc_free(smscb); + return -CBSP_CAUSE_BSC_CAPACITY_EXCEEDED; + } + } else { /* modify / replace existing message */ + struct bts_smscb_message *smscb_old; + /* find existing message */ + smscb_old = bts_find_smscb(chan_state, wrepl->msg_id, *wrepl->old_serial_nr); + if (!smscb_old) + return -CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED; + /* create new message */ + smscb = bts_smscb_msg_from_wrepl(bts, wrepl); + if (!smscb) + return -CBSP_CAUSE_BSC_MEMORY_EXCEEDED; + /* check if scheduling permits this modified message */ + rc = bts_try_write_replace(chan_state, smscb, smscb_old, r_state); + if (rc < 0) { + talloc_free(smscb); + return -CBSP_CAUSE_BSC_CAPACITY_EXCEEDED; + } + } + return 0; +} + +static int bts_rx_kill(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + const struct osmo_cbsp_kill *kill = &dec->u.kill; + struct bts_smscb_chan_state *chan_state; + struct bts_smscb_message *smscb; + bool extended = false; + + if (kill->channel_ind && *kill->channel_ind == 0x01) + extended = true; + chan_state = bts_get_smscb_chan(bts, extended); + + /* Find message by msg_id + old_serial_nr */ + smscb = bts_find_smscb(chan_state, kill->msg_id, kill->old_serial_nr); + if (!smscb) + return -CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED; + + /* Remove it */ + bts_smscb_del(smscb, chan_state, "KILL"); + return 0; +} + +static int bts_rx_reset(struct gsm_bts *bts, const struct osmo_cbsp_decoded *dec, + struct response_state *r_state, void *priv) +{ + struct bts_smscb_chan_state *chan_state; + struct bts_smscb_message *smscb, *smscb2; + + /* remove all SMSCB from CBCH BASIC this BTS */ + chan_state = bts_get_smscb_chan(bts, false); + llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) + bts_smscb_del(smscb, chan_state, "RESET"); + + /* remove all SMSCB from CBCH EXTENDED this BTS */ + chan_state = bts_get_smscb_chan(bts, true); + llist_for_each_entry_safe(smscb, smscb2, &chan_state->messages, list) + bts_smscb_del(smscb, chan_state, "RESET"); + + return 0; +} + +/********************************************************************************* + * Receive of CBSP from CBC + *********************************************************************************/ + +static int cbsp_rx_write_replace(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + const struct osmo_cbsp_write_replace *wrepl = &dec->u.write_replace; + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + enum cbsp_channel_ind channel_ind; + int rc; + + LOGP(DCBS, LOGL_INFO, "CBSP Rx WRITE_REPLACE (%s)\n", wrepl->is_cbs ? "CBS" : "EMERGENCY"); + + rc = cbsp_per_bts(net, r_state, &dec->u.write_replace.cell_list, + bts_rx_write_replace, dec, NULL); + /* generate response */ + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_WRITE_REPLACE_FAIL); + struct osmo_cbsp_write_replace_failure *fail = &resp->u.write_replace_fail; + fail->msg_id = wrepl->msg_id; + fail->new_serial_nr = wrepl->new_serial_nr; + fail->old_serial_nr = wrepl->old_serial_nr; + llist_replace_head(&fail->fail_list, &r_state->fail); + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + if (wrepl->is_cbs) { + channel_ind = wrepl->u.cbs.channel_ind; + fail->channel_ind = &channel_ind; + } + if (wrepl->old_serial_nr) { + fail->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&fail->num_compl_list.list, &r_state->num_completed.list); + } + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_WRITE_REPLACE_COMPL); + struct osmo_cbsp_write_replace_complete *compl = &resp->u.write_replace_compl; + compl->msg_id = wrepl->msg_id; + compl->new_serial_nr = wrepl->new_serial_nr; + compl->old_serial_nr = wrepl->old_serial_nr; + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + if (wrepl->is_cbs) { + channel_ind = wrepl->u.cbs.channel_ind; + compl->channel_ind = &channel_ind; + } + if (wrepl->old_serial_nr) { + compl->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&compl->num_compl_list.list, &r_state->num_completed.list); + } + } + + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + +static int cbsp_rx_keep_alive(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx KEEP_ALIVE\n"); + + /* FIXME: repetition period */ + return tx_cbsp_keepalive_compl(cbc); +} + +static int cbsp_rx_kill(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + const struct osmo_cbsp_kill *kill = &dec->u.kill; + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + int rc; + + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx KILL\n"); + + rc = cbsp_per_bts(net, r_state, &dec->u.kill.cell_list, bts_rx_kill, dec, NULL); + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KILL_FAIL); + struct osmo_cbsp_kill_failure *fail = &resp->u.kill_fail; + fail->msg_id = kill->msg_id; + fail->old_serial_nr = kill->old_serial_nr; + fail->channel_ind = kill->channel_ind; + llist_replace_head(&fail->fail_list, &r_state->fail); + + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + + fail->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&fail->num_compl_list.list, &r_state->num_completed.list); + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_KILL_COMPL); + struct osmo_cbsp_kill_complete *compl = &resp->u.kill_compl; + compl->msg_id = kill->msg_id; + compl->old_serial_nr = kill->old_serial_nr; + compl->channel_ind = kill->channel_ind; + + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + + compl->num_compl_list.id_discr = r_state->num_completed.id_discr; + llist_replace_head(&compl->num_compl_list.list, &r_state->num_completed.list); + } + + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + +static int cbsp_rx_reset(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + struct gsm_network *net = cbc->net; + struct response_state *r_state = talloc_zero(cbc, struct response_state); + struct osmo_cbsp_decoded *resp; + int rc; + + LOGP(DCBS, LOGL_DEBUG, "CBSP Rx RESET\n"); + + rc = cbsp_per_bts(net, r_state, &dec->u.reset.cell_list, bts_rx_reset, dec, NULL); + if (rc < 0) { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESET_FAIL); + struct osmo_cbsp_reset_failure *fail = &resp->u.reset_fail; + llist_replace_head(&fail->fail_list, &r_state->fail); + + fail->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&fail->cell_list.list, &r_state->success.list); + } else { + resp = osmo_cbsp_decoded_alloc(cbc, CBSP_MSGT_RESET_COMPL); + struct osmo_cbsp_reset_complete *compl = &resp->u.reset_compl; + if (dec->u.reset.cell_list.id_discr == CELL_IDENT_BSS) { + /* replace the list of individual cell identities with CELL_IDENT_BSS */ + compl->cell_list.id_discr = CELL_IDENT_BSS; + /* no need to free success_list entries, hierarchical talloc works */ + } else { + compl->cell_list.id_discr = r_state->success.id_discr; + llist_replace_head(&compl->cell_list.list, &r_state->success.list); + } + } + cbsp_tx_decoded(cbc, resp); + talloc_free(r_state); + return rc; +} + + +/*! process an incoming, already decoded CBSP message from the CBC. + * \param[in] cbc link to the CBC + * \param[in] dec decoded CBSP message structure. Ownership not transferred. + * \returns 0 on success; negative on error. */ +int cbsp_rx_decoded(struct bsc_cbc_link *cbc, const struct osmo_cbsp_decoded *dec) +{ + int rc = -1; + + switch (dec->msg_type) { + case CBSP_MSGT_WRITE_REPLACE: /* create or modify message */ + rc = cbsp_rx_write_replace(cbc, dec); + break; + case CBSP_MSGT_KEEP_ALIVE: /* solicit an acknowledgement */ + rc = cbsp_rx_keep_alive(cbc, dec); + break; + case CBSP_MSGT_KILL: /* remove message */ + rc = cbsp_rx_kill(cbc, dec); + break; + case CBSP_MSGT_RESET: /* stop broadcasting of all messages */ + rc = cbsp_rx_reset(cbc, dec); + break; + case CBSP_MSGT_LOAD_QUERY: + case CBSP_MSGT_MSG_STATUS_QUERY: + case CBSP_MSGT_SET_DRX: + LOGP(DCBS, LOGL_ERROR, "Received Unimplemented CBSP Message Type %s", + get_value_string(cbsp_msg_type_names, dec->msg_type)); + /* we should implement those eventually */ + break; + default: + LOGP(DCBS, LOGL_ERROR, "Received Unknown/Unexpected CBSP Message Type %s", + get_value_string(cbsp_msg_type_names, dec->msg_type)); + break; + } + return rc; +} + +/********************************************************************************* + * VTY Interface (Introspection) + *********************************************************************************/ + +static void vty_dump_smscb_chan_state(struct vty *vty, const struct bts_smscb_chan_state *cs) +{ + const struct bts_smscb_message *sm; + + vty_out(vty, "%s CBCH:%s", cs == &cs->bts->cbch_basic ? "BASIC" : "EXTENDED", VTY_NEWLINE); + + vty_out(vty, " MsgId | SerNo | Pg | Category | Perd | #Tx | #Req | DCS%s", VTY_NEWLINE); + vty_out(vty, "-------|-------|----|---------------|------|------|------|----%s", VTY_NEWLINE); + llist_for_each_entry(sm, &cs->messages, list) { + vty_out(vty, " %04x | %04x | %2u | %13s | %4u | %4u | %4u | %02x%s", + sm->input.msg_id, sm->input.serial_nr, sm->num_pages, + get_value_string(cbsp_category_names, sm->input.category), + sm->input.rep_period, sm->bcast_count, sm->input.num_bcast_req, + sm->input.dcs, VTY_NEWLINE); + } + vty_out(vty, "%s", VTY_NEWLINE); +} + +DEFUN(bts_show_cbs, bts_show_cbs_cmd, + "show bts <0-255> smscb [(basic|extended)]", + SHOW_STR "Display information about a BTS\n" "BTS number\n" + "SMS Cell Broadcast State\n" + "Show only information related to CBCH BASIC\n" + "Show only information related to CBCH EXTENDED\n") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + int bts_nr = atoi(argv[0]); + struct gsm_bts *bts; + + if (bts_nr >= net->num_bts) { + vty_out(vty, "%% can't find BTS '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + bts = gsm_bts_num(net, bts_nr); + + if (argc < 2 || !strcmp(argv[1], "basic")) + vty_dump_smscb_chan_state(vty, &bts->cbch_basic); + if (argc < 2 || !strcmp(argv[1], "extended")) + vty_dump_smscb_chan_state(vty, &bts->cbch_extended); + + return CMD_SUCCESS; +} + +void smscb_vty_init(void) +{ + install_element_ve(&bts_show_cbs_cmd); +} diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 84c341e..8bd0012 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -11,6 +11,7 @@ $(LIBOSMOCTRL_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(NULL) @@ -91,11 +92,15 @@ $(top_builddir)/src/osmo-bsc/rest_octets.o \ $(top_builddir)/src/osmo-bsc/system_information.o \ $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ + $(top_builddir)/src/osmo-bsc/smscb.o \ + $(top_builddir)/src/osmo-bsc/cbch_scheduler.o \ + $(top_builddir)/src/osmo-bsc/cbsp_link.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOABIS_LIBS) \ + $(LIBOSMONETIF_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBOSMOMGCPCLIENT_LIBS) \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia0a0de862a104d0f447a5d6e56c7c83981b825c7 Gerrit-Change-Number: 15373 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:44:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:44:33 +0000 Subject: Change in ...osmo-bsc[master]: doc: update bsc_vty_reference.xml In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15378 ) Change subject: doc: update bsc_vty_reference.xml ...................................................................... doc: update bsc_vty_reference.xml Change-Id: I6244a0de8802f437b5b291c76b4fc7bd4262baf8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 140 insertions(+), 34 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 6a3e4fb..178e5b5 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -402,6 +402,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1070,6 +1120,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2602,7 +2702,7 @@ - + @@ -2612,7 +2712,7 @@ - + @@ -2622,8 +2722,8 @@ - - + + @@ -2662,7 +2762,7 @@ - + @@ -2672,7 +2772,7 @@ - + @@ -2682,8 +2782,8 @@ - - + + @@ -2720,7 +2820,7 @@ - + @@ -2740,7 +2840,7 @@ - + @@ -2801,7 +2901,7 @@ - + @@ -2810,7 +2910,7 @@ - + @@ -2819,7 +2919,7 @@ - + @@ -2827,7 +2927,7 @@ - + @@ -2836,7 +2936,7 @@ - + @@ -2920,15 +3020,15 @@ - - + + - + @@ -2959,8 +3059,8 @@ - - + + @@ -4072,6 +4172,12 @@ + + + + + + @@ -4129,7 +4235,7 @@ - + @@ -4139,7 +4245,7 @@ - + @@ -4149,8 +4255,8 @@ - - + + @@ -4189,7 +4295,7 @@ - + @@ -4199,7 +4305,7 @@ - + @@ -4209,8 +4315,8 @@ - - + + @@ -4247,7 +4353,7 @@ - + @@ -4267,7 +4373,7 @@ - + @@ -4328,7 +4434,7 @@ - + @@ -4337,7 +4443,7 @@ - + @@ -4346,7 +4452,7 @@ - + @@ -4354,7 +4460,7 @@ - + -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6244a0de8802f437b5b291c76b4fc7bd4262baf8 Gerrit-Change-Number: 15378 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:44:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:44:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP (Cell Broadcast Service Protocol) types + templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 ) Change subject: Add CBSP (Cell Broadcast Service Protocol) types + templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c Gerrit-Change-Number: 15374 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 10:44:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:44:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:44:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP (Cell Broadcast Service Protocol) types + templates In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 ) Change subject: Add CBSP (Cell Broadcast Service Protocol) types + templates ...................................................................... Add CBSP (Cell Broadcast Service Protocol) types + templates Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c --- A library/CBSP_Templates.ttcn A library/CBSP_Types.ttcn 2 files changed, 1,125 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn new file mode 100644 index 0000000..3c60f14 --- /dev/null +++ b/library/CBSP_Templates.ttcn @@ -0,0 +1,744 @@ +module CBSP_Templates { + +import from Osmocom_Types all; +import from BSSAP_Types all; +import from CBSP_Types all; + +/* TODO: receive templates must match IEs in any arbitrary order */ + +/* For some reason the TTCN-3 RAW codec cannot automatically figure out the IEI + * that it needs to set for a given union-choice (body). So we have to explicitly + * specify the IEI by the caller :( */ +template (value) CBSP_IE ts_CBSP_IE(CBSP_IEI iei, template (value) CBSP_IE_Body body) := { + iei := iei, + body := body +} + +template CBSP_IE tr_CBSP_IE(template CBSP_IE_Body body) := { + iei := ?, + body := body +} + + +template (value) CBSP_IE ts_CbspMsgId(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_MSG_ID, {msg_id := val}); +template CBSP_IE tr_CbspMsgId(template uint16_t val := ?) := + tr_CBSP_IE({msg_id := val}); + +template (value) CBSP_IE ts_NewSerNo(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_NEW_SERIAL_NR, {new_ser_nr := val}); +template CBSP_IE tr_NewSerNo(template uint16_t val := ?) := + tr_CBSP_IE({new_ser_nr := val}); + +template (value) CBSP_IE ts_OldSerNo(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_OLD_SERIAL_NR, {old_ser_nr := val}); +template CBSP_IE tr_OldSerNo(template uint16_t val := ?) := + tr_CBSP_IE({old_ser_nr := val}); + +template (value) CBSP_IE ts_CbspKARepPeriod(template (value) uint8_t rep_per) := + ts_CBSP_IE(CBSP_IEI_KEEP_ALIVE_REP_PERIOD, {keep_alive_rep_period := rep_per}); +template CBSP_IE tr_CbspKARepPeriod(template uint8_t rep_per := ?) := + tr_CBSP_IE({keep_alive_rep_period := rep_per}); + +function ts_CbspChannelInd(template (omit) uint8_t val) return template (omit) CBSP_IE { + var template (omit) CBSP_IE ie; + if (istemplatekind(val, "omit")) { + ie := omit; + } else { + ie := ts_CBSP_IE(CBSP_IEI_CHANNEL_IND, {channel_ind := val}); + } + return ie; +} +function tr_CbspChannelInd(template uint8_t val := ?) return template CBSP_IE { + var template CBSP_IE ie; + if (istemplatekind(val, "omit")) { + ie := omit; + } else if (istemplatekind(val, "*")) { + ie := tr_CBSP_IE({channel_ind := ?}) ifpresent; + } else { + ie := tr_CBSP_IE({channel_ind := val}); + } + return ie; +} + +template (value) CBSP_IE ts_CbspCause(template (value) CBSP_Cause c) := + ts_CBSP_IE(CBSP_IEI_CAUSE, {cause := c}); +template CBSP_IE tr_CbspCause(template CBSP_Cause c := ?) := + tr_CBSP_IE({cause := c}); + +template (value) CBSP_IE ts_CbspCellList(template (value) BSSMAP_FIELD_CellIdentificationList list) := + ts_CBSP_IE(CBSP_IEI_CELL_LIST, { + cell_list := { + len := 0, + spare1_4 := '0000'B, + cell_id_discr := '0000'B, + cell_id := list + }}); +template CBSP_IE tr_CbspCellList(template BSSMAP_FIELD_CellIdentificationList list := ?) := + tr_CBSP_IE({ + cell_list := { + len := ?, + spare1_4 := ?, + cell_id_discr := ?, + cell_id := list + }}); + +template (value) CBSP_IE ts_CbspCategory(template (value) CBSP_Category cat) := + ts_CBSP_IE(CBSP_IEI_CATEGORY, {category := cat}); +template CBSP_IE tr_CbspCategory(template CBSP_Category cat := ?) := + tr_CBSP_IE({category := cat}); + +template (value) CBSP_IE ts_CbspRepetitionPeriod(template (value) uint16_t per) := + ts_CBSP_IE(CBSP_IEI_REP_PERIOD, {rep_period := per}); +template CBSP_IE tr_CbspRepetitionPeriod(template uint16_t per := ?) := + tr_CBSP_IE({rep_period := per}); + +template (value) CBSP_IE ts_CbspNumBcastReq(template (value) uint16_t num) := + ts_CBSP_IE(CBSP_IEI_NUM_BCAST_REQ, {num_bcast_req := num}); +template CBSP_IE tr_CbspNumBcastReq(template uint16_t num := ?) := + tr_CBSP_IE({num_bcast_req := num}); + +template (value) CBSP_IE ts_CbspNumPages(template (value) uint8_t num) := + ts_CBSP_IE(CBSP_IEI_NUM_OF_PAGES, {num_of_pages := num}); +template CBSP_IE tr_CbspNumPages(template uint16_t num := ?) := + tr_CBSP_IE({num_of_pages := num}); + +template (value) CBSP_IE ts_EmergencyInd(template (value) uint8_t val) := + ts_CBSP_IE(CBSP_IEI_EMERG_IND, {emerg_ind := val}); +template CBSP_IE tr_EmergencyInd(template uint8_t val := ?) := + tr_CBSP_IE({emerg_ind := val}); + +template (value) CBSP_IE ts_WarningType(template (value) uint16_t val) := + ts_CBSP_IE(CBSP_IEI_WARN_TYPE, {warn_type := val}); +template CBSP_IE tr_WarningType(template uint16_t val) := + tr_CBSP_IE({warn_type := val}); + +template (value) CBSP_IE ts_WarnSecInfo(template (value) octetstring payl := ''O) := + ts_CBSP_IE(CBSP_IEI_WARN_SEC_INFO, {warn_sec_info := payl}); +template CBSP_IE tr_WarnSecInfo(template octetstring payl := ?) := + tr_CBSP_IE({warn_sec_info := payl}); + +template (value) CBSP_IE ts_WarningPeriod(template (value) uint8_t val) := + ts_CBSP_IE(CBSP_IEI_WARNING_PERIOD, {warning_period := val}); +template CBSP_IE tr_WarningPeriod(template uint8_t val := ?) := + tr_CBSP_IE({warning_period := val}); + +template (value) CBSP_IE ts_CbspFailList(template (value) CBSP_FailureListItems items) := + ts_CBSP_IE(CBSP_IEI_FAILURE_LIST, {failure_list := { + len := 0, + list := items + }}); +template CBSP_IE tr_CbspFailList(template CBSP_FailureListItems items := ?) := + tr_CBSP_IE({failure_list := { + len := 0, + list := items + }}); + +template (value) CBSP_IE ts_CbspNumComplList(template (value) CBSP_IE_NumBcastComplList list) := + ts_CBSP_IE(CBSP_IEI_NUM_BCAST_COMPL_LIST, {num_bcast_compl_list := list}); +template CBSP_IE tr_CbspNumComplList(template CBSP_IE_NumBcastComplList list := ?) := + tr_CBSP_IE({num_bcast_compl_list := list}); + +template (value) CBSP_IE ts_CbspBcastMsgType(template (value) CBSP_BcastMsgType bi) := + ts_CBSP_IE(CBSP_IEI_BCAST_MSG_TYPE, {bcast_msg_type := { + spare1_4 := '0000'B, + msg_type := bi + }}); +template CBSP_IE tr_CbspBcastMsgType(template CBSP_BcastMsgType bi := ?) := + tr_CBSP_IE({bcast_msg_type := { + spare1_4 := ?, + msg_type := bi + }}); + +template (value) CBSP_IE ts_CbspRecoveryInd(template (value) CBSP_RecoveryInd ri) := + ts_CBSP_IE(CBSP_IEI_RECOVERY_IND, {recovery_ind := { + spare1_4 := '0000'B, + recovery := ri + }}); +template CBSP_IE tr_CbspRecoveryInd(template CBSP_RecoveryInd ri) := + tr_CBSP_IE({recovery_ind := { + spare1_4 := ?, + recovery := ri + }}); + +template (value) CBSP_IE ts_CbspMsgContent(template (value) octetstring payload, uint8_t user_len) := + ts_CBSP_IE(CBSP_IEI_MSG_CONTENT, {msg_content := { + user_len := user_len, + val := payload + }}); +template CBSP_IE tr_CbspMsgContent(template octetstring payload := ?, template uint8_t user_len := ?) := + tr_CBSP_IE({msg_content := { + user_len := user_len, + val := payload + }}); + +template (value) CBSP_IE ts_CbspDCS(template (value) uint8_t dcs) := + ts_CBSP_IE(CBSP_IEI_DCS, {dcs := dcs}); +template CBSP_IE tr_CbspDCS(template uint8_t dcs := ?) := + tr_CBSP_IE({dcs := dcs}); + + +template (value) CBSP_PDU ts_CBSP(CBSP_MessageType msg_type, template (value) CBSP_IEs ies) := { + msg_type := msg_type, + len := 0, /* overwritten */ + ies := ies +} +template CBSP_PDU tr_CBSP(template CBSP_MessageType msg_type := ?, template CBSP_IEs ies := *) := { + msg_type := msg_type, + len := ?, + ies := ies +} + + + +/* 8.1.3.1 WRITE REPLACE */ +function ts_CBSP_WRITE_CBS(template (value) uint16_t msg_id, + template (value) uint16_t new_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind, + template (value) CBSP_Category category, + template (value) uint16_t rep_period, + template (value) uint16_t num_bcast_req, + template (value) uint8_t dcs, + template (value) CBSP_IEs content) return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind), + ts_CbspCategory(category), + ts_CbspRepetitionPeriod(rep_period), + ts_CbspNumBcastReq(num_bcast_req), + ts_CbspDCS(dcs), + ts_CbspNumPages(lengthof(content)) + }; + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE, valueof(ies) & valueof(content)); +} +template CBSP_PDU tr_CBSP_WRITE_CBS(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?, + template CBSP_Category category := ?, + template uint16_t rep_period := ?, + template uint16_t num_bcast_req := ?, + template uint8_t dcs := ?, + template CBSP_IEs content := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, ({ + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind), + tr_CbspCategory(category), + tr_CbspRepetitionPeriod(rep_period), + tr_CbspNumBcastReq(num_bcast_req), + tr_CbspDCS(dcs), + tr_CbspNumPages(lengthof(content)), all from content })); + + +function ts_CBSP_REPLACE_CBS(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind, + template (value) CBSP_Category category, + template (value) uint16_t rep_period, + template (value) uint16_t num_bcast_req, + template (value) uint8_t dcs, + template (value) CBSP_IEs content) return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind), + ts_CbspCategory(category), + ts_CbspRepetitionPeriod(rep_period), + ts_CbspNumBcastReq(num_bcast_req), + ts_CbspDCS(dcs), + ts_CbspNumPages(lengthof(content)) + }; + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE, valueof(ies) & valueof(content)); +} +template CBSP_PDU tr_CBSP_REPLACE_CBS(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?, + template CBSP_Category category := ?, + template uint16_t rep_period := ?, + template uint16_t num_bcast_req := ?, + template uint8_t dcs := ?, + template CBSP_IEs content := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, ({ + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind), + tr_CbspCategory(category), + tr_CbspRepetitionPeriod(rep_period), + tr_CbspNumBcastReq(num_bcast_req), + tr_CbspDCS(dcs), + tr_CbspNumPages(lengthof(content)), all from content })); + +template (value) CBSP_PDU ts_CBSP_WRITE_EMERG(uint16_t msg_id, uint16_t new_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t emerg_ind, + template (value) uint16_t warn_type, + template (value) uint16_t num_bcast_req, + template (value) uint8_t warn_per + ) := + ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspCellList(cell_list), + ts_EmergencyInd(emerg_ind), + ts_WarningType(warn_type), + ts_WarnSecInfo, + ts_WarningPeriod(warn_per) }); +template CBSP_PDU tr_CBSP_WRITE_EMERG(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t emerg_ind := ?, + template uint16_t warn_type := ?, + template uint16_t num_bcast_req := ?, + template uint8_t warn_per := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspCellList(cell_list), + tr_EmergencyInd(emerg_ind), + tr_WarningType(warn_type), + tr_WarnSecInfo, + tr_WarningPeriod(warn_per) }); + + +template (value) CBSP_PDU ts_CBSP_REPLACE_EMERG(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t emerg_ind, + template (value) uint16_t warn_type, + template (value) uint16_t num_bcast_req, + template (value) uint8_t warn_per + ) := + ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_EmergencyInd(emerg_ind), + ts_WarningType(warn_type), + ts_WarnSecInfo, + ts_WarningPeriod(warn_per) }); +template CBSP_PDU tr_CBSP_REPLACE_EMERG(template uint16_t msg_id := ?, template uint16_t new_ser_nr := ?, + template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t emerg_ind := ?, + template uint16_t warn_type := ?, + template uint16_t num_bcast_req := ?, + template uint8_t warn_per := ? + ) := + tr_CBSP(CBSP_MSGT_WRITE_REPLACE, { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_EmergencyInd(emerg_ind), + tr_WarningType(warn_type), + tr_WarnSecInfo, + tr_WarningPeriod(warn_per) }); + +/* 8.1.3.2 WRITE-REPLACE COMPLETE */ +function ts_CBSP_WRITE_CBS_COMPL(uint16_t msg_id, uint16_t new_ser_nr, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr) + }; + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} +function tr_CBSP_WRITE_CBS_COMPL(template uint16_t msg_id, template uint16_t new_ser_nr, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr) + }; + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} + + +function ts_CBSP_REPLACE_CBS_COMPL(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspNumComplList(compl_list) + }; + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} +function tr_CBSP_REPLACE_CBS_COMPL(template uint16_t msg_id, template uint16_t new_ser_nr, + template uint16_t old_ser_nr, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspNumComplList(compl_list) + }; + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); +} + + +/* 8.1.3.3 WRITE-REPLACE FAILURE */ +function ts_CBSP_WRITE_CBS_FAIL(uint16_t msg_id, uint16_t new_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} +function tr_CBSP_WRITE_CBS_FAIL(template uint16_t msg_id, template uint16_t new_ser_nr, + template CBSP_FailureListItems fail_list, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + } else if (istemplatekind(compl_list, "?")) { + ies[lengthof(ies)] := tr_CbspNumComplList(?); + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} + + +function ts_CBSP_REPLACE_CBS_FAIL(uint16_t msg_id, uint16_t new_ser_nr, uint16_t old_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_NewSerNo(new_ser_nr), + ts_OldSerNo(old_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + return ts_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} +function tr_CBSP_REPLACE_CBS_FAIL(template uint16_t msg_id, template uint16_t new_ser_nr, + template uint16_t old_ser_nr, + template CBSP_FailureListItems fail_list, + template CBSP_IE_NumBcastComplList compl_list, + template BSSMAP_FIELD_CellIdentificationList cell_list, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_NewSerNo(new_ser_nr), + tr_OldSerNo(old_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(compl_list, "?")) { + ies[lengthof(ies)] := tr_CbspNumComplList(?); + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (istemplatekind(cell_list, "?")) { + ies[lengthof(ies)] := tr_CbspCellList(?); + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); +} + +/* 8.1.3.4 KILL */ +template (value) CBSP_PDU ts_CBSP_KILL(template (value) uint16_t msg_id, + template (value) uint16_t old_ser_nr, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) := + ts_CBSP(CBSP_MSGT_KILL, { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr), + ts_CbspCellList(cell_list), + ts_CbspChannelInd(channel_ind)}); +template CBSP_PDU tr_CBSP_KILL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind := ?) := + tr_CBSP(CBSP_MSGT_KILL, { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr), + tr_CbspCellList(cell_list), + tr_CbspChannelInd(channel_ind) }); + +/* 8.1.3.5 KILL COMPLETE */ +function ts_CBSP_KILL_COMPL(template (value) uint16_t msg_id, template (value) uint16_t old_ser_nr, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } + return ts_CBSP(CBSP_MSGT_KILL_COMPL, ies); +} +function tr_CBSP_KILL_COMPL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template CBSP_IE_NumBcastComplList compl_list := ?, + template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template uint8_t channel_ind) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(cell_list, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + if (istemplatekind(channel_ind, "*")) { + ies[lengthof(ies)] := *; + } else if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } + return tr_CBSP(CBSP_MSGT_KILL_COMPL, ies); +} + +/* 8.1.3.6 KILL FAILURE */ +function ts_CBSP_KILL_FAIL(template (value) uint16_t msg_id, template (value) uint16_t old_ser_nr, + template (value) CBSP_FailureListItems fail_list, + template (omit) CBSP_IE_NumBcastComplList compl_list, + template (omit) BSSMAP_FIELD_CellIdentificationList cell_list, + template (omit) uint8_t channel_ind) +return template (value) CBSP_PDU { + var template (value) CBSP_IEs ies := { + ts_CbspMsgId(msg_id), + ts_OldSerNo(old_ser_nr), + ts_CbspFailList(fail_list) + }; + if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := ts_CbspNumComplList(compl_list); + } + if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := ts_CbspCellList(cell_list); + } + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } + return ts_CBSP(CBSP_MSGT_KILL_FAIL, ies); +} +function tr_CBSP_KILL_FAIL(template uint16_t msg_id := ?, template uint16_t old_ser_nr := ?, + template CBSP_FailureListItems fail_list := ?, + template CBSP_IE_NumBcastComplList compl_list := *, + template BSSMAP_FIELD_CellIdentificationList cell_list := *, + template uint8_t channel_ind := *) +return template CBSP_PDU { + var template CBSP_IEs ies := { + tr_CbspMsgId(msg_id), + tr_OldSerNo(old_ser_nr), + tr_CbspFailList(fail_list) + }; + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + } else if (not istemplatekind(compl_list, "omit")) { + ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); + } + if (istemplatekind(compl_list, "*")) { + ies[lengthof(ies)] := tr_CbspCellList ifpresent; + } else if (not istemplatekind(cell_list, "omit")) { + ies[lengthof(ies)] := tr_CbspCellList(cell_list); + } + if (istemplatekind(channel_ind, "*")) { + ies[lengthof(ies)] := tr_CbspChannelInd(?) ifpresent; + } else if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } + return tr_CBSP(CBSP_MSGT_KILL_FAIL, ies); +} + + +/* 8.1.3.16 RESET */ +template (value) CBSP_PDU ts_CBSP_RESET(template (value) BSSMAP_FIELD_CellIdentificationList cell_list) := + ts_CBSP(CBSP_MSGT_RESET, { + ts_CbspCellList(cell_list) + }); +template CBSP_PDU tr_CBSP_RESET(template BSSMAP_FIELD_CellIdentificationList cell_list := ?) := + tr_CBSP(CBSP_MSGT_RESET, { + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.17 RESET COMPLETE */ +template (value) CBSP_PDU ts_CBSP_RESET_COMPL(template (value) BSSMAP_FIELD_CellIdentificationList cell_list) := + ts_CBSP(CBSP_MSGT_RESET_COMPL, { + ts_CbspCellList(cell_list) + }); +template CBSP_PDU tr_CBSP_RESET_COMPL(template BSSMAP_FIELD_CellIdentificationList cell_list := ?) := + tr_CBSP(CBSP_MSGT_RESET_COMPL, { + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.18 RESET FAILURE */ +template (value) CBSP_PDU ts_CBSP_RESET_FAIL(template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) CBSP_FailureListItems fail_items) := + ts_CBSP(CBSP_MSGT_RESET_FAIL, { + ts_CbspFailList(fail_items), + ts_CbspCellList(cell_list) + }); + +template CBSP_PDU tr_CBSP_RESET_FAIL(template BSSMAP_FIELD_CellIdentificationList cell_list, + template CBSP_FailureListItems fail_items) := + tr_CBSP(CBSP_MSGT_RESET_FAIL, { + tr_CbspFailList(fail_items), + tr_CbspCellList(cell_list) + }); + +/* 8.1.3.18a KEEP-ALIVE */ +template (value) CBSP_PDU ts_CBSP_KEEP_ALIVE(uint8_t rep_period) := + ts_CBSP(CBSP_MSGT_KEEP_ALIVE, {ts_CbspKARepPeriod(rep_period)}); +template CBSP_PDU tr_CBSP_KEEP_ALIVE(template uint8_t rep_period := ?) := + tr_CBSP(CBSP_MSGT_KEEP_ALIVE, {tr_CbspKARepPeriod(rep_period)}); + +/* 8.1.3.18b KEEP-ALIVE COMPLETE */ +template (value) CBSP_PDU ts_CBSP_KEEP_ALIVE_COMPL := + ts_CBSP(CBSP_MSGT_KEEP_ALIVE_COMPL, {}); +template CBSP_PDU tr_CBSP_KEEP_ALIVE_COMPL := + tr_CBSP(CBSP_MSGT_KEEP_ALIVE_COMPL, {}); + +/* 8.1.3.19 RESTART */ +template (value) CBSP_PDU ts_CBSP_RESTART(template (value) BSSMAP_FIELD_CellIdentificationList cell_list, + template (value) CBSP_BcastMsgType msg_type, + template (value) CBSP_RecoveryInd rec_ind) := + ts_CBSP(CBSP_MSGT_RESTART, { + ts_CbspCellList(cell_list), + ts_CbspBcastMsgType(msg_type), + ts_CbspRecoveryInd(rec_ind) + }); +template CBSP_PDU tr_CBSP_RESTART(template BSSMAP_FIELD_CellIdentificationList cell_list := ?, + template CBSP_BcastMsgType msg_type := ?, + template CBSP_RecoveryInd rec_ind := ?) := + tr_CBSP(CBSP_MSGT_RESTART, { + tr_CbspCellList(cell_list), + tr_CbspBcastMsgType(msg_type), + tr_CbspRecoveryInd(rec_ind) + }); + +/* 8.1.3.20 FAILURE */ +template (value) CBSP_PDU ts_CBSP_FAILURE(template (value) CBSP_FailureListItems fail_list, + template (value) CBSP_BcastMsgType msg_type) := + ts_CBSP(CBSP_MSGT_FAILURE, { + ts_CbspFailList(fail_list), + ts_CbspBcastMsgType(msg_type) + }); +template CBSP_PDU tr_CBSP_FAILURE(template CBSP_FailureListItems fail_list := ?, + template CBSP_BcastMsgType msg_type := ?) := + tr_CBSP(CBSP_MSGT_FAILURE, { + tr_CbspFailList(fail_list), + tr_CbspBcastMsgType(msg_type) + }); + +/* 8.1.3.21 ERROR INDICATION */ +template (value) CBSP_PDU ts_CBSP_ERROR_IND(CBSP_Cause cause) := + ts_CBSP(CBSP_MSGT_ERROR_IND, {ts_CbspCause(cause)}); +template CBSP_PDU tr_CBSP_ERROR_IND(template CBSP_Cause cause) := + tr_CBSP(CBSP_MSGT_ERROR_IND, {tr_CbspCause(cause), *}); + + +function f_cbsp_find_ie(CBSP_PDU msg, CBSP_IEI iei, out CBSP_IE ret) return boolean { + for (var integer i := 0; i < sizeof(msg.ies); i := i+1) { + if (msg.ies[i].iei == iei) { + ret := msg.ies[i]; + return true; + } + } + return false; +} + + +} diff --git a/library/CBSP_Types.ttcn b/library/CBSP_Types.ttcn new file mode 100644 index 0000000..43a7d7d --- /dev/null +++ b/library/CBSP_Types.ttcn @@ -0,0 +1,381 @@ +module CBSP_Types { + +/* CBSP_Types, defining abstract TTCN-3 data types for the CBSP protocol. + * + * CBSP is a ETSI/3GPP standard protocol used between CBC (Cell Broadcast Centre) + * and BSC (Base Station Controller) in 2G/GSM/GERAN networks. It is specified + * in 3GPP TS 48.049. + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +import from General_Types all; +import from Osmocom_Types all; +import from BSSAP_Types all; + + +/* 8.2.2 Message Type */ +type enumerated CBSP_MessageType { + CBSP_MSGT_WRITE_REPLACE ('01'O), + CBSP_MSGT_WRITE_REPLACE_COMPL ('02'O), + CBSP_MSGT_WRITE_REPLACE_FAIL ('03'O), + CBSP_MSGT_KILL ('04'O), + CBSP_MSGT_KILL_COMPL ('05'O), + CBSP_MSGT_KILL_FAIL ('06'O), + CBSP_MSGT_LOAD_QUERY ('07'O), + CBSP_MSGT_LOAD_QUERY_COMPL ('08'O), + CBSP_MSGT_LOAD_QUERY_FAIL ('09'O), + CBSP_MSGT_MSG_STATUS_QUERY ('0a'O), + CBSP_MSGT_MSG_STATUS_QUERY_COMPL ('0b'O), + CBSP_MSGT_MSG_STATUS_QUERY_FAIL ('0c'O), + CBSP_MSGT_SET_DRX ('0d'O), + CBSP_MSGT_SET_DRX_COMPL ('0e'O), + CBSP_MSGT_SET_DRX_FAIL ('0f'O), + CBSP_MSGT_RESET ('10'O), + CBSP_MSGT_RESET_COMPL ('11'O), + CBSP_MSGT_RESET_FAIL ('12'O), + CBSP_MSGT_RESTART ('13'O), + CBSP_MSGT_FAILURE ('14'O), + CBSP_MSGT_ERROR_IND ('15'O), + CBSP_MSGT_KEEP_ALIVE ('16'O), + CBSP_MSGT_KEEP_ALIVE_COMPL ('17'O) +} with { variant "FIELDLENGTH(8)" }; + +/* 8.2.1 Information Element Identifier */ +type enumerated CBSP_IEI { + CBSP_IEI_MSG_CONTENT ('01'O), + CBSP_IEI_OLD_SERIAL_NR ('02'O), + CBSP_IEI_NEW_SERIAL_NR ('03'O), + CBSP_IEI_CELL_LIST ('04'O), + CBSP_IEI_CATEGORY ('05'O), + CBSP_IEI_REP_PERIOD ('06'O), + CBSP_IEI_NUM_BCAST_REQ ('07'O), + CBSP_IEI_NUM_BCAST_COMPL_LIST ('08'O), + CBSP_IEI_FAILURE_LIST ('09'O), + CBSP_IEI_RR_LOADING_LIST ('0a'O), + CBSP_IEI_CAUSE ('0b'O), + CBSP_IEI_DCS ('0c'O), + CBSP_IEI_RECOVERY_IND ('0d'O), + CBSP_IEI_MSG_ID ('0e'O), + CBSP_IEI_EMERG_IND ('0f'O), + CBSP_IEI_WARN_TYPE ('10'O), + CBSP_IEI_WARN_SEC_INFO ('11'O), + CBSP_IEI_CHANNEL_IND ('12'O), + CBSP_IEI_NUM_OF_PAGES ('13'O), + CBSP_IEI_SCHEDULE_PERIOD ('14'O), + CBSP_IEI_NUM_OF_RES_SLOTS ('15'O), + CBSP_IEI_BCAST_MSG_TYPE ('16'O), + CBSP_IEI_WARNING_PERIOD ('17'O), + CBSP_IEI_KEEP_ALIVE_REP_PERIOD ('18'O) +} with { variant "FIELDLENGTH(8)" }; + +/* 8.2.7 Category */ +type enumerated CBSP_Category { + CBSP_CATEG_HIGH_PRIO ('00'O), + CBSP_CATEG_BACKGROUND ('01'O), + CBSP_CATEG_NORMAL ('02'O) +} with { variant "FIELDLENGTH(8)" }; + +/* Cell ID Discriminator (8.2.11, ...) */ +type enumerated CBSP_CellIdDisc { + CBSP_CIDD_WHOLE_CGI (0), + CBSP_CIDD_LAC_CI (1), + CBSP_CIDD_CI (2), + CBSP_CIDD_LAI (4), + CBSP_CIDD_LAC (5), + CBSP_CIDD_ALL_IN_BSC (6) +} with { variant "FIELDLENGTH(4)" }; + +/* 8.2.13 Cause */ +type enumerated CBSP_Cause { + CBSP_CAUSE_PARAM_NOT_RECOGNISED ('00'O), + CBSP_CAUSE_PARAM_VAL_INVALID ('01'O), + CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED ('02'O), + CBSP_CAUSE_CELL_ID_NOT_VALID ('03'O), + CBSP_CAUSE_UNRECOGNISED_MSG ('04'O), + CBSP_CAUSE_MISSING_MAND_IE ('05'O), + CBSP_CAUSE_BSC_CAPACITY_EXCEEDED ('06'O), + CBSP_CAUSE_CELL_MEMORY_EXCEEDED ('07'O), + CBSP_CAUSE_BSC_MEMORY_EXCEEDED ('08'O), + CBSP_CAUSE_CB_NOT_SUPPORTED ('09'O), + CBSP_CAUSE_CB_NOT_OPERATIONAL ('0a'O), + CBSP_CAUSE_INCOMPATIBLE_DRX_PARAM ('0b'O), + CBSP_CAUSE_EXT_CHAN_NOT_SUPPORTED ('0c'O), + CBSP_CAUSE_MSG_REF_ALREADY_USED ('0d'O), + CBSP_CAUSE_UNSPECIFIED_ERROR ('0e'O), + CBSP_CAUSE_LAI_OR_LAC_NPT_VALID ('0f'O) +} with { variant "FIELDLENGTH(8)" }; + +type record CBSP_IE_MessageContent { + uint8_t user_len, + octetstring val +} with { variant (val) "FIELDLENGTH(82)" }; + +/* 8.2.6 Cell List */ +type record CBSP_IE_CellList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + BSSMAP_FIELD_CellIdentificationList cell_id +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,cell_id)" + variant (cell_id) "CROSSTAG( + cIl_CGI, cell_id_discr = '0000'B; + cIl_LAC_CI, cell_id_discr = '0001'B; + cIl_CI, cell_id_discr = '0010'B; + cIl_LAI, cell_id_discr = '0100'B; + cIl_LAC, cell_id_discr = '0101'B; + cIl_allInBSS, cell_id_discr = '0110'B; + )" +}; + +/* 8.2.10 Number of Broadcasts Completed List */ +type record CBSP_IE_NumBcastComplList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_NumBcastCompl list +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,list)" + variant (list) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_NumBcastCompl { + CBSP_FIELD_NumBcastCompl_CGI cI_CGI, + CBSP_FIELD_NumBcastCompl_LAC_CI cI_LAC_CI, + OCT0 cI_allInBSS, + CBSP_FIELD_NumBcastCompl_CI cI_CI, + CBSP_FIELD_NumBcastCompl_LAC cI_LAC, + CBSP_FIELD_NumBcastCompl_LAI cI_LAI +}; +type record CBSP_FIELD_NumBcastCompl_CGI { + BSSMAP_FIELD_CellIdentification_CGI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAC_CI { + BSSMAP_FIELD_CellIdentification_LAC_CI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAI { + BSSMAP_FIELD_CellIdentification_LAI ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_CI { + OCT2 ci, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type record CBSP_FIELD_NumBcastCompl_LAC { + OCT2 lac, + uint16_t num_bcats_compl, + CBSP_NumBcastInfo num_bcast_info, + BIT4 spare1_4 +}; +type enumerated CBSP_NumBcastInfo { + CBSP_NUM_BCAST_INFO_VALID (0), + CBSP_NUM_BCAST_INFO_OVERFLOW (1), + CBSP_NUM_BCAST_INFO_UNKNOWN (2) +} with { variant "FIELDLENGTH(4)" }; + + +/* 8.2.11 Failure List */ +type record CBSP_FailureListItem { + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_CellIdentification cell_id, + CBSP_Cause cause +} with { + variant (cell_id) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_CellIdentification +{ + BSSMAP_FIELD_CellIdentification_CGI cI_CGI, + BSSMAP_FIELD_CellIdentification_LAC_CI cI_LAC_CI, + OCT2 cI_CI, + BSSMAP_FIELD_CellIdentification_LAI cI_LAI, + OCT2 cI_LAC, + OCT2 cI_allInBSS +}; + +type record of CBSP_FailureListItem CBSP_FailureListItems; +type record CBSP_IE_FailureList { + uint16_t len, + CBSP_FailureListItems list +} with { + variant (len) "LENGTHTO(list)" +}; + +/* 8.2.12 RR Loading List */ +type record CBSP_IE_RrLoadingList { + uint16_t len, + BIT4 spare1_4, + BIT4 cell_id_discr, + CBSP_FIELD_RrLoadingList list +} with { + variant (len) "LENGTHTO(cell_id_discr,spare1_4,list)" + variant (list) "CROSSTAG( + cI_CGI, cell_id_discr = '0000'B; + cI_LAC_CI, cell_id_discr = '0001'B; + cI_CI, cell_id_discr = '0010'B; + cI_LAI, cell_id_discr = '0100'B; + cI_LAC, cell_id_discr = '0101'B; + cI_allInBSS, cell_id_discr = '0110'B; + )" +}; +type union CBSP_FIELD_RrLoadingList { + CBSP_FIELD_RrLoadingList_CGI cI_CGI, + CBSP_FIELD_RrLoadingList_LAC_CI cI_LAC_CI, + OCT0 cI_allInBSS, + CBSP_FIELD_RrLoadingList_CI cI_CI, + CBSP_FIELD_RrLoadingList_LAC cI_LAC, + CBSP_FIELD_RrLoadingList_LAI cI_LAI +}; +type record CBSP_FIELD_RrLoadingList_CGI { + BSSMAP_FIELD_CellIdentification_CGI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAC_CI { + BSSMAP_FIELD_CellIdentification_LAC_CI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAI { + BSSMAP_FIELD_CellIdentification_LAI ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_CI { + OCT2 ci, + uint8_t load1, + uint8_t load2 +}; +type record CBSP_FIELD_RrLoadingList_LAC { + OCT2 lac, + uint8_t load1, + uint8_t load2 +}; + +/* 8.2.15 Recovery Indication */ +type record CBSP_IE_RecoveryInd { + BIT4 spare1_4, + CBSP_RecoveryInd recovery +}; +type enumerated CBSP_RecoveryInd { + CBSP_RI_DATA_AVAILABLE (0), + CBSP_RI_DATA_LOST (1) +} with { variant "FIELDLENGTH(4)" }; + +/* 8.2.24 Broadcast Message Type */ +type record CBSP_IE_BcastMsgType { + BIT4 spare1_4, + CBSP_BcastMsgType msg_type +}; +type enumerated CBSP_BcastMsgType { + CBSP_BC_MSGT_CBS (0), + CBSP_BC_MSGT_EMERG (1) +} with { variant "FIELDLENGTH(4)" }; + + +type union CBSP_IE_Body { + CBSP_IE_MessageContent msg_content, + uint16_t old_ser_nr, + uint16_t new_ser_nr, + CBSP_IE_CellList cell_list, + CBSP_Category category, + uint16_t rep_period, + uint16_t num_bcast_req, + CBSP_IE_NumBcastComplList num_bcast_compl_list, + CBSP_IE_FailureList failure_list, + CBSP_IE_RrLoadingList rr_loading_list, + CBSP_Cause cause, + uint8_t dcs, + CBSP_IE_RecoveryInd recovery_ind, + uint16_t msg_id, + uint8_t emerg_ind, + uint16_t warn_type, + octetstring warn_sec_info, + uint8_t channel_ind, + uint8_t num_of_pages, + uint8_t schedule_period, + uint8_t num_of_res_slots, + CBSP_IE_BcastMsgType bcast_msg_type, + uint8_t warning_period, + uint8_t keep_alive_rep_period +} with { + variant (warn_sec_info) "FIELDLENGTH(50)" +}; + +type record CBSP_IE { + CBSP_IEI iei, + CBSP_IE_Body body +} with { + variant (body) "CROSSTAG( msg_content, iei = CBSP_IEI_MSG_CONTENT; + old_ser_nr, iei = CBSP_IEI_OLD_SERIAL_NR; + new_ser_nr, iei = CBSP_IEI_NEW_SERIAL_NR; + cell_list, iei = CBSP_IEI_CELL_LIST; + category, iei = CBSP_IEI_CATEGORY; + rep_period, iei = CBSP_IEI_REP_PERIOD; + num_bcast_req, iei = CBSP_IEI_NUM_BCAST_REQ; + num_bcast_compl_list, iei = CBSP_IEI_NUM_BCAST_COMPL_LIST; + failure_list, iei = CBSP_IEI_FAILURE_LIST; + rr_loading_list, iei = CBSP_IEI_RR_LOADING_LIST; + cause, iei = CBSP_IEI_CAUSE; + dcs, iei = CBSP_IEI_DCS; + recovery_ind, iei = CBSP_IEI_RECOVERY_IND; + msg_id, iei = CBSP_IEI_MSG_ID; + emerg_ind, iei = CBSP_IEI_EMERG_IND; + warn_type, iei = CBSP_IEI_WARN_TYPE; + warn_sec_info, iei = CBSP_IEI_WARN_SEC_INFO; + channel_ind, iei = CBSP_IEI_CHANNEL_IND; + num_of_pages, iei = CBSP_IEI_NUM_OF_PAGES; + schedule_period, iei = CBSP_IEI_SCHEDULE_PERIOD; + num_of_res_slots, iei = CBSP_IEI_NUM_OF_RES_SLOTS; + bcast_msg_type, iei = CBSP_IEI_BCAST_MSG_TYPE; + warning_period, iei = CBSP_IEI_WARNING_PERIOD; + keep_alive_rep_period, iei = CBSP_IEI_KEEP_ALIVE_REP_PERIOD + )" +}; + +type set of CBSP_IE CBSP_IEs; + +type record CBSP_PDU { + CBSP_MessageType msg_type, + uint24_t len, + CBSP_IEs ies +} with { + variant (len) "LENGTHTO(ies)" +}; + +external function enc_CBSP_PDU(in CBSP_PDU msg) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + +external function dec_CBSP_PDU(in octetstring msg) return CBSP_PDU + with { extension "prototype(convert) decode(RAW)" }; + + +} with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida2e0af7d282fd7d5318110c05efa5a10114242c Gerrit-Change-Number: 15374 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:45:18 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Sep 2019 10:45:18 +0000 Subject: Change in ...pysim[master]: pySim-prog: Add option for hex ADM keys In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15393 ) Change subject: pySim-prog: Add option for hex ADM keys ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a Gerrit-Change-Number: 15393 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 04 Sep 2019 10:45:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:45:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:45:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP_CodecPort + CBSP_Adapter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 ) Change subject: Add CBSP_CodecPort + CBSP_Adapter ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15375/1/library/CBSP_CodecPort_CtrlFunctdef.cc File library/CBSP_CodecPort_CtrlFunctdef.cc: https://gerrit.osmocom.org/#/c/15375/1/library/CBSP_CodecPort_CtrlFunctdef.cc at 16 PS1, Line 16: > several whitespace in this file. this is just a copy+paste of the other CtrlFunctdef.cc files we have for other protocols, I didn't change any whitespace. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 Gerrit-Change-Number: 15375 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 10:45:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:45:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:45:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add CBSP_CodecPort + CBSP_Adapter In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 ) Change subject: Add CBSP_CodecPort + CBSP_Adapter ...................................................................... Add CBSP_CodecPort + CBSP_Adapter Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 --- A library/CBSP_Adapter.ttcn A library/CBSP_CodecPort.ttcn A library/CBSP_CodecPort_CtrlFunct.ttcn A library/CBSP_CodecPort_CtrlFunctdef.cc 4 files changed, 259 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/CBSP_Adapter.ttcn b/library/CBSP_Adapter.ttcn new file mode 100644 index 0000000..8dbee6a --- /dev/null +++ b/library/CBSP_Adapter.ttcn @@ -0,0 +1,77 @@ +module CBSP_Adapter { + +/* CBSP Adapter layer, sitting on top of CBSP_CodecPort. + * test suites can 'inherit' in order to have a CBSP connection to the IUT which they're testing + * + * (C) 2018-2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from Osmocom_Types all; +import from General_Types all; +import from CBSP_Types all; +import from CBSP_Templates all; +import from CBSP_CodecPort all; +import from CBSP_CodecPort_CtrlFunct all; +import from IPL4asp_Types all; +import from IPL4asp_PortType all; +import from Socket_API_Definitions all; + +const integer NUM_CBSP := 3; + +type component CBSP_Adapter_CT { + /* down-facing port to CBSP Codec port */ + port CBSP_CODEC_PT CBSP[NUM_CBSP]; + var IPL4asp_Types.ConnectionId g_cbsp_conn_id[NUM_CBSP] := { -1, -1, -1 }; +} + +private function f_set_tcp_segmentation(integer idx) runs on CBSP_Adapter_CT { + /* Set function for dissecting the binary stream into packets */ + var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen); + /* Offset: 1, size of length: 3, delta: 4, multiplier: 1, big-endian */ + CBSP_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(CBSP[idx], g_cbsp_conn_id[idx], vl_f, {1, 3, 4, 1, 0}); +} + +function f_connect(charstring remote_host, IPL4asp_Types.PortNumber remote_port, + charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on CBSP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:CBSP[idx], system:CBSP); + res := CBSP_CodecPort_CtrlFunct.f_IPL4_connect(CBSP[idx], remote_host, remote_port, + local_host, local_port, 0, { tcp :={} }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect to CBSP port, check your configuration"); + mtc.stop; + } + g_cbsp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +/* Function to use to bind to a local port as IPA server, accepting remote clients */ +function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on CBSP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:CBSP[idx], system:CBSP); + res := CBSP_CodecPort_CtrlFunct.f_IPL4_listen(CBSP[idx], local_host, local_port, { tcp:={} }); + g_cbsp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +function f_cbsp_send(template (value) CBSP_PDU pdu, integer idx := 0) runs on CBSP_Adapter_CT { + CBSP[idx].send(ts_CBSP_Send(g_cbsp_conn_id[idx], pdu)); +} + +function f_cbsp_exp(template CBSP_PDU exp, integer idx := 0) runs on CBSP_Adapter_CT return CBSP_PDU { + var CBSP_RecvFrom rf; + CBSP[idx].receive(tr_CBSP_Recv(g_cbsp_conn_id[idx], exp)) -> value rf; + return rf.msg; +} + + +} diff --git a/library/CBSP_CodecPort.ttcn b/library/CBSP_CodecPort.ttcn new file mode 100644 index 0000000..442b3e4 --- /dev/null +++ b/library/CBSP_CodecPort.ttcn @@ -0,0 +1,64 @@ +module CBSP_CodecPort { + +/* Simple CBSP Codec Port, translating between raw TCP octetstring payload + * towards the IPL4asp port provider, and CBSP primitives + * which carry the decoded CBSP data types as payload. + * + * (C) 2018 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from IPL4asp_PortType all; +import from IPL4asp_Types all; +import from CBSP_Types all; + +type record CBSP_RecvFrom { + ConnectionId connId, + CBSP_PDU msg +} + +type record CBSP_Send { + ConnectionId connId, + CBSP_PDU msg +} + +template (value) CBSP_Send ts_CBSP_Send(ConnectionId conn_id, template (value) CBSP_PDU msg) := { + connId := conn_id, + msg := msg +} + +template CBSP_RecvFrom tr_CBSP_Recv(template ConnectionId conn_id, template CBSP_PDU msg) := { + connId := conn_id, + msg := msg +} + +private function IPL4_to_CBSP_RecvFrom(in ASP_RecvFrom pin, out CBSP_RecvFrom pout) { + pout.connId := pin.connId; + pout.msg := dec_CBSP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +private function CBSP_to_IPL4_Send(in CBSP_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { tcp := {} }; + pout.msg := enc_CBSP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +type port CBSP_CODEC_PT message { + out CBSP_Send; + in CBSP_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(CBSP_Send -> ASP_Send: function(CBSP_to_IPL4_Send)) + in(ASP_RecvFrom -> CBSP_RecvFrom: function(IPL4_to_CBSP_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + + + +} diff --git a/library/CBSP_CodecPort_CtrlFunct.ttcn b/library/CBSP_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..9a5d44b --- /dev/null +++ b/library/CBSP_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,52 @@ +module CBSP_CodecPort_CtrlFunct { + + import from CBSP_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout CBSP_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout CBSP_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + + external function f_IPL4_setGetMsgLen( + inout CBSP_CODEC_PT portRef, + in ConnectionId id, + inout f_IPL4_getMsgLen f, + in ro_integer msgLenArgs + ); + + +} + diff --git a/library/CBSP_CodecPort_CtrlFunctdef.cc b/library/CBSP_CodecPort_CtrlFunctdef.cc new file mode 100644 index 0000000..6d5e96b --- /dev/null +++ b/library/CBSP_CodecPort_CtrlFunctdef.cc @@ -0,0 +1,66 @@ +#include "IPL4asp_PortType.hh" +#include "CBSP_CodecPort.hh" +#include "IPL4asp_PT.hh" + +namespace CBSP__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + + void f__IPL4__setGetMsgLen( + CBSP__CodecPort::CBSP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + Socket__API__Definitions::f__getMsgLen& f, + const Socket__API__Definitions::ro__integer& msgLenArgs) + { + return f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs); + } + + +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36b39b320c21502395f9d51d769d76adf5f5d602 Gerrit-Change-Number: 15375 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Sep 2019 10:45:47 +0000 Subject: Change in ...pysim[master]: pySim-prog: Print out hex-escaped pin_adm in card parameters In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15392 ) Change subject: pySim-prog: Print out hex-escaped pin_adm in card parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 Gerrit-Change-Number: 15392 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 04 Sep 2019 10:45:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:46:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:46:20 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 Change subject: manual: Update statements regarding SCCPlite ...................................................................... manual: Update statements regarding SCCPlite SCCPlite is long supported (again) by osmo-bsc, let's remove the outdated pointers to osmo-bsc-sccplite. Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 --- M doc/manuals/chapters/overview.adoc 1 file changed, 7 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/02/15402/1 diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 869bd26..a27b0bf 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -39,14 +39,13 @@ Osmocom offers two variants of the 'A' interface's protocol stacking: - 'BSSAP/SCCPlite' -- 'BSSAP/SCCP/M3UA' +- 'BSSAP/SCCP/M3UA' (called AoIP) Traditionally, OsmoBSC only implemented the BSSAP/SCCPlite protocol, but since a -proper M3UA implementation is available from 'libosmo-sigtran' -('libosmo-sccp.git'), the stock OsmoBSC now supports only BSSAP/SCCP/M3UA. (The -idea is that SCCPlite support may be added to libosmo-sigtran at some point -in the future, after which the new `osmo-bsc` would support both variants of -the A interface.) +proper M3UA implementation became available in 2017 as part of 'libosmo-sigtran' +('libosmo-sccp.git'), the stock OsmoBSC now supports BSSAP/SCCP/M3UA. SCCPlite +support has been subsequently added to libosmo-sigtran in 2018, and now both +variants of the 'A' interface are supported by `osmo-bsc`. The difference between an BSSAP/SCCPlite and BSSAP/SCCP/M3UA is illustrated in <> and <>. @@ -54,16 +53,12 @@ ===== BSSAP/SCCPlite Unlike classic A interface implementations for E1 interfacs, -`osmo-bsc-sccplite` implements a variant of encapsulating the A interface over +`osmo-bsc` implements a variant of encapsulating the A interface over IP. To do so, the SCCP messages are wrapped in an IPA multiplex and then communicated over TCP. The audio channels are mapped to RTP streams. This protocol stacking is sometimes called "SCCPlite". -At the time of writing, if you would like to use the old BSSAP/SCCPlite protocol, -look for binary packages named `osmo-bsc-sccplite`, or compile `osmo-bsc` from -the 'openbsc.git' repository. - [[fig-sccplite]] .`osmo-bsc-sccplite` operation using 'BSSAP/SCCPlite' [graphviz] @@ -98,9 +93,7 @@ |IP |===== -To use the now-default BSSAP/SCCP/M3UA protocol, look for binary packages named -`osmo-bsc`, or compile `osmo-bsc` from the 'osmo-bsc.git' repository. It is -recommended to use the M3UA variant, which is required to operate with OsmoMSC. +It is recommended to use the M3UA variant, which is required to operate with OsmoMSC. To route SCCP/M3UA messages between OsmoBSC and and MSC, an STP instance like OsmoSTP is required. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:47:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:47:08 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 ) Change subject: manual: Update statements regarding SCCPlite ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15402/1/doc/manuals/chapters/overview.adoc File doc/manuals/chapters/overview.adoc: https://gerrit.osmocom.org/#/c/15402/1/doc/manuals/chapters/overview.adoc at 96 PS1, Line 96: which is required to operate with OsmoMSC is that actually correct? Or can OsmoMSC also run in SCCPlite mode these days? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 04 Sep 2019 10:47:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:47:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:47:36 +0000 Subject: Change in ...pysim[master]: pySim-prog: Print out hex-escaped pin_adm in card parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15392 ) Change subject: pySim-prog: Print out hex-escaped pin_adm in card parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 Gerrit-Change-Number: 15392 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Sep 2019 10:47:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 10:47:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 10:47:40 +0000 Subject: Change in ...pysim[master]: pySim-prog: Print out hex-escaped pin_adm in card parameters In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15392 ) Change subject: pySim-prog: Print out hex-escaped pin_adm in card parameters ...................................................................... pySim-prog: Print out hex-escaped pin_adm in card parameters Use h2b to convert pin_adm back to binary form for sysmoSIMgr2 Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 --- M pySim-prog.py M pySim/cards.py 2 files changed, 10 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 2638eef..7edadd7 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -406,14 +406,15 @@ def print_parameters(params): print """Generated card parameters : - > Name : %(name)s - > SMSP : %(smsp)s - > ICCID : %(iccid)s - > MCC/MNC : %(mcc)d/%(mnc)d - > IMSI : %(imsi)s - > Ki : %(ki)s - > OPC : %(opc)s - > ACC : %(acc)s + > Name : %(name)s + > SMSP : %(smsp)s + > ICCID : %(iccid)s + > MCC/MNC : %(mcc)d/%(mnc)d + > IMSI : %(imsi)s + > Ki : %(ki)s + > OPC : %(opc)s + > ACC : %(acc)s + > ADM1(hex): %(pin_adm)s """ % params diff --git a/pySim/cards.py b/pySim/cards.py index 55282aa..cda337a 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -496,7 +496,7 @@ # P2: CHV number, as in VERIFY CHV for PIN, and as in UNBLOCK CHV for PUK # P3: 08, CHV length (curiously the PUK is also 08 length, instead of 10) if p['pin_adm']: - pin = p['pin_adm'] + pin = h2b(p['pin_adm']) else: pin = h2b("4444444444444444") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia178c9938f3e6a4fbac24d767437894297d1e708 Gerrit-Change-Number: 15392 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 11:10:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 11:10:09 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 ) Change subject: manual: Update statements regarding SCCPlite ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15402/1/doc/manuals/chapters/overview.adoc File doc/manuals/chapters/overview.adoc: https://gerrit.osmocom.org/#/c/15402/1/doc/manuals/chapters/overview.adoc at 96 PS1, Line 96: which is required to operate with OsmoMSC > is that actually correct? Or can OsmoMSC also run in SCCPlite mode these days? AFAIK only BSSAP/SCCP/M3UA is currently supported in MSC, but probably Neels can confirm. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 11:10:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 14:22:45 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Sep 2019 14:22:45 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 ) Change subject: manual: Update statements regarding SCCPlite ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 14:22:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 15:04:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 15:04:44 +0000 Subject: Change in ...libosmo-netif[master]: stream: Introduce API osmo_stream_cli_is_connected Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15403 Change subject: stream: Introduce API osmo_stream_cli_is_connected ...................................................................... stream: Introduce API osmo_stream_cli_is_connected Can be used by users to fetch current status of the stream. Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b --- M include/osmocom/netif/stream.h M src/stream.c 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/03/15403/1 diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index f1c160c..3427df5 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -67,6 +67,7 @@ void osmo_stream_cli_set_disconnect_cb(struct osmo_stream_cli *cli, int (*disconnect_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_set_read_cb(struct osmo_stream_cli *cli, int (*read_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli); +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli); struct osmo_stream_cli *osmo_stream_cli_create(void *ctx); void osmo_stream_cli_destroy(struct osmo_stream_cli *cli); diff --git a/src/stream.c b/src/stream.c index 3d0b665..74fe8b6 100644 --- a/src/stream.c +++ b/src/stream.c @@ -184,6 +184,14 @@ cli->state = STREAM_CLI_STATE_CONNECTING; } +/*! \brief Check if Osmocom Stream Client is in connected state + * \param[in] cli Osmocom Stream Client + */ +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli) +{ + return cli->state == STREAM_CLI_STATE_CONNECTED; +} + /*! \brief Close an Osmocom Stream Client * \param[in] cli Osmocom Stream Client to be closed * We unregister the socket fd from the osmocom select() loop -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b Gerrit-Change-Number: 15403 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 4 15:22:46 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 15:22:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6fd6e5471ef_23082b05206da600101266@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 1178s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1178s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1178s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1178s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 1179s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 1179s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1179s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1179s] collect2: error: ld returned 1 exit status [ 1179s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1179s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1179s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1179s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1179s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1179s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1179s] make[1]: *** [Makefile:444: all] Error 2 [ 1179s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1179s] dh_auto_build: make -j1 returned exit code 2 [ 1179s] make: *** [debian/rules:6: build] Error 255 [ 1179s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1179s] [ 1179s] lamb21 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 15:22:31 UTC 2019. [ 1179s] [ 1179s] ### VM INTERACTION START ### [ 1182s] [ 1156.980674] sysrq: SysRq : Power Off [ 1182s] [ 1157.039407] reboot: Power down [ 1182s] ### VM INTERACTION END ### [ 1182s] [ 1182s] lamb21 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 15:22:34 UTC 2019. [ 1182s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 4 15:37:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 15:37:08 +0000 Subject: Change in ...libosmo-netif[master]: stream: Fix scheduling of queued messages during connecting state Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15404 Change subject: stream: Fix scheduling of queued messages during connecting state ...................................................................... stream: Fix scheduling of queued messages during connecting state If messages are sent using osmo_stream_cli_send() while the stream is still (re)connecting, they won't have a chance to be sent until the stream is connected, and hence they are queued until CONNECTING->CONNECTED is done. However, at that time (osmo_stream_cli_fd_cb), the WRITE flag was dropped unconditionally, which meant already queued packets didn't have the opportunity to be sent by the same callback until first message is enqueued and WRITE flag is set (again by osmo_stream_cli_send()). Let's make them be sent as soon as possible once the connection is available. Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c --- M src/stream.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/04/15404/1 diff --git a/src/stream.c b/src/stream.c index 74fe8b6..e9307a5 100644 --- a/src/stream.c +++ b/src/stream.c @@ -283,7 +283,12 @@ osmo_stream_cli_reconnect(cli); return 0; } - ofd->when &= ~BSC_FD_WRITE; + + /* If messages got enqueued while 'connecting', keep WRITE flag + up to dispatch them upon next main loop step */ + if (llist_empty(&cli->tx_queue)) + cli->ofd.when &= ~BSC_FD_WRITE; + LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; if (cli->proto == IPPROTO_SCTP) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c Gerrit-Change-Number: 15404 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 15:42:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 15:42:33 +0000 Subject: Change in ...libosmo-netif[master]: stream: Fix scheduling of queued messages during connecting state In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 to look at the new patch set (#2). Change subject: stream: Fix scheduling of queued messages during connecting state ...................................................................... stream: Fix scheduling of queued messages during connecting state If messages are sent using osmo_stream_cli_send() while the stream is still (re)connecting, they won't have a chance to be sent until the stream is connected, and hence they are queued until CONNECTING->CONNECTED is done. However, at that time (osmo_stream_cli_fd_cb), the WRITE flag was dropped unconditionally, which meant already queued packets didn't have the opportunity to be sent by the same callback until first message is enqueued and WRITE flag is set (again by osmo_stream_cli_send()). Let's make them be sent as soon as possible once the connection is available. Related: OS#4188 Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c --- M src/stream.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/04/15404/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c Gerrit-Change-Number: 15404 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 17:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 17:06:33 +0000 Subject: Change in ...libosmo-sccp[master]: ss7: Do not queue messages if stream is not connected Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 Change subject: ss7: Do not queue messages if stream is not connected ...................................................................... ss7: Do not queue messages if stream is not connected Consider them as lost by the lower layer, otherwise lots of old messages and retransmissions can end up queued in there until stream becomes connected, and then will flood the peer with all those messages. Depends: libosmo-netif.git 962bf9a48eed418354685dc733b8271d2dd62c27 Related: OS#4188 Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e --- M src/osmo_ss7.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/05/15405/1 diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e8a6918..053feca 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1810,6 +1810,11 @@ msgb_free(msg); return -EIO; } + if (!osmo_stream_cli_is_connected(asp->client)) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Cannot transmit, asp->client not connected\n"); + msgb_free(msg); + return -EIO; + } osmo_stream_cli_send(asp->client, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e Gerrit-Change-Number: 15405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 4 17:17:07 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 17:17:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d6ff19fae798_23082b05206da6001307e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 484s] ar: `u' modifier ignored since `D' is the default (see `U') [ 484s] libtool: link: ranlib .libs/libtransceiver_common.a [ 484s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 484s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 484s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 485s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 485s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 485s] collect2: error: ld returned 1 exit status [ 485s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 485s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 485s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 485s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 485s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 485s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 485s] make[1]: *** [Makefile:444: all] Error 2 [ 485s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 485s] dh_auto_build: make -j1 returned exit code 2 [ 485s] make: *** [debian/rules:6: build] Error 255 [ 485s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 485s] [ 485s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 4 17:16:50 UTC 2019. [ 485s] [ 485s] ### VM INTERACTION START ### [ 488s] [ 468.025380] sysrq: SysRq : Power Off [ 488s] [ 468.036875] reboot: Power down [ 488s] ### VM INTERACTION END ### [ 488s] [ 488s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 4 17:16:54 UTC 2019. [ 488s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:48:33 +0000 Subject: Change in ...libosmo-netif[master]: stream: Introduce API osmo_stream_cli_is_connected In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15403 ) Change subject: stream: Introduce API osmo_stream_cli_is_connected ...................................................................... Patch Set 1: Code-Review+1 It might make sense to think about exposing the state in general, so that we could just have a "get_state" function and an enum for the states. But I'm happy to merge this check for only a single of the possible states as-is. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b Gerrit-Change-Number: 15403 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Sep 2019 18:48:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:49:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:49:06 +0000 Subject: Change in ...libosmo-netif[master]: stream: Fix scheduling of queued messages during connecting state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15404 ) Change subject: stream: Fix scheduling of queued messages during connecting state ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c Gerrit-Change-Number: 15404 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Sep 2019 18:49:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:49:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:49:18 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 ) Change subject: manual: Update statements regarding SCCPlite ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 18:49:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:49:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:49:19 +0000 Subject: Change in ...osmo-bsc[master]: manual: Update statements regarding SCCPlite In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15402 ) Change subject: manual: Update statements regarding SCCPlite ...................................................................... manual: Update statements regarding SCCPlite SCCPlite is long supported (again) by osmo-bsc, let's remove the outdated pointers to osmo-bsc-sccplite. Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 --- M doc/manuals/chapters/overview.adoc 1 file changed, 7 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 869bd26..a27b0bf 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -39,14 +39,13 @@ Osmocom offers two variants of the 'A' interface's protocol stacking: - 'BSSAP/SCCPlite' -- 'BSSAP/SCCP/M3UA' +- 'BSSAP/SCCP/M3UA' (called AoIP) Traditionally, OsmoBSC only implemented the BSSAP/SCCPlite protocol, but since a -proper M3UA implementation is available from 'libosmo-sigtran' -('libosmo-sccp.git'), the stock OsmoBSC now supports only BSSAP/SCCP/M3UA. (The -idea is that SCCPlite support may be added to libosmo-sigtran at some point -in the future, after which the new `osmo-bsc` would support both variants of -the A interface.) +proper M3UA implementation became available in 2017 as part of 'libosmo-sigtran' +('libosmo-sccp.git'), the stock OsmoBSC now supports BSSAP/SCCP/M3UA. SCCPlite +support has been subsequently added to libosmo-sigtran in 2018, and now both +variants of the 'A' interface are supported by `osmo-bsc`. The difference between an BSSAP/SCCPlite and BSSAP/SCCP/M3UA is illustrated in <> and <>. @@ -54,16 +53,12 @@ ===== BSSAP/SCCPlite Unlike classic A interface implementations for E1 interfacs, -`osmo-bsc-sccplite` implements a variant of encapsulating the A interface over +`osmo-bsc` implements a variant of encapsulating the A interface over IP. To do so, the SCCP messages are wrapped in an IPA multiplex and then communicated over TCP. The audio channels are mapped to RTP streams. This protocol stacking is sometimes called "SCCPlite". -At the time of writing, if you would like to use the old BSSAP/SCCPlite protocol, -look for binary packages named `osmo-bsc-sccplite`, or compile `osmo-bsc` from -the 'openbsc.git' repository. - [[fig-sccplite]] .`osmo-bsc-sccplite` operation using 'BSSAP/SCCPlite' [graphviz] @@ -98,9 +93,7 @@ |IP |===== -To use the now-default BSSAP/SCCP/M3UA protocol, look for binary packages named -`osmo-bsc`, or compile `osmo-bsc` from the 'osmo-bsc.git' repository. It is -recommended to use the M3UA variant, which is required to operate with OsmoMSC. +It is recommended to use the M3UA variant, which is required to operate with OsmoMSC. To route SCCP/M3UA messages between OsmoBSC and and MSC, an STP instance like OsmoSTP is required. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d831aca7c3c7ef9f257e974faf6e8e360c59f5 Gerrit-Change-Number: 15402 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:50:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:50:08 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 18:50:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:50:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:50:23 +0000 Subject: Change in ...pysim[master]: pySim-prog: Add option for hex ADM keys In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15393 ) Change subject: pySim-prog: Add option for hex ADM keys ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a Gerrit-Change-Number: 15393 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 04 Sep 2019 18:50:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:50:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:50:41 +0000 Subject: Change in ...pysim[master]: pySim-prog: Use CSV format with headers In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15313 ) Change subject: pySim-prog: Use CSV format with headers ...................................................................... pySim-prog: Use CSV format with headers This way we can have optional fields like pin_adm in the file Also require iccid as identifier for the SIM card Set defaults for optional card parameters. Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 --- A csv-format M pySim-prog.py 2 files changed, 44 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, approved diff --git a/csv-format b/csv-format new file mode 100644 index 0000000..808003a --- /dev/null +++ b/csv-format @@ -0,0 +1,16 @@ +This file aims to describe the format of the CSV file pySim uses. + +The first line contains the fieldnames which will be used by pySim. This +avoids having a specific order. + +The field names are the following: + +iccid: ICCID of the card. Used to identify the cards (with --read-iccid) +imsi: IMSI of the card +mcc: Mobile Country Code (optional) +mnc: Mobile Network Code (optional) +smsp: MSISDN of the SMSC (optional) +ki: Ki +opc: OPc +acc: Access class of the SIM (optional) +pin_adm: Admin PIN of the SIM. Needed to reprogram various files diff --git a/pySim-prog.py b/pySim-prog.py index 7edadd7..e00c2d0 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -405,17 +405,20 @@ def print_parameters(params): - print """Generated card parameters : - > Name : %(name)s - > SMSP : %(smsp)s - > ICCID : %(iccid)s - > MCC/MNC : %(mcc)d/%(mnc)d - > IMSI : %(imsi)s - > Ki : %(ki)s - > OPC : %(opc)s - > ACC : %(acc)s - > ADM1(hex): %(pin_adm)s -""" % params + s = ["Generated card parameters :"] + if 'name' in params: + s.append(" > Name : %(name)s") + if 'smsp' in params: + s.append(" > SMSP : %(smsp)s") + s.append(" > ICCID : %(iccid)s") + s.append(" > MCC/MNC : %(mcc)d/%(mnc)d") + s.append(" > IMSI : %(imsi)s") + s.append(" > Ki : %(ki)s") + s.append(" > OPC : %(opc)s") + if 'acc' in params: + s.append(" > ACC : %(acc)s") + s.append(" > ADM1(hex): %(pin_adm)s") + print("\n".join(s) % params) def write_params_csv(opts, params): @@ -430,10 +433,11 @@ def _read_params_csv(opts, imsi): import csv - row = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'smsp', 'ki', 'opc'] f = open(opts.read_csv, 'r') - cr = csv.DictReader(f, row) + cr = csv.DictReader(f) i = 0 + if not 'iccid' in cr.fieldnames: + raise Exception("CSV file in wrong format!") for row in cr: if opts.num is not None and opts.read_imsi is False: if opts.num == i: @@ -450,8 +454,17 @@ def read_params_csv(opts, imsi): row = _read_params_csv(opts, imsi) if row is not None: - row['mcc'] = int(row['mcc']) - row['mnc'] = int(row['mnc']) + row['mcc'] = int(row.get('mcc', row['imsi'][0:3])) + row['mnc'] = int(row.get('mnc', row['imsi'][3:5])) + pin_adm = None + # We need to escape the pin_adm we get from the csv + if 'pin_adm' in row: + pin_adm = ''.join(['%02x'%(ord(x)) for x in row['pin_adm']]) + # Stay compatible to the odoo csv format + elif 'adm1' in row: + pin_adm = ''.join(['%02x'%(ord(x)) for x in row['adm1']]) + if pin_adm: + row['pin_adm'] = rpad(pin_adm, 16) return row -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0d317ea51d0cf582b82157eec6cdec074001a236 Gerrit-Change-Number: 15313 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:50:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:50:42 +0000 Subject: Change in ...pysim[master]: pySim-prog: Add option for hex ADM keys In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15393 ) Change subject: pySim-prog: Add option for hex ADM keys ...................................................................... pySim-prog: Add option for hex ADM keys pySim-prog would implicitly try to use the raw or hex-escaped format depending on the length of the parameter, now there is the option "-A" to explicitly specify the hex-escaped ADM1 key. pysim-test.sh: Explicitly use the "-A" option to pass the hex adm1 key for wavemobile cards Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a --- M pySim-prog.py M pysim-testdata/Wavemobile-SIM.data M tests/Wavemobile-SIM.data.example M tests/pysim-test.sh 4 files changed, 28 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index e00c2d0..2ac4dad 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -73,6 +73,9 @@ parser.add_option("-a", "--pin-adm", dest="pin_adm", help="ADM PIN used for provisioning (overwrites default)", ) + parser.add_option("-A", "--pin-adm-hex", dest="pin_adm_hex", + help="ADM PIN used for provisioning, as hex string (16 characters long", + ) parser.add_option("-e", "--erase", dest="erase", action='store_true', help="Erase beforehand [default: %default]", default=False, @@ -376,17 +379,27 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) + + pin_adm = None + if opts.pin_adm is not None: if len(opts.pin_adm) <= 8: pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) pin_adm = rpad(pin_adm, 16) - elif len(opts.pin_adm) == 16: - pin_adm = opts.pin_adm - else: - raise ValueError("PIN-ADM needs to be <=8 digits (ascii) or exactly 16 digits (raw hex)") - else: - pin_adm = None + else: + raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") + + if opts.pin_adm_hex is not None: + if len(opts.pin_adm_hex) == 16: + pin_adm = opts.pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("PIN-ADM needs to be hex encoded using this option") + else: + raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") # Return that return { diff --git a/pysim-testdata/Wavemobile-SIM.data b/pysim-testdata/Wavemobile-SIM.data index 46690b4..0c3379a 100644 --- a/pysim-testdata/Wavemobile-SIM.data +++ b/pysim-testdata/Wavemobile-SIM.data @@ -1,5 +1,5 @@ MCC=001 MNC=01 IMSI=001010000000102 -ADM=15E31383624FDC8A +ADM_HEX=15E31383624FDC8A diff --git a/tests/Wavemobile-SIM.data.example b/tests/Wavemobile-SIM.data.example index e9ba965..bdf2d65 100644 --- a/tests/Wavemobile-SIM.data.example +++ b/tests/Wavemobile-SIM.data.example @@ -1,5 +1,5 @@ MCC=001 MNC=01 IMSI=001010000000102 -ADM=0123456789ABCDEF +ADM_HEX=0123456789ABCDEF diff --git a/tests/pysim-test.sh b/tests/pysim-test.sh index 5af7a93..f97722d 100755 --- a/tests/pysim-test.sh +++ b/tests/pysim-test.sh @@ -156,9 +156,14 @@ OPC=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF IMSI=001010000000001 ADM=00000000 + ADM_OPT="-a" - . "$CARD_NAME.data" - python $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID -a $ADM + source "$CARD_NAME.data" + if [ -n "$ADM_HEX" ]; then + ADM_OPT="-A" + ADM=$ADM_HEX + fi + python $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID $ADM_OPT $ADM check_card $I $CARD_NAME echo "" done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id75a03482aa7f8cc3bdbb8d5967f1e8ab45c179a Gerrit-Change-Number: 15393 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:50:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:50:42 +0000 Subject: Change in ...pysim[master]: Add an option to read the iccid and batch-program the new card data In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15394 ) Change subject: Add an option to read the iccid and batch-program the new card data ...................................................................... Add an option to read the iccid and batch-program the new card data This can be used to reprogram everything including IMSI on the card: while true; do ./pySim-prog.py -p 0 -t sysmoUSIM-SJS1 --source=csv --read-csv=cards.csv --read-iccid && paplay complete.oga sleep 2 done Change-Id: Ib343a29141b5255f67a59ab76959b51e162b7916 --- M pySim-prog.py 1 file changed, 26 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 2ac4dad..8abce0a 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -39,7 +39,7 @@ from pySim.commands import SimCardCommands from pySim.cards import _cards_classes -from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn +from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF def parse_options(): @@ -131,6 +131,9 @@ parser.add_option("--read-imsi", dest="read_imsi", action="store_true", help="Read the IMSI from the CARD", default=False ) + parser.add_option("--read-iccid", dest="read_iccid", action="store_true", + help="Read the ICCID from the CARD", default=False + ) parser.add_option("-z", "--secret", dest="secret", metavar="STR", help="Secret used for ICCID/IMSI autogen", ) @@ -171,8 +174,8 @@ return options if options.source == 'csv': - if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False): - parser.error("CSV mode needs either an IMSI, --read-imsi or batch mode") + if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False) and (options.read_iccid is False): + parser.error("CSV mode needs either an IMSI, --read-imsi, --read-iccid or batch mode") if options.read_csv is None: parser.error("CSV mode requires a CSV input file") elif options.source == 'cmdline': @@ -444,7 +447,7 @@ cw.writerow([params[x] for x in row]) f.close() -def _read_params_csv(opts, imsi): +def _read_params_csv(opts, iccid=None, imsi=None): import csv f = open(opts.read_csv, 'r') cr = csv.DictReader(f) @@ -452,11 +455,15 @@ if not 'iccid' in cr.fieldnames: raise Exception("CSV file in wrong format!") for row in cr: - if opts.num is not None and opts.read_imsi is False: + if opts.num is not None and opts.read_iccid is False and opts.read_imsi is False: if opts.num == i: f.close() return row; i += 1 + if row['iccid'] == iccid: + f.close() + return row; + if row['imsi'] == imsi: f.close() return row; @@ -464,8 +471,8 @@ f.close() return None -def read_params_csv(opts, imsi): - row = _read_params_csv(opts, imsi) +def read_params_csv(opts, imsi=None, iccid=None): + row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: row['mcc'] = int(row.get('mcc', row['imsi'][0:3])) row['mnc'] = int(row.get('mnc', row['imsi'][3:5])) @@ -655,7 +662,17 @@ if opts.source == 'cmdline': cp = gen_parameters(opts) elif opts.source == 'csv': - if opts.read_imsi: + imsi = None + iccid = None + if opts.read_iccid: + if opts.dry_run: + # Connect transport + print "Insert card now (or CTRL-C to cancel)" + sl.wait_for_card(newcardonly=not first) + (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) + iccid = dec_iccid(res) + print iccid + elif opts.read_imsi: if opts.dry_run: # Connect transport print "Insert card now (or CTRL-C to cancel)" @@ -664,7 +681,7 @@ imsi = swap_nibbles(res)[3:] else: imsi = opts.imsi - cp = read_params_csv(opts, imsi) + cp = read_params_csv(opts, imsi=imsi, iccid=iccid) if cp is None: print "Error reading parameters\n" sys.exit(2) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib343a29141b5255f67a59ab76959b51e162b7916 Gerrit-Change-Number: 15394 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:51:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:51:14 +0000 Subject: Change in ...libosmo-sccp[master]: ss7: Do not queue messages if stream is not connected In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 ) Change subject: ss7: Do not queue messages if stream is not connected ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e Gerrit-Change-Number: 15405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 04 Sep 2019 18:51:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:51:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:51:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 18:51:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:54:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:54:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15171/2/sgsn/SGSN_Tests.ttcn at 525 PS2, Line 525: function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, boolean initial := false) runs on BSSGP_ConnHdlr { > good idea. [?] ACK. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 18:54:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 18:55:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 4 Sep 2019 18:55:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 ) Change subject: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 Gerrit-Change-Number: 15395 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 18:55:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 19:08:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 19:08:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 3: Code-Review-1 Don't merge it yet, I think lynxis wanted to retry about this one. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Sep 2019 19:08:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 19:11:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 19:11:42 +0000 Subject: Change in ...osmo-bsc[master]: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15406 Change subject: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET ...................................................................... a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET Function fsm_reset_ack_timeout_cb() could be called directly from within a_reset_alloc(), but it's still desirable to deferr the BSSMAP RESET to be sent asynchronously by the timer upon next main loop step as soon as possible, so whole process is already configured properly. 1ms needs to be set instead of 0 (immediate asynchronous) because value 0 actually disables the timer. As a result, moving the state_chg() after the msc->a.reset_fsm assignment is not really needed, but still makes it more clear that the pointer will be set upon call of the timer callback. Related: OS#4188 Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 --- M src/osmo-bsc/a_reset.c 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/15406/1 diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index fc59ff4..b75272f 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -161,11 +161,10 @@ reset_ctx->conn_loss_counter = 0; reset_fsm = osmo_fsm_inst_alloc(&fsm, msc, reset_ctx, LOGL_DEBUG, name); OSMO_ASSERT(reset_fsm); - - /* kick off reset-ack sending mechanism */ - osmo_fsm_inst_state_chg(reset_fsm, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); - msc->a.reset_fsm = reset_fsm; + + /* Immediatelly (1ms) kick off reset sending mechanism */ + osmo_fsm_inst_state_chg_ms(reset_fsm, ST_DISC, 1, RESET_RESEND_TIMER_NO); } /* Confirm that we sucessfully received a reset acknowlege message */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 Gerrit-Change-Number: 15406 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 19:11:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 19:11:42 +0000 Subject: Change in ...osmo-bsc[master]: bsc: gsm_08_08.c: Remove repeated conn not null check Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15407 Change subject: bsc: gsm_08_08.c: Remove repeated conn not null check ...................................................................... bsc: gsm_08_08.c: Remove repeated conn not null check msc_is_connected() already checks against NULL. Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/07/15407/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 43117a8..4b0752f 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -128,7 +128,7 @@ int rc; struct msgb *resp; - if (!conn || !msc_connected(conn)) + if (!msc_connected(conn)) return; LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 Gerrit-Change-Number: 15407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 19:11:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 4 Sep 2019 19:11:42 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC TTCN3 BSC_Tests.TC_ms_rel_ind_does_not_cause_bssmap_reset seems to sometimes run into a race condition on the order of messages received by osmo-bsc comming from MSC and BTS. Usual (expected) scenario): BTS->BSC EST IND BSC->MSC CL3 Info BSC<-MSC CC BTS->BSC REL IND BTS<-BSC DEACT SACCH BSC->MSC ClearRequest BSC<-MSC ClearCommand BSC->MSC ClearComplete BTS<-BSC RF Chan Release BTS->BSC RF Chan Release ACK Sometimes CC message and REL IND message are received swapped (because they are sent by different components asynchronously in TTCN3). As a result, osmo-bsc was failing to go into CLEARING state and was unable to send the ClearRequest because CC was still not received. So the idea is to stay in WAIT_CC until CC is received, then check if the lchan was dropped and in that case go into clearing state. Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 24 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/15408/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index f8784f9..b5edeb8 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -99,6 +99,12 @@ conn->network->T_defs, \ -1) +static bool gscon_is_active(struct gsm_subscriber_connection *conn) +{ + enum gscon_fsm_states st = conn->fi->state; + return st == ST_ACTIVE || st == ST_ASSIGNMENT || st == ST_HANDOVER; +} + /* forward MT DTAP from BSSAP side to RSL side */ static inline void submit_dtap(struct gsm_subscriber_connection *conn, struct msgb *msg) { @@ -333,10 +339,19 @@ switch (event) { case GSCON_EV_A_CONN_CFM: /* MSC has confirmed the connection, we now change into the - * active state and wait there for further operations */ - conn_fsm_state_chg(ST_ACTIVE); - /* if there's user payload, forward it just like EV_MT_DTAP */ - /* FIXME: Question: if there's user payload attached to the CC, forward it like EV_MT_DTAP? */ + * active state and wait there for further operations. */ + if (conn->lchan) { + conn_fsm_state_chg(ST_ACTIVE); + /* if there's user payload, forward it just like EV_MT_DTAP */ + /* FIXME: Question: if there's user payload attached to the CC, forward it like EV_MT_DTAP? */ + } else { + /* If associated lchan was released while we were + * waiting for the confirmed connection, then instead + * simply drop the connection */ + LOGPFSML(fi, LOGL_INFO, "Connection confirmed but lchan was dropped before, clearing conn\n"); + osmo_fsm_inst_state_chg(conn->fi, ST_CLEARING, 60, 999); + gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); + } break; default: OSMO_ASSERT(false); @@ -589,7 +604,7 @@ [ST_WAIT_CC] = { .name = "WAIT_CC", .in_event_mask = S(GSCON_EV_A_CONN_CFM), - .out_state_mask = S(ST_ACTIVE), + .out_state_mask = S(ST_ACTIVE) | S(ST_CLEARING), .action = gscon_fsm_wait_cc, }, [ST_ACTIVE] = { @@ -651,9 +666,10 @@ lchan_forget_conn(conn->lchan); conn->lchan = NULL; } - if (!conn->lchan) { - if (conn->fi->state != ST_CLEARING) - osmo_fsm_inst_state_chg(conn->fi, ST_CLEARING, 60, 999); + /* if conn is not active we cannot send bssap. If on WAIT_CC, then let's + * wait until CC is received to tear down */ + if (!conn->lchan && gscon_is_active(conn)) { + osmo_fsm_inst_state_chg(conn->fi, ST_CLEARING, 60, 999); gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 4 19:27:59 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 19:27:59 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d70104d2b65d_23082b05206da6001568c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 477s] ar: `u' modifier ignored since `D' is the default (see `U') [ 477s] libtool: link: ranlib .libs/libtransceiver_common.a [ 477s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 477s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 477s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 478s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 478s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 478s] collect2: error: ld returned 1 exit status [ 478s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 478s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 478s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 478s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 478s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 478s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 478s] make[1]: *** [Makefile:444: all] Error 2 [ 478s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 478s] dh_auto_build: make -j1 returned exit code 2 [ 478s] make: *** [debian/rules:6: build] Error 255 [ 478s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 478s] [ 478s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 4 19:27:47 UTC 2019. [ 478s] [ 478s] ### VM INTERACTION START ### [ 481s] [ 461.753587] sysrq: SysRq : Power Off [ 481s] [ 461.765656] reboot: Power down [ 481s] ### VM INTERACTION END ### [ 481s] [ 481s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 4 19:27:50 UTC 2019. [ 481s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 4 19:36:10 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 04 Sep 2019 19:36:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d70123e7ee11_23082b05206da6001582ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 991s] ar: `u' modifier ignored since `D' is the default (see `U') [ 991s] libtool: link: ranlib .libs/libtransceiver_common.a [ 991s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 991s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 991s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 991s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 991s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 991s] collect2: error: ld returned 1 exit status [ 991s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 991s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 991s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 991s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 991s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 991s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 991s] make[1]: *** [Makefile:444: all] Error 2 [ 991s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 991s] dh_auto_build: make -j1 returned exit code 2 [ 991s] make: *** [debian/rules:6: build] Error 255 [ 991s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 991s] [ 991s] lamb53 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 19:35:57 UTC 2019. [ 991s] [ 991s] ### VM INTERACTION START ### [ 995s] [ 949.553669] sysrq: SysRq : Power Off [ 995s] [ 949.559855] reboot: Power down [ 995s] ### VM INTERACTION END ### [ 995s] [ 995s] lamb53 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Wed Sep 4 19:36:01 UTC 2019. [ 995s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:05:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 4 Sep 2019 22:05:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data PADDING is one of the TITAN specific language extensions [1], which tells the RAW codec that an encoded payload shall end at a boundary fixed by a multiple of 'padding' unit bits counted from the beginning of the message. Let's use it for record 'PCUIF_data', where the fixed-size buffer is located in between the other fields, so padding will be ignored by the RAW coding after decoding: $HOST: dec_PCUIF_Message(): Decoded @PCUIF_Types.PCUIF_Message: { msg_type := PCU_IF_MSG_DATA_REQ (0), bts_nr := 0, spare := '0000'O, u := { data_req := { sapi := PCU_IF_SAPI_AGCH (2), len := 23, data := '2D063F100FE3673A096B0000C800300B2B2B2B2B2B2B2B', ... } } } As a result, we don't have to deal with padding manually and can safely use 'decmatch' statement in the receive templates. [1] usrguide/referenceguide/4-ttcn3_language_extensions.adoc Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef --- M library/PCUIF_Types.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/15409/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 132b72d..551081b 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -76,10 +76,15 @@ PCUIF_Text text } with { variant "" }; +/* This is a bad side of the current protocol design: fixed-size buffer is located + * in between the other fields of the message, so if the payload is smaller than + * 162 octets (1296 bits), we need to fill the remaining space with padding. */ +type octetstring PCUIF_DataPad with { variant "ALIGN(left), PADDING(1296)" }; + type record PCUIF_data { PCUIF_Sapi sapi, uint8_t len, - octetstring data length(162), + PCUIF_DataPad data, uint32_t fn, uint16_t arfcn, uint8_t trx_nr, @@ -89,7 +94,7 @@ uint16_t ber10k, int16_t ta_offs_qbits, int16_t lqual_cb -} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" }; +} with { variant (len) "LENGTHTO(data)" }; type record PCUIF_data_cnf_dt { PCUIF_Sapi sapi, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:32:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:32:10 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: sccp_sap_up: don't decode empty disconnect indications In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15180 ) Change subject: iu_client: sccp_sap_up: don't decode empty disconnect indications ...................................................................... iu_client: sccp_sap_up: don't decode empty disconnect indications Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 --- M src/iu_client.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/iu_client.c b/src/iu_client.c index 8da9a43..ce06f8a 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -799,7 +799,9 @@ if (!ue) break; - rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); + rc = 0; + if (msgb_l2len(oph->msg) > 0) + rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I1fea8f19433d908583de71d8d2401bbb8c0c7900 Gerrit-Change-Number: 15180 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:33:37 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:33:37 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_free_ue() to free the UE connections In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15161 ) Change subject: iu_client: introduce ranap_iu_free_ue() to free the UE connections ...................................................................... iu_client: introduce ranap_iu_free_ue() to free the UE connections When freeing the UE connection object, disconnect the SCCP connection. Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 14 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index 873b2d2..0cb84da 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -70,5 +70,9 @@ int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi); int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause); +/* freeing the UE will release all resources + * This will close the SCCP connection connected to the UE */ +void ranap_iu_free_ue(struct ranap_ue_conn_ctx *ue_ctx); + void ranap_iu_vty_init(int iu_parent_node, enum ranap_nsap_addr_enc *rab_assign_addr_enc); int ranap_iu_vty_config_write(struct vty *vty, const char *indent); diff --git a/src/iu_client.c b/src/iu_client.c index ce06f8a..c7ed341 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -131,6 +131,16 @@ return NULL; } +void ranap_iu_free_ue(struct ranap_ue_conn_ctx *ue_ctx) +{ + if (!ue_ctx) + return; + + osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); + llist_del(&ue_ctx->list); + talloc_free(ue_ctx); +} + static struct ranap_iu_rnc *iu_rnc_alloc(uint16_t rnc_id, struct osmo_sccp_addr *addr) { struct ranap_iu_rnc *rnc = talloc_zero(talloc_iu_ctx, struct ranap_iu_rnc); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I6812edb4da487507ccf9f483de801c1c65c4b72b Gerrit-Change-Number: 15161 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:34:28 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:34:28 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect in... In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15182 ) Change subject: iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication ...................................................................... iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 --- M src/iu_client.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/iu_client.c b/src/iu_client.c index c7ed341..7a0a78e 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -812,6 +812,13 @@ rc = 0; if (msgb_l2len(oph->msg) > 0) rc = ranap_cn_rx_co(cn_ranap_handle_co, ue, msgb_l2(oph->msg), msgb_l2len(oph->msg)); + + /* A Iu Release event might be used to free the UE in cn_ranap_handle_co. */ + ue = ue_conn_ctx_find(prim->u.disconnect.conn_id); + if (!ue) + break; + + global_iu_event_cb(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I168b5c67336c4d1cb9fcebb9c26a7cf2fc46e420 Gerrit-Change-Number: 15182 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:50:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:50:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#7) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... sgsn: add Iu Attach Request MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Auth Request MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 --- M sgsn/SGSN_Tests.ttcn A sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/13866/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:50:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:50:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 to look at the new patch set (#3). Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... sgsn: add TC_iu_attach_geran_rau MS <-> SGSN: Attach over Iu MS <-> SGSN: Routing Area Update over Geran The tess case will crash the SGSN and is not included in the default run. Change-Id: Ie043639638a640a2041324fc910964385a41c77d --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/15163/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 4 22:50:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 4 Sep 2019 22:50:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 to look at the new patch set (#2). Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The tess case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15397/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 00:15:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 00:15:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA ...................................................................... PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade --- M library/GSM_RR_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 68 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/15410/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 457f0f5..987f808 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -589,7 +589,8 @@ /* TODO: starting time TLV */ IaRestOctets rest_octets optional } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" + variant "PADDING(184), PADDING_PATTERN('00101011'B)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -766,6 +767,31 @@ } }; + template GsmRrMessage tr_IMM_TBF_ASS(template boolean dl := ?, + template uint8_t ra := ?, + template GsmFrameNumber fn := ?, + template TimingAdvance ta := ?, + template PacketChannelDescription ch_desc := ?, + template IaRestOctets rest := ?) := { + header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), + payload := { + imm_ass := { + ded_or_tbf := { + spare := ?, + tma := ?, + downlink := dl, + tbf := true + }, + page_mode := PAGE_MODE_NORMAL, + chan_desc := omit, + pkt_chan_desc := ch_desc, + req_ref := tr_compute_ReqRef(ra, fn), + timing_advance := ta, + mobile_allocation := ?, + rest_octets := rest + } + } + }; template (value) GsmRrL3Message ts_MEAS_REP(boolean valid, uint6_t rxl_f, uint6_t rxl_s, uint3_t rxq_f, uint3_t rxq_s, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 4732da6..03d914c 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -438,6 +438,44 @@ setverdict(pass); } +/* Test of correct Timing Advance at the time of TBF establishment + * (derived from timing offset during PRACH request). */ +testcase TC_ta_init_prach() runs on RAW_Test_CT { + /* Initialize NS codec + * TODO: do we really need it? */ + f_init_ns_codec(); + + /* Initialize PCU interface (emulate the BTS) */ + f_init_pcuif(); + + /* Packet Immediate Assignment on AGCH */ + var template PCUIF_Message data_req_tpl := tr_PCUIF_DATA_REQ( + bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_AGCH); + + for (var integer ta := 0; ta < 64; ta := ta + 16) { + /* Send an Access Burst (8-bit) + * FIXME: properly encode RA, + * HACK: we're using the same TDMA FN */ + f_pcuif_tx(ts_PCUIF_RACH_IND(bts_nr := 0, ra := oct2int('3A'O), is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := 1337, arfcn := 871, + qta := ta * 4)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + data_req_tpl.u.data_req.data := decmatch tr_IMM_TBF_ASS( + dl := false, ra := oct2int('3A'O), fn := 1337, ta := ta); + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, data_req_tpl)) { + log("Rx Immediate Assignment for UL TBF"); + setverdict(pass); + } + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, PCUIF_Message:?)) { + repeat; + } + } + } +} control { execute( TC_ns_reset() ); @@ -450,6 +488,9 @@ execute( TC_ns_so_block() ); execute( TC_pcuif_suspend() ); + + /* Timing Advance tests (see GSM TS 43.064, section 6) */ + execute( TC_ta_init_prach() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 5 02:01:08 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 02:01:08 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_10/armv7l In-Reply-To: References: Message-ID: <5d706c7dd8063_23082b05206da6002180c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_10/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 211s] | #define HAVE_STDINT_H 1 [ 211s] | #define HAVE_UNISTD_H 1 [ 211s] | #define HAVE_DLFCN_H 1 [ 211s] | #define LT_OBJDIR ".libs/" [ 211s] | #define STDC_HEADERS 1 [ 211s] | #define HAVE_EXECINFO_H 1 [ 211s] | #define HAVE_SYS_SELECT_H 1 [ 211s] | #define HAVE_SYS_SOCKET_H 1 [ 211s] | #define HAVE_SYSLOG_H 1 [ 211s] | #define HAVE_CTYPE_H 1 [ 211s] | #define HAVE_LIBSCTP 1 [ 211s] | #define HAVE_PCAP_H 1 [ 211s] | [ 211s] | configure: exit 0 [ 211s] [ 211s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 211s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 211s] make: *** [debian/rules:13: build] Error 2 [ 211s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 211s] [ 211s] armbuild25 failed "build libosmo-netif_0.6.0.dsc" at Thu Sep 5 02:00:57 UTC 2019. [ 211s] [ 211s] ### VM INTERACTION START ### [ 214s] [ 188.164642] sysrq: SysRq : Power Off [ 214s] [ 188.165841] reboot: Power down [ 214s] ### VM INTERACTION END ### [ 214s] [ 214s] armbuild25 failed "build libosmo-netif_0.6.0.dsc" at Thu Sep 5 02:01:00 UTC 2019. [ 214s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 5 03:02:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 03:02:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d707acc19a64_23082b05206da60022317d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 297s] ar: `u' modifier ignored since `D' is the default (see `U') [ 297s] libtool: link: ranlib .libs/libtransceiver_common.a [ 297s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 297s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 297s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 297s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 297s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 297s] collect2: error: ld returned 1 exit status [ 297s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 297s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 297s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 297s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 297s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 297s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 297s] make[1]: *** [Makefile:444: all] Error 2 [ 297s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 297s] dh_auto_build: make -j1 returned exit code 2 [ 297s] make: *** [debian/rules:6: build] Error 255 [ 297s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 297s] [ 297s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 03:02:00 UTC 2019. [ 297s] [ 297s] ### VM INTERACTION START ### [ 300s] [ 287.677292] sysrq: SysRq : Power Off [ 300s] [ 287.684090] reboot: Power down [ 300s] ### VM INTERACTION END ### [ 300s] [ 300s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 03:02:03 UTC 2019. [ 300s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 5 04:36:01 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 04:36:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7090b420691_23082b05206da600232910@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 994s] ar: `u' modifier ignored since `D' is the default (see `U') [ 994s] libtool: link: ranlib .libs/libtransceiver_common.a [ 994s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 994s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 994s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 994s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 994s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 994s] collect2: error: ld returned 1 exit status [ 994s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 994s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 994s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 994s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 994s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 994s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 994s] make[1]: *** [Makefile:444: all] Error 2 [ 994s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 994s] dh_auto_build: make -j1 returned exit code 2 [ 994s] make: *** [debian/rules:6: build] Error 255 [ 994s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 995s] [ 995s] lamb17 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 04:35:41 UTC 2019. [ 995s] [ 995s] ### VM INTERACTION START ### [ 998s] [ 945.199891] sysrq: SysRq : Power Off [ 998s] [ 945.263612] reboot: Power down [ 998s] ### VM INTERACTION END ### [ 998s] [ 998s] lamb17 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 04:35:45 UTC 2019. [ 998s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 5 04:48:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 04:48:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7093a317e8f_23082b05206da6002335f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 944s] ar: `u' modifier ignored since `D' is the default (see `U') [ 944s] libtool: link: ranlib .libs/libtransceiver_common.a [ 945s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 945s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 945s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 945s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 945s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 945s] collect2: error: ld returned 1 exit status [ 945s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 945s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 945s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 945s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 945s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 945s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 945s] make[1]: *** [Makefile:444: all] Error 2 [ 945s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 945s] dh_auto_build: make -j1 returned exit code 2 [ 945s] make: *** [debian/rules:6: build] Error 255 [ 945s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 946s] [ 946s] cloud117 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 04:47:55 UTC 2019. [ 946s] [ 946s] ### VM INTERACTION START ### [ 949s] [ 870.906408] sysrq: SysRq : Power Off [ 949s] [ 870.939802] reboot: Power down [ 950s] ### VM INTERACTION END ### [ 950s] [ 950s] cloud117 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Thu Sep 5 04:48:00 UTC 2019. [ 950s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 5 07:13:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 07:13:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 ) Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Sep 2019 07:13:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 5 08:41:42 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 08:41:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d70ca594dee3_23082b05206da60029305d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 643s] ar: `u' modifier ignored since `D' is the default (see `U') [ 643s] libtool: link: ranlib .libs/libtransceiver_common.a [ 643s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 643s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 644s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 644s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 644s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 644s] collect2: error: ld returned 1 exit status [ 644s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 644s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 644s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 644s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 644s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 644s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 644s] make[1]: *** [Makefile:444: all] Error 2 [ 644s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 644s] dh_auto_build: make -j1 returned exit code 2 [ 644s] make: *** [debian/rules:6: build] Error 255 [ 644s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 644s] [ 644s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 5 08:41:21 UTC 2019. [ 644s] [ 644s] ### VM INTERACTION START ### [ 648s] [ 626.577545] sysrq: SysRq : Power Off [ 648s] [ 626.595158] reboot: Power down [ 648s] ### VM INTERACTION END ### [ 648s] [ 648s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 5 08:41:26 UTC 2019. [ 648s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 5 08:48:51 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 05 Sep 2019 08:48:51 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d70cbffb7ed2_23082b05206da600295893@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 628s] ar: `u' modifier ignored since `D' is the default (see `U') [ 628s] libtool: link: ranlib .libs/libtransceiver_common.a [ 628s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 628s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 629s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 629s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 629s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 629s] collect2: error: ld returned 1 exit status [ 629s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 629s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 629s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 629s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 629s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 629s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 629s] make[1]: *** [Makefile:444: all] Error 2 [ 629s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 629s] dh_auto_build: make -j1 returned exit code 2 [ 629s] make: *** [debian/rules:6: build] Error 255 [ 629s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 629s] [ 629s] lamb19 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 5 08:48:43 UTC 2019. [ 629s] [ 629s] ### VM INTERACTION START ### [ 632s] [ 606.502541] sysrq: SysRq : Power Off [ 632s] [ 606.522491] reboot: Power down [ 632s] ### VM INTERACTION END ### [ 632s] [ 632s] lamb19 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 5 08:48:47 UTC 2019. [ 632s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:02:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:02:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:02:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:04:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:04:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 ) Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15163/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15163/3//COMMIT_MSG at 12 PS3, Line 12: The tess case will crash the SGSN and is not included tess->test -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:04:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:05:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:05:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:05:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:10:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:10:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 ) Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:10:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:12:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 09:12:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... bts: Add test for ETWS Primary Notification via P1 Rest Octets Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Related: OS#4047 --- M bts/BTS_Tests_SMSCB.ttcn M library/RSL_Types.ttcn 2 files changed, 155 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/15411/1 diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 962b516..7f31eb2 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -22,6 +22,7 @@ import from L1CTL_Types all; import from LAPDm_Types all; import from IPA_Emulation all; +import from GSM_RR_Types all; import from RSL_Types all; @@ -875,6 +876,135 @@ } +private template GsmRrMessage tr_PagingType1 := { + header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?), + payload :=? +}; + +private template GsmRrMessage tr_PagingType1_empty := { + header := t_RrHeader(PAGING_REQUEST_TYPE_1, 5), + payload := { + pag_req_1 := { + chan_needed := { + second := CHAN_NEED_ANY, + first := CHAN_NEED_ANY + }, + page_mode := PAGE_MODE_NORMAL, + mi1 := { + len := 1, + mi := { + unused := { + pad := '1111'B, + odd := false, + mi_type := MI_TYPE_NONE + } + } + }, + mi2 := omit, + rest_octets := ? + } + } +}; + +testcase TC_etws_p1ro() runs on test_CT { + var template RslChannelNr t_chan_nr := ts_RslChanNr_PCH_AGCH(0); + /* we expect four blocks of 14 bytes, let's fill them with content easily + * distinguishable */ + const octetstring etws_seg0 := '000102030405060708090a0b0c0d'O; + const octetstring etws_seg1 := '101112131415161718191a1b1c1d'O; + const octetstring etws_seg2 := '202122232425262728292a2b2c2d'O; + const octetstring etws_seg3 := '303132333435363738393a3b3c3d'O; + const octetstring etws := etws_seg0 & etws_seg1 & etws_seg2 & etws_seg3; + /* decoding the actual entire P1 rest octets by manually generated code is + * too much effort; instead simply do a binary compare to this constant */ + const bitstring c_P1RO_hdr := '00101011101'B; + var integer seg_received[4] := { 0, 0, 0, 0 }; + var L1ctlDlMessage dl; + timer T := 10.0; + + f_init(); + f_init_l1ctl(); + f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); + + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(etws))); + /* wait for a bit until old non-ETWS Paging messages are gone */ + f_sleep(1.0); + L1CTL.clear; + T.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_chan_nr)) -> value dl { + var GsmRrMessage l3 := dec_GsmRrMessage(dl.payload.data_ind.payload); + select (l3) { + case (tr_PagingType1_empty) { + var octetstring p1ro := l3.payload.pag_req_1.rest_octets; + var bitstring midamble := oct2bit(substr(p1ro, 0, 3)); + var octetstring segment := substr(p1ro, 3, lengthof(p1ro)-3); + var BIT1 not_first := substr(midamble, 11, 1); + var integer seg_nr := bit2int(substr(midamble, 12, 4)); + var boolean err := false; + if (substr(midamble, 0, 11) != c_P1RO_hdr) { + setverdict(fail, "Received unexpected P1 RO header ", midamble); + } + if (not_first == '1'B) { + select (seg_nr) { + case (2) { + if (segment != etws_seg1) { + err := true + } else { + seg_received[1] := seg_received[1] + 1; + }} + case (3) { + if (segment != etws_seg2) { + err := true + } else { + seg_received[2] := seg_received[2] + 1; + }} + case (4) { + if (segment != etws_seg3) { + err := true + } else { + seg_received[3] := seg_received[3] + 1; + }} + case else { setverdict(fail, "Unknown segment Nr ", seg_nr); } + } + if (err) { + setverdict(fail, "Unexpected segment ", seg_nr, ": ", segment); + } + } else { + if (seg_nr != 4) { + setverdict(fail, "Invalid number of segments ", seg_nr); + err := true; + } + if (segment != etws_seg0) { + setverdict(fail, "Invalid first segment ", segment); + err := true; + } + if (not err) { + seg_received[0] := seg_received[0] + 1; + } + } + } + case (tr_PagingType1) { + setverdict(fail, "Received unexpected PAGING TYPE 1: ", l3); + } + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } + log("Quantity of received ETWS PN segments: ", seg_received); + var integer i; + for (i := 0; i < 4; i := i+1) { + if (seg_received[i] < 15) { + setverdict(fail, "Segment ", i, " not received often enough"); + } + } +} + + /* SMSCB TODO: * multiple SMS BC CMD at the same time: Ensure all of them are sent exactly once * extended CBCH vs. normal CBCH @@ -908,6 +1038,8 @@ execute( TC_cbc_sdcch8_load_idle() ); execute( TC_cbc_sdcch8_load_overload() ); } + + execute( TC_etws_p1ro() ); } diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 87de9a4..da8c7f8 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -149,7 +149,9 @@ RSL_MT_IPAC_DLCX_IND ('01110110'B), RSL_MT_IPAC_DLCX ('01110111'B), RSL_MT_IPAC_DLCX_ACK ('01111000'B), - RSL_MT_IPAC_DLCX_NACK ('01111001'B) + RSL_MT_IPAC_DLCX_NACK ('01111001'B), + + RSL_MT_OSMO_ETWS_CMD ('01111111'B) } with { variant "FIELDLENGTH(8)" }; /*! RSL Information Element Identifiers (Chapter 9.3) */ @@ -2115,6 +2117,26 @@ } } + template (value) RSL_Message ts_RSL_OSMO_ETWS_CMD(template (value) octetstring msg, + template (value) RslChannelNr chan_nr := ts_RslChanNr_PCH_AGCH(0)) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_OSMO_ETWS_CMD, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_SMSCB_MSG, RSL_IE_Body:{smscb_message := ts_RSL_LV(msg)}) + } + } + template RSL_Message tr_RSL_OSMO_ETWS_CMD(template RslChannelNr chan_nr := ?, + template octetstring msg := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_OSMO_ETWS_CMD, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{smscb_message := tr_RSL_LV(msg)}) + } + } + + function f_rsl_find_ie(RSL_Message msg, RSL_IE_Type iei, out RSL_IE_Body ret) return boolean { for (var integer i := 0; i < sizeof(msg.ies); i := i+1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:16:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:16:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 ) Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:16:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:21:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 09:21:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 to look at the new patch set (#2). Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In this testsuite, we simulate BTS and CBC by attaching to RSL and CBSP protocol interfaces of the BSC. We then issue a variety of CBSP commands to the BSC and check for corresponding action on both the BTS- facing RSL as well as responses on the CBSP side. Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 --- M bsc/BSC_Tests.cfg A bsc/BSC_Tests_CBSP.ttcn M bsc/gen_links.sh M bsc/regen_makefile.sh M library/CBSP_Templates.ttcn M library/CBSP_Types.ttcn M library/RSL_Types.ttcn 7 files changed, 550 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15376/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:21:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 09:21:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Hack to make receive templates work Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 Change subject: CBSP: Hack to make receive templates work ...................................................................... CBSP: Hack to make receive templates work For some reason, the 'ifpresent' annotation doesn't work in lists of templates. This means we have to re-think the CBSP template structure at some point. However, this would be a significant detour and I'd rather have working tests right now, so we can verify the actual functionality merged into the BSC right now. Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 --- M library/CBSP_Templates.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/15412/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 3c60f14..86eaf69 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -454,7 +454,7 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + //ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; } else if (istemplatekind(compl_list, "?")) { ies[lengthof(ies)] := tr_CbspNumComplList(?); } else if (not istemplatekind(compl_list, "omit")) { @@ -507,14 +507,14 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(compl_list, "?")) { ies[lengthof(ies)] := tr_CbspNumComplList(?); } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -626,12 +626,12 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + //ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 Gerrit-Change-Number: 15412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:29:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:29:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn at 94 PS2, Line 94: activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, In the as_IgnRSL I see one template needs to be passed, but you seem to be passing some sort of array or tuple here? https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn at 126 PS2, Line 126: //[] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_EMERG, CBSP_RI_DATA_LOST))); This line can be dropped? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:29:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:30:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:30:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... Patch Set 2: Code-Review-1 Build fails: ttcn3_makefilegen: error: Cannot find any source file for argument `CBSP_CodecPort_CtrlFunctdef.cc'. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:30:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:31:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:31:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Hack to make receive templates work In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 ) Change subject: CBSP: Hack to make receive templates work ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15412/1/library/CBSP_Templates.ttcn File library/CBSP_Templates.ttcn: https://gerrit.osmocom.org/#/c/15412/1/library/CBSP_Templates.ttcn at 457 PS1, Line 457: //ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; Better leave a comment here on the implications on having this commented. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 Gerrit-Change-Number: 15412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:31:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:41:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:41:13 +0000 Subject: Change in ...libosmo-sccp[master]: ss7: Do not queue messages if stream is not connected In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 ) Change subject: ss7: Do not queue messages if stream is not connected ...................................................................... Patch Set 1: Expected failure since dependent libosmo-netif patch is still not merged. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e Gerrit-Change-Number: 15405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:41:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:43:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:43:07 +0000 Subject: Change in ...libosmo-netif[master]: stream: Introduce API osmo_stream_cli_is_connected In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15403 ) Change subject: stream: Introduce API osmo_stream_cli_is_connected ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > It might make sense to think about exposing the state in general, so that we could just have a "get_state" function and an enum for the states. But I'm happy to merge this check for only a single of the possible states as-is. My impression is that (contrary to what's usually done in osmocom code) the API is designed to hide most implementation details (data structures, etc.), so I think simply asking if the stream is connected is enough for now. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b Gerrit-Change-Number: 15403 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:43:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 09:44:12 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Manage queue timers internally In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 ) Change subject: gtp: Manage queue timers internally ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c File gtp/gtp.c: https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c at 396 PS2, Line 396: /*printf("Retrans: New beginning %d\n", (int) now); */ Commented out code, also the printfs below. How about turning them into debug log messages, or removing them altogether? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ife7cfd66d6356f413263fe5bda9e43091f5c9e98 Gerrit-Change-Number: 15309 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:44:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:45:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:45:54 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Manage queue timers internally In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 ) Change subject: gtp: Manage queue timers internally ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c File gtp/gtp.c: https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c at 396 PS2, Line 396: /*printf("Retrans: New beginning %d\n", (int) now); */ > Commented out code, also the printfs below. [?] Fine, but not related to this commit (since I'm mostly moving code from old public API to this new internal function). Can be done later. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ife7cfd66d6356f413263fe5bda9e43091f5c9e98 Gerrit-Change-Number: 15309 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:45:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:46:16 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 09:46:16 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15310 ) Change subject: ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I295b89ee493d230c2550d461fca9602c589d38b5 Gerrit-Change-Number: 15310 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:46:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:48:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 09:48:11 +0000 Subject: Change in ...libosmo-netif[master]: stream: Introduce API osmo_stream_cli_is_connected In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15403 ) Change subject: stream: Introduce API osmo_stream_cli_is_connected ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b Gerrit-Change-Number: 15403 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:48:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:50:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 09:50:46 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Manage queue timers internally In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 ) Change subject: gtp: Manage queue timers internally ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c File gtp/gtp.c: https://gerrit.osmocom.org/#/c/15309/2/gtp/gtp.c at 396 PS2, Line 396: /*printf("Retrans: New beginning %d\n", (int) now); */ > Fine, but not related to this commit (since I'm mostly moving code from old public API to this new i [?] Right, I did not realize that these were moved too, but now I see it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ife7cfd66d6356f413263fe5bda9e43091f5c9e98 Gerrit-Change-Number: 15309 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 09:50:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:52:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 09:52:25 +0000 Subject: Change in ...libosmo-netif[master]: stream: Fix scheduling of queued messages during connecting state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15404 ) Change subject: stream: Fix scheduling of queued messages during connecting state ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c Gerrit-Change-Number: 15404 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Sep 2019 09:52:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:59:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:59:52 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Manage queue timers internally In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 ) Change subject: gtp: Manage queue timers internally ...................................................................... gtp: Manage queue timers internally Currently each user (application) of libgtp needs to manage its own timers in order to call gtp_retrans_timeout() and gtp_retrans() and maintain retransmit and duplicate queues working correctly. This adds unnecesary complexity to applications since nowadays, as a libosmocore user, libgtp can handle this internally in an easy way. Furthermore, keeping the timers internal to the library allows for easier extension of features as well as re-implementation of related code in the future. Last but not least, it was detected that existing known applications (osmo-sgsn, osmo-ggsn, sgsnemu) are not using correctly the API, since they should be updating their timers through gtp_retrans_timeout() everytime a message is enqueued/transmitted, otherwise they may fire gtp_retrans() for retransmition too late in some cases. Related: OS#4178 Change-Id: Ife7cfd66d6356f413263fe5bda9e43091f5c9e98 --- M gtp/gtp.c M gtp/gtp.h 2 files changed, 128 insertions(+), 72 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/gtp/gtp.c b/gtp/gtp.c index 22c95b5..ec83041 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -386,6 +386,109 @@ } } +static int queue_timer_retrans(struct gsn_t *gsn) +{ + /* Retransmit any outstanding packets */ + /* Remove from queue if maxretrans exceeded */ + time_t now; + struct qmsg_t *qmsg; + now = time(NULL); + /*printf("Retrans: New beginning %d\n", (int) now); */ + + /* get first element in queue, as long as the timeout of that + * element has expired */ + while ((!queue_getfirst(gsn->queue_req, &qmsg)) && + (qmsg->timeout <= now)) { + /*printf("Retrans timeout found: %d\n", (int) time(NULL)); */ + if (qmsg->retrans > N3_REQUESTS) { /* To many retrans */ + LOGP(DLGTP, LOGL_NOTICE, "Timeout of seq %" PRIu16 "\n", + qmsg->seq); + if (gsn->cb_conf) + gsn->cb_conf(qmsg->type, EOF, NULL, qmsg->cbp); + queue_freemsg(gsn->queue_req, qmsg); + } else { + LOGP(DLGTP, LOGL_INFO, "Retransmit (%d) of seq %" PRIu16 "\n", + qmsg->retrans, qmsg->seq); + if (sendto(qmsg->fd, &qmsg->p, qmsg->l, 0, + (struct sockaddr *)&qmsg->peer, + sizeof(struct sockaddr_in)) < 0) { + gsn->err_sendto++; + LOGP(DLGTP, LOGL_ERROR, + "Sendto(fd0=%d, msg=%lx, len=%d) failed: Error = %s\n", + gsn->fd0, (unsigned long)&qmsg->p, + qmsg->l, strerror(errno)); + } + queue_back(gsn->queue_req, qmsg); + qmsg->timeout = now + T3_REQUEST; + qmsg->retrans++; + } + } + + /* Also clean up reply timeouts */ + while ((!queue_getfirst(gsn->queue_resp, &qmsg)) && + (qmsg->timeout < now)) { + /*printf("Retrans (reply) timeout found: %d\n", (int) time(NULL)); */ + queue_freemsg(gsn->queue_resp, qmsg); + } + + return 0; +} + +static int queue_timer_retranstimeout(struct gsn_t *gsn, struct timeval *timeout) +{ + time_t now, later, diff; + struct qmsg_t *qmsg; + timeout->tv_usec = 0; + + if (queue_getfirst(gsn->queue_req, &qmsg)) { + timeout->tv_sec = 10; + } else { + now = time(NULL); + later = qmsg->timeout; + timeout->tv_sec = later - now; + if (timeout->tv_sec < 0) + timeout->tv_sec = 0; /* No negative allowed */ + if (timeout->tv_sec > 10) + timeout->tv_sec = 10; /* Max sleep for 10 sec */ + } + + if (queue_getfirst(gsn->queue_resp, &qmsg)) { + /* already set by queue_req, do nothing */ + } else { /* trigger faster if earlier timeout exists in queue_resp */ + now = time(NULL); + later = qmsg->timeout; + diff = later - now; + if (diff < 0) + diff = 0; + if (diff < timeout->tv_sec) + timeout->tv_sec = diff; + } + + return 0; +} + +static void queue_timer_start(struct gsn_t *gsn) +{ + struct timeval next; + + /* Retrieve next retransmission as timeval */ + queue_timer_retranstimeout(gsn, &next); + + /* re-schedule the timer */ + osmo_timer_schedule(&gsn->queue_timer, next.tv_sec, next.tv_usec/1000); +} + +/* timer callback for libgtp retransmission and ping */ +static void queue_timer_cb(void *data) +{ + struct gsn_t *gsn = data; + + /* do all the retransmissions as needed */ + queue_timer_retrans(gsn); + + queue_timer_start(gsn); +} + /* *********************************************************** * Reliable delivery of signalling messages * @@ -532,6 +635,10 @@ qmsg->fd = fd; if (pdp) /* echo requests are not pdp-bound */ llist_add(&qmsg->entry, &pdp->qmsg_list_req); + + /* Rearm timer: Retrans time for qmsg just queued may be required + before an existing one (for instance a gtp echo req) */ + queue_timer_start(gsn); } gsn->seq_next++; /* Count up this time */ return 0; @@ -587,82 +694,15 @@ int gtp_retrans(struct gsn_t *gsn) { - /* Retransmit any outstanding packets */ - /* Remove from queue if maxretrans exceeded */ - time_t now; - struct qmsg_t *qmsg; - now = time(NULL); - /*printf("Retrans: New beginning %d\n", (int) now); */ - - /* get first element in queue, as long as the timeout of that - * element has expired */ - while ((!queue_getfirst(gsn->queue_req, &qmsg)) && - (qmsg->timeout <= now)) { - /*printf("Retrans timeout found: %d\n", (int) time(NULL)); */ - if (qmsg->retrans > N3_REQUESTS) { /* To many retrans */ - LOGP(DLGTP, LOGL_NOTICE, "Timeout of seq %" PRIu16 "\n", - qmsg->seq); - if (gsn->cb_conf) - gsn->cb_conf(qmsg->type, EOF, NULL, qmsg->cbp); - queue_freemsg(gsn->queue_req, qmsg); - } else { - LOGP(DLGTP, LOGL_INFO, "Retransmit (%d) of seq %" PRIu16 "\n", - qmsg->retrans, qmsg->seq); - if (sendto(qmsg->fd, &qmsg->p, qmsg->l, 0, - (struct sockaddr *)&qmsg->peer, - sizeof(struct sockaddr_in)) < 0) { - gsn->err_sendto++; - LOGP(DLGTP, LOGL_ERROR, - "Sendto(fd0=%d, msg=%lx, len=%d) failed: Error = %s\n", - gsn->fd0, (unsigned long)&qmsg->p, - qmsg->l, strerror(errno)); - } - queue_back(gsn->queue_req, qmsg); - qmsg->timeout = now + T3_REQUEST; - qmsg->retrans++; - } - } - - /* Also clean up reply timeouts */ - while ((!queue_getfirst(gsn->queue_resp, &qmsg)) && - (qmsg->timeout < now)) { - /*printf("Retrans (reply) timeout found: %d\n", (int) time(NULL)); */ - queue_freemsg(gsn->queue_resp, qmsg); - } - + /* dummy API, deprecated. */ return 0; } int gtp_retranstimeout(struct gsn_t *gsn, struct timeval *timeout) { - time_t now, later, diff; - struct qmsg_t *qmsg; + timeout->tv_sec = 24*60*60; timeout->tv_usec = 0; - - if (queue_getfirst(gsn->queue_req, &qmsg)) { - timeout->tv_sec = 10; - } else { - now = time(NULL); - later = qmsg->timeout; - timeout->tv_sec = later - now; - if (timeout->tv_sec < 0) - timeout->tv_sec = 0; /* No negative allowed */ - if (timeout->tv_sec > 10) - timeout->tv_sec = 10; /* Max sleep for 10 sec */ - } - - if (queue_getfirst(gsn->queue_resp, &qmsg)) { - /* already set by queue_req, do nothing */ - } else { /* trigger faster if earlier timeout exists in queue_resp */ - now = time(NULL); - later = qmsg->timeout; - diff = later - now; - if (diff < 0) - diff = 0; - if (diff < timeout->tv_sec) - timeout->tv_sec = diff; - } - + /* dummy API, deprecated. Return a huge timer to do nothing */ return 0; } @@ -723,6 +763,10 @@ /* No need to add to pdp list here, because even on pdp ctx free we want to leave messages in queue_resp until timeout to detect duplicates */ + + /* Rearm timer: Retrans time for qmsg just queued may be required + before an existing one (for instance a gtp echo req) */ + queue_timer_start(gsn); } return 0; } @@ -872,6 +916,9 @@ /* Initialise pdp table */ pdp_init(*gsn); + /* Initialize internal queue timer */ + osmo_timer_setup(&(*gsn)->queue_timer, queue_timer_cb, *gsn); + /* Initialise call back functions */ (*gsn)->cb_create_context_ind = 0; (*gsn)->cb_delete_context = 0; @@ -959,12 +1006,18 @@ return -errno; } + /* Start internal queue timer */ + queue_timer_start(*gsn); + return 0; } int gtp_free(struct gsn_t *gsn) { + /* Cleanup internal queue timer */ + osmo_timer_del(&gsn->queue_timer); + /* Clean up retransmit queues */ queue_free(gsn->queue_req); queue_free(gsn->queue_resp); diff --git a/gtp/gtp.h b/gtp/gtp.h index f2a4e1d..e03d77d 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -14,6 +14,7 @@ #include #include +#include #include "pdp.h" @@ -268,6 +269,8 @@ struct pdp_t pdpa[PDP_MAX]; /* PDP storage */ struct pdp_t *hashtid[PDP_MAX]; /* Hash table for IMSI + NSAPI */ + struct osmo_timer_list queue_timer; /* internal queue_{req,resp} timer */ + /* Call back functions */ int (*cb_delete_context) (struct pdp_t *); int (*cb_create_context_ind) (struct pdp_t *); @@ -348,8 +351,8 @@ extern int gtp_decaps0(struct gsn_t *gsn); extern int gtp_decaps1c(struct gsn_t *gsn); extern int gtp_decaps1u(struct gsn_t *gsn); -extern int gtp_retrans(struct gsn_t *gsn); -extern int gtp_retranstimeout(struct gsn_t *gsn, struct timeval *timeout); +extern int gtp_retrans(struct gsn_t *gsn) OSMO_DEPRECATED("This API is a no-op, libgtp already does the job internally"); +extern int gtp_retranstimeout(struct gsn_t *gsn, struct timeval *timeout) OSMO_DEPRECATED("This API is a no-op and will return a 1 day timeout"); extern int gtp_set_cb_delete_context(struct gsn_t *gsn, int (*cb_delete_context) (struct pdp_t * -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ife7cfd66d6356f413263fe5bda9e43091f5c9e98 Gerrit-Change-Number: 15309 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 09:59:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 09:59:52 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/15310 ) Change subject: ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs ...................................................................... ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs Related: OS#4178 Change-Id: I295b89ee493d230c2550d461fca9602c589d38b5 --- M ggsn/ggsn.c M ggsn/ggsn.h M sgsnemu/sgsnemu.c 3 files changed, 2 insertions(+), 34 deletions(-) Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index ffa508b..c710984 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -739,28 +739,6 @@ return rc; } -static void ggsn_gtp_tmr_start(struct ggsn_ctx *ggsn) -{ - struct timeval next; - - /* Retrieve next retransmission as timeval */ - gtp_retranstimeout(ggsn->gsn, &next); - - /* re-schedule the timer */ - osmo_timer_schedule(&ggsn->gtp_timer, next.tv_sec, next.tv_usec/1000); -} - -/* timer callback for libgtp retransmission and ping */ -static void ggsn_gtp_tmr_cb(void *data) -{ - struct ggsn_ctx *ggsn = data; - - /* do all the retransmissions as needed */ - gtp_retrans(ggsn->gsn); - - ggsn_gtp_tmr_start(ggsn); -} - /* libgtp callback for confirmations */ static int cb_conf(int type, int cause, struct pdp_t *pdp, void *cbp) { @@ -848,10 +826,6 @@ rc = osmo_fd_register(&ggsn->gtp_fd1u); OSMO_ASSERT(rc == 0); - /* Start GTP re-transmission timer */ - osmo_timer_setup(&ggsn->gtp_timer, ggsn_gtp_tmr_cb, ggsn); - ggsn_gtp_tmr_start(ggsn); - gtp_set_cb_data_ind(ggsn->gsn, encaps_tun); gtp_set_cb_delete_context(ggsn->gsn, delete_context); gtp_set_cb_create_context_ind(ggsn->gsn, create_context_ind); @@ -879,8 +853,6 @@ llist_for_each_entry(apn, &ggsn->apn_list, list) apn_stop(apn); - osmo_timer_del(&ggsn->gtp_timer); - osmo_fd_unregister(&ggsn->gtp_fd1u); osmo_fd_unregister(&ggsn->gtp_fd1c); osmo_fd_unregister(&ggsn->gtp_fd0); diff --git a/ggsn/ggsn.h b/ggsn/ggsn.h index f23df54..82984a0 100644 --- a/ggsn/ggsn.h +++ b/ggsn/ggsn.h @@ -138,8 +138,6 @@ struct osmo_fd gtp_fd0; struct osmo_fd gtp_fd1c; struct osmo_fd gtp_fd1u; - - struct osmo_timer_list gtp_timer; }; /* ggsn_vty.c */ diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 4f1f844..863ea51 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1801,7 +1801,8 @@ FD_SET(gsn->fd1c, &fds); FD_SET(gsn->fd1u, &fds); - gtp_retranstimeout(gsn, &idleTime); + idleTime.tv_sec = 10; + idleTime.tv_usec = 0; ping_timeout(&idleTime); if (options.debug) @@ -1817,9 +1818,6 @@ SYS_ERR(DSGSN, LOGL_ERROR, 0, "Select returned -1"); break; - case 0: - gtp_retrans(gsn); /* Only retransmit if nothing else */ - break; default: break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/15310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I295b89ee493d230c2550d461fca9602c589d38b5 Gerrit-Change-Number: 15310 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:00:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 10:00:28 +0000 Subject: Change in ...libosmo-netif[master]: stream: Introduce API osmo_stream_cli_is_connected In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15403 ) Change subject: stream: Introduce API osmo_stream_cli_is_connected ...................................................................... stream: Introduce API osmo_stream_cli_is_connected Can be used by users to fetch current status of the stream. Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b --- M include/osmocom/netif/stream.h M src/stream.c 2 files changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/include/osmocom/netif/stream.h b/include/osmocom/netif/stream.h index f1c160c..3427df5 100644 --- a/include/osmocom/netif/stream.h +++ b/include/osmocom/netif/stream.h @@ -67,6 +67,7 @@ void osmo_stream_cli_set_disconnect_cb(struct osmo_stream_cli *cli, int (*disconnect_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_set_read_cb(struct osmo_stream_cli *cli, int (*read_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli); +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli); struct osmo_stream_cli *osmo_stream_cli_create(void *ctx); void osmo_stream_cli_destroy(struct osmo_stream_cli *cli); diff --git a/src/stream.c b/src/stream.c index 3d0b665..74fe8b6 100644 --- a/src/stream.c +++ b/src/stream.c @@ -184,6 +184,14 @@ cli->state = STREAM_CLI_STATE_CONNECTING; } +/*! \brief Check if Osmocom Stream Client is in connected state + * \param[in] cli Osmocom Stream Client + */ +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli) +{ + return cli->state == STREAM_CLI_STATE_CONNECTED; +} + /*! \brief Close an Osmocom Stream Client * \param[in] cli Osmocom Stream Client to be closed * We unregister the socket fd from the osmocom select() loop -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I5402430e5f39eef22dfa18f33807ab6b1e771f1b Gerrit-Change-Number: 15403 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:00:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 10:00:29 +0000 Subject: Change in ...libosmo-netif[master]: stream: Fix scheduling of queued messages during connecting state In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15404 ) Change subject: stream: Fix scheduling of queued messages during connecting state ...................................................................... stream: Fix scheduling of queued messages during connecting state If messages are sent using osmo_stream_cli_send() while the stream is still (re)connecting, they won't have a chance to be sent until the stream is connected, and hence they are queued until CONNECTING->CONNECTED is done. However, at that time (osmo_stream_cli_fd_cb), the WRITE flag was dropped unconditionally, which meant already queued packets didn't have the opportunity to be sent by the same callback until first message is enqueued and WRITE flag is set (again by osmo_stream_cli_send()). Let's make them be sent as soon as possible once the connection is available. Related: OS#4188 Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c --- M src/stream.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/stream.c b/src/stream.c index 74fe8b6..e9307a5 100644 --- a/src/stream.c +++ b/src/stream.c @@ -283,7 +283,12 @@ osmo_stream_cli_reconnect(cli); return 0; } - ofd->when &= ~BSC_FD_WRITE; + + /* If messages got enqueued while 'connecting', keep WRITE flag + up to dispatch them upon next main loop step */ + if (llist_empty(&cli->tx_queue)) + cli->ofd.when &= ~BSC_FD_WRITE; + LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; if (cli->proto == IPPROTO_SCTP) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I289495f9aad6389c5f2623fb072d676235b7d24c Gerrit-Change-Number: 15404 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:13:52 2019 From: gerrit-no-reply at lists.osmocom.org (timojacobus) Date: Thu, 5 Sep 2019 10:13:52 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. Message-ID: timojacobus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Transceiver: Fixed copying of history into and from channelizer buffer. In multi arfcn mode, osmo-trx would drop some bursts because it couldn't detect it and would emit idle burst instead. Specificaly detection of peak in correlation vector failed. Correcting copying of history in pullBuffer method fixes this issue. Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 4 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/13/15413/1 diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 0208e82..02762ac 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -278,19 +278,12 @@ size_t hLen = dnsampler->len(); float *fdst = &buf[2 * -hLen]; - complex *src = history[lchan]->begin(); - for (i = 0; i < hLen; i++) { - fdst[0] = src->real(); - fdst[1] = src->imag(); - src++; - fdst += 2; - } - complex *dst = history[lchan]->begin(); + complex *hist = history[lchan]->begin(); float *fsrc = &buf[2 * (cLen - hLen)]; for (i = 0; i < hLen; i++) { - *dst = complex(fdst[0], fdst[1]); - fsrc += 2; - dst++; + fdst[2*i] = hist[i].real(); + fdst[2*i+1] = hist[i].imag(); + hist[i] = complex(fsrc[2*i], fsrc[2*i+1]); } float *wr_segment = recvBuffer[lchan]->getWriteSegment(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 1 Gerrit-Owner: timojacobus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:45:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:45:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 to look at the new patch set (#2). Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... bts: Add test for ETWS Primary Notification via P1 Rest Octets Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Related: OS#4047 --- M bts/BTS_Tests_SMSCB.ttcn M library/RSL_Types.ttcn 2 files changed, 198 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/15411/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:45:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:45:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bcs: Add test for Emergency broadcast of ETWS Primary Notification Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 Change subject: bcs: Add test for Emergency broadcast of ETWS Primary Notification ...................................................................... bcs: Add test for Emergency broadcast of ETWS Primary Notification Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 --- M bsc/BSC_Tests_CBSP.ttcn M library/CBSP_Templates.ttcn 2 files changed, 40 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/15414/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index d128761..d409425 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -154,6 +154,35 @@ } /* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_write_emerg(uint16_t msg_id, uint16_t ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) uint8_t emerg_ind := 1, + template (value) uint16_t warn_type := oct2int('0780'O), + template (value) uint16_t warn_per := 5, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_WRITE_EMERG(msg_id, ser_no, cell_list, emerg_ind, warn_type, warn_per); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_WRITE_CBS_COMPL(msg_id, ser_no, success_list, omit); + } else { + rx := tr_CBSP_WRITE_CBS_FAIL(msg_id, ser_no, fail_list, *, success_list, omit); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +/* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ function f_cbsp_write(uint16_t msg_id, uint16_t ser_no, template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, template (value) CBSP_Category category := CBSP_CATEG_NORMAL, @@ -477,6 +506,17 @@ f_cbsp_reset_bss(0); } +/* Write to single BTS supporting CBCH: success */ +testcase TC_cbsp_emerg_write_bts_cgi() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write_emerg(15, 1015, cell_list); + f_sleep(5.0); +} + + control { execute( TC_cbsp_bsc_server() ); execute( TC_cbsp_bsc_client() ); diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 2283e6f..911b905 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -283,7 +283,6 @@ template (value) BSSMAP_FIELD_CellIdentificationList cell_list, template (value) uint8_t emerg_ind, template (value) uint16_t warn_type, - template (value) uint16_t num_bcast_req, template (value) uint8_t warn_per ) := ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 Gerrit-Change-Number: 15414 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:46:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:46:38 +0000 Subject: Change in ...libosmocore[master]: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15415 Change subject: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning ...................................................................... gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Related: OS#4046, OS#4047 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/15415/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 1d4530d..72e9de6 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -236,6 +236,8 @@ RSL_MT_IPAC_DLCX = 0x77, RSL_MT_IPAC_DLCX_ACK, RSL_MT_IPAC_DLCX_NACK, + + RSL_MT_OSMO_ETWS_CMD = 0xf0, }; /*! Siemens vendor-specific RSL message types */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Gerrit-Change-Number: 15415 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:46:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:46:39 +0000 Subject: Change in ...libosmocore[master]: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15416 Change subject: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability ...................................................................... Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability As 3GPP doesn't specify how the BSC shall communicate ETWS Primary Notifications over Abis/RSL, we have to use a vendor-specific RSL message for this. And in order to know if the peer supports this feature, we introduces BTS_FEAT_ETWS_PN. Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Related: OS#4046, OS#4047 --- M include/osmocom/gsm/bts_features.h M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/bts_features.c M src/gsm/rsl.c 4 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/15416/1 diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index e84f95b..7ead020 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -23,6 +23,7 @@ BTS_FEAT_SPEECH_F_EFR, BTS_FEAT_SPEECH_F_AMR, BTS_FEAT_SPEECH_H_AMR, + BTS_FEAT_ETWS_PN, _NUM_BTS_FEAT }; diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 72e9de6..da55a8d 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -237,7 +237,7 @@ RSL_MT_IPAC_DLCX_ACK, RSL_MT_IPAC_DLCX_NACK, - RSL_MT_OSMO_ETWS_CMD = 0xf0, + RSL_MT_OSMO_ETWS_CMD = 0x7f, }; /*! Siemens vendor-specific RSL message types */ diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 4ec24fa..e4ff76c 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -38,6 +38,7 @@ { BTS_FEAT_SPEECH_F_EFR, "Fullrate speech EFR" }, { BTS_FEAT_SPEECH_F_AMR, "Fullrate speech AMR" }, { BTS_FEAT_SPEECH_H_AMR, "Halfrate speech AMR" }, + { BTS_FEAT_ETWS_PN, "ETWS Primary Notification via PCH" }, { 0, NULL } }; diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 3be0111..5534aa2 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -389,6 +389,7 @@ { RSL_MT_TFO_REP, "TFO_REP" }, { RSL_MT_TFO_MOD_REQ, "TFO_MOD_REQ" }, { RSL_MT_LOCATION_INFO, "LOCATION_INFO" }, + { RSL_MT_OSMO_ETWS_CMD, "OSMO_ETWS_CMD" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Gerrit-Change-Number: 15416 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:49:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:49:04 +0000 Subject: Change in ...libosmocore[master]: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15415 ) Change subject: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Gerrit-Change-Number: 15415 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 05 Sep 2019 10:49:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:49:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:49:07 +0000 Subject: Change in ...libosmocore[master]: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15416 ) Change subject: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Gerrit-Change-Number: 15416 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Comment-Date: Thu, 05 Sep 2019 10:49:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:50:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:50:13 +0000 Subject: Change in ...libosmocore[master]: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/libosmocore/+/15415 ) Change subject: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning ...................................................................... gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Related: OS#4046, OS#4047 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/15415/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Gerrit-Change-Number: 15415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:51:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:51:19 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15417 Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... ETWS Primary Notification via P1 Rest Octets The ETWS (Earthquake and Tsunami Warning System) uses a so-called ETWS Primary Notification which is sent * to phones in dedicated mode (via DCCH from the BSC) * to phones in idle mode (via P1 Rest Octets on PCH/CCCH) This patch implements the second part of the functionality, i.e. transmitting the related ETWS Primary Notification via PCH. As 3GPP doesn't specify how this is communicated over Abis, we use a new, vendor-specific RSL message type. Closes: OS#4047 Depends: libosmocore I89c24a81ada6627694a9632e87485a61cbd3e680 Depends: libosmocore I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/paging.c M src/common/rsl.c 5 files changed, 186 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/17/15417/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index dd2a14c..65e984d 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -479,6 +479,7 @@ BTS_FEAT_SPEECH_F_EFR, BTS_FEAT_SPEECH_F_AMR, BTS_FEAT_SPEECH_H_AMR, + BTS_FEAT_ETWS_PN, _NUM_BTS_FEAT }; @@ -718,6 +719,15 @@ uint64_t pch_msgs; } agch_queue; + struct { + uint8_t *prim_notif; /* ETWS primary notification (NULL if none) */ + ssize_t prim_notif_len; /* Length of prim_notif; expected 56 bytes */ + uint8_t page_size; + uint8_t num_pages; /* total number of pages */ + uint8_t next_page; /* next page number to be sent */ + bool pni; /* Primary Notification Identifier */ + } etws; + struct paging_state *paging_state; char *bsc_oml_host; struct llist_head oml_queue; diff --git a/src/common/bts.c b/src/common/bts.c index 5c415e8..73631ae 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -192,6 +192,9 @@ tall_rtp_ctx = talloc_pool(tall_bts_ctx, 262144); osmo_rtp_init(tall_rtp_ctx); + /* features implemented in 'common', available for all models */ + gsm_bts_set_feature(bts, BTS_FEAT_ETWS_PN); + rc = bts_model_init(bts); if (rc < 0) { llist_del(&bts->list); diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index b1785b8..1ba43aa 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -106,6 +106,7 @@ { BTS_FEAT_SPEECH_F_EFR, "Fullrate speech EFR" }, { BTS_FEAT_SPEECH_F_AMR, "Fullrate speech AMR" }, { BTS_FEAT_SPEECH_H_AMR, "Halfrate speech AMR" }, + { BTS_FEAT_ETWS_PN, "ETWS Primary Notification on PCH" }, { 0, NULL } }; diff --git a/src/common/paging.c b/src/common/paging.c index 111f947..fca58b5 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -21,7 +21,7 @@ /* TODO: * eMLPP priprity - * add P1/P2/P3 rest octets + * add P2/P3 rest octets */ #include @@ -274,11 +274,86 @@ #define L2_PLEN(len) (((len - 1) << 2) | 0x01) +/* abstract representation of P1 rest octets; we only implement those parts we need for now */ +struct p1_rest_octets { + bool packet_page_ind[2]; + bool r8_present; + struct { + bool prio_ul_access; + bool etws_present; + struct { + bool is_first; + uint8_t page_nr; + const uint8_t *page; + size_t page_bytes; + } etws; + } r8; +}; + +/* 3GPP TS 44.018 10.5.2.23 append a segment/page of an ETWS primary notification to given bitvec */ +static void append_etws_prim_notif(struct bitvec *bv, bool is_first, uint8_t page_nr, + const uint8_t *etws, ssize_t etws_len) +{ + OSMO_ASSERT(etws_len < 128/8); + + /* ETWS primary Notification struct + * 0 NNNN / 1 NNNN + * PNI n + * LEN nnnnnnn (at least 13 bits before paylod) + * number of bits (LEN; up to 128) */ + + if (is_first) + bitvec_set_bit(bv, 0); + else + bitvec_set_bit(bv, 1); + bitvec_set_uint(bv, page_nr, 4); /* Segment Number / Total Number */ + bitvec_set_bit(bv, 0); /* PNI to distinguish different ETWS */ + bitvec_set_uint(bv, etws_len*8, 7); /* length of payload in number of bits */ + bitvec_set_bytes(bv, etws, etws_len); + + /* 17 bytes = 136bit - (11+13) = 112 bits = 14 bytes per PT1 + * => at least 4x PT1 RO for complete primary notification (56 bytes) */ +} + +/* 3GPP TS 44.018 10.5.2.23 append P1 Rest Octets to given bit-vector */ +static void append_p1_rest_octets(struct bitvec *bv, const struct p1_rest_octets *p1ro) +{ + /* Paging 1 RO (at least 10 bits before ETWS struct) */ + bitvec_set_bit(bv, L); /* no NLN */ + bitvec_set_bit(bv, L); /* no Priority1 */ + bitvec_set_bit(bv, L); /* no Priority2 */ + bitvec_set_bit(bv, L); /* no Group Call Info */ + if (p1ro->packet_page_ind[0]) + bitvec_set_bit(bv, H); /* Packet Page Indication 1 */ + else + bitvec_set_bit(bv, L); /* Packet Page Indication 1 */ + if (p1ro->packet_page_ind[1]) + bitvec_set_bit(bv, H); /* Packet Page Indication 2 */ + else + bitvec_set_bit(bv, L); /* Packet Page Indication 2 */ + + bitvec_set_bit(bv, L); /* No Release 6 additions */ + bitvec_set_bit(bv, L); /* No Release 7 additions */ + + if (p1ro->r8_present) { + bitvec_set_bit(bv, H); /* Release 8 */ + bitvec_set_bit(bv, p1ro->r8.prio_ul_access); /* Priority Uplink Access */ + if (p1ro->r8.etws_present) { + bitvec_set_bit(bv, 1); /* ETWS present */ + append_etws_prim_notif(bv, p1ro->r8.etws.is_first, p1ro->r8.etws.page_nr, + p1ro->r8.etws.page, p1ro->r8.etws.page_bytes); + } else + bitvec_set_bit(bv, 0); + } +} + static int fill_paging_type_1(uint8_t *out_buf, const uint8_t *identity1_lv, uint8_t chan1, const uint8_t *identity2_lv, - uint8_t chan2) + uint8_t chan2, const struct p1_rest_octets *p1ro) { struct gsm48_paging1 *pt1 = (struct gsm48_paging1 *) out_buf; + struct bitvec bv; + unsigned int paging_len; uint8_t *cur; memset(out_buf, 0, sizeof(*pt1)); @@ -294,7 +369,19 @@ pt1->l2_plen = L2_PLEN(cur - out_buf); - return cur - out_buf; + paging_len = cur - out_buf; + + memset(&bv, 0, sizeof(bv)); + bv.data = cur; + bv.data_len = GSM_MACBLOCK_LEN - paging_len; + + if (p1ro) + append_p1_rest_octets(&bv, p1ro); + + /* pad to the end of the MAC block */ + bitvec_spare_padding(&bv, bv.data_len *8); + + return GSM_MACBLOCK_LEN; } static int fill_paging_type_2(uint8_t *out_buf, const uint8_t *tmsi1_lv, @@ -406,16 +493,43 @@ } } +static void build_p1_rest_octets(struct p1_rest_octets *p1ro, struct gsm_bts *bts) +{ + memset(p1ro, 0, sizeof(*p1ro)); + p1ro->packet_page_ind[0] = false; + p1ro->packet_page_ind[1] = false; + p1ro->r8_present = true; + p1ro->r8.prio_ul_access = false; + p1ro->r8.etws_present = true; + unsigned int offset = bts->etws.page_size * bts->etws.next_page; + + if (bts->etws.next_page == 0) { + p1ro->r8.etws.is_first = true; + p1ro->r8.etws.page_nr = bts->etws.num_pages; + } else { + p1ro->r8.etws.is_first = false; + p1ro->r8.etws.page_nr = bts->etws.next_page + 1; + } + p1ro->r8.etws.page = bts->etws.prim_notif + offset; + /* last page may be smaller than first pages */ + if (bts->etws.next_page < bts->etws.num_pages-1) + p1ro->r8.etws.page_bytes = bts->etws.page_size; + else + p1ro->r8.etws.page_bytes = bts->etws.prim_notif_len - offset; + bts->etws.next_page = (bts->etws.next_page + 1) % bts->etws.num_pages; +} + /* generate paging message for given gsm time */ int paging_gen_msg(struct paging_state *ps, uint8_t *out_buf, struct gsm_time *gt, int *is_empty) { struct llist_head *group_q; + struct gsm_bts *bts = ps->bts; int group; int len; *is_empty = 0; - ps->bts->load.ccch.pch_total += 1; + bts->load.ccch.pch_total += 1; group = get_pag_subch_nr(ps, gt); if (group < 0) { @@ -427,11 +541,15 @@ group_q = &ps->paging_queue[group]; - /* There is nobody to be paged, send Type1 with two empty ID */ - if (llist_empty(group_q)) { + if (ps->bts->etws.prim_notif) { + struct p1_rest_octets p1ro; + build_p1_rest_octets(&p1ro, bts); + len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, &p1ro); + } else if (llist_empty(group_q)) { + /* There is nobody to be paged, send Type1 with two empty ID */ //DEBUGP(DPAG, "Tx PAGING TYPE 1 (empty)\n"); len = fill_paging_type_1(out_buf, empty_id_lv, 0, - NULL, 0); + NULL, 0, NULL); *is_empty = 1; } else { struct paging_record *pr[4]; @@ -439,7 +557,7 @@ time_t now = time(NULL); unsigned int i, num_imsi = 0; - ps->bts->load.ccch.pch_used += 1; + bts->load.ccch.pch_used += 1; /* get (if we have) up to four paging records */ for (i = 0; i < ARRAY_SIZE(pr); i++) { @@ -509,7 +627,7 @@ len = fill_paging_type_1(out_buf, pr[0]->u.paging.identity_lv, pr[0]->u.paging.chan_needed, - NULL, 0); + NULL, 0, NULL); } else { /* 2 (any type) or * 3 or 4, of which only 2 will be sent */ @@ -518,7 +636,7 @@ pr[0]->u.paging.identity_lv, pr[0]->u.paging.chan_needed, pr[1]->u.paging.identity_lv, - pr[1]->u.paging.chan_needed); + pr[1]->u.paging.chan_needed, NULL); if (num_pr >= 3) { /* re-add #4 for next time */ llist_add(&pr[2]->list, group_q); @@ -535,7 +653,7 @@ /* skip those that we might have re-added above */ if (pr[i] == NULL) continue; - rate_ctr_inc2(ps->bts->ctrs, BTS_CTR_PAGING_SENT); + rate_ctr_inc2(bts->ctrs, BTS_CTR_PAGING_SENT); /* check if we can expire the paging record, * or if we need to re-queue it */ if (pr[i]->u.paging.expiration_time <= now) { diff --git a/src/common/rsl.c b/src/common/rsl.c index d09dc4a..0bcad4c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -522,6 +522,46 @@ return 0; } +/* OSMO_ETWS_CMD - proprietary extension as TS 48.058 has no standardized way to do this :( */ +static int rsl_rx_osmo_etws_cmd(struct gsm_bts_trx *trx, struct msgb *msg) +{ + struct abis_rsl_cchan_hdr *cch = msgb_l2(msg); + struct gsm_bts *bts = trx->bts; + struct tlv_parsed tp; + + rsl_tlv_parse(&tp, msgb_l3(msg), msgb_l3len(msg)); + + if (!TLVP_PRESENT(&tp, RSL_IE_SMSCB_MSG)) + return rsl_tx_error_report(trx, RSL_ERR_MAND_IE_ERROR, &cch->chan_nr, NULL, msg); + + bts->etws.prim_notif_len = TLVP_LEN(&tp, RSL_IE_SMSCB_MSG); + if (bts->etws.prim_notif_len == 0) { + LOGP(DRSL, LOGL_NOTICE, "ETWS Primary Notification OFF\n"); + talloc_free(bts->etws.prim_notif); + bts->etws.prim_notif = NULL; + bts->etws.prim_notif_len = 0; + bts->etws.page_size = 0; + bts->etws.num_pages = 0; + bts->etws.next_page = 0; + } else { + LOGP(DRSL, LOGL_NOTICE, "ETWS Primary Notification: %s\n", + osmo_hexdump(TLVP_VAL(&tp, RSL_IE_SMSCB_MSG), + TLVP_LEN(&tp, RSL_IE_SMSCB_MSG))); + talloc_free(bts->etws.prim_notif); + bts->etws.prim_notif = talloc_memdup(bts, TLVP_VAL(&tp, RSL_IE_SMSCB_MSG), + bts->etws.prim_notif_len); + + bts->etws.page_size = 14; /* maximum possible in SI1 Rest Octets */ + bts->etws.num_pages = bts->etws.prim_notif_len / bts->etws.page_size; + if (bts->etws.prim_notif_len % bts->etws.page_size) + bts->etws.num_pages++; + + /* toggle the PNI to allow phones to distinguish new from old primary notification */ + bts->etws.pni = !bts->etws.pni; + } + return 0; +} + /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given output buffer. * \param[out] buf Output buffer, must be caller-allocated and hold at least len + 2 or sizeof(sysinfo_buf_t) bytes * \param[out] valid pointer to bit-mask of 'valid' System information types @@ -2951,6 +2991,9 @@ rsl_msg_name(cch->c.msg_type)); rsl_tx_error_report(trx, RSL_ERR_MSG_TYPE, &cch->chan_nr, NULL, msg); break; + case RSL_MT_OSMO_ETWS_CMD: + ret = rsl_rx_osmo_etws_cmd(trx, msg); + break; default: LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "undefined RSL cchan msg_type 0x%02x\n", cch->c.msg_type); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:59:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:59:03 +0000 Subject: Change in ...libosmocore[master]: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15416 ) Change subject: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Gerrit-Change-Number: 15416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Sep 2019 10:59:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 10:59:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 10:59:07 +0000 Subject: Change in ...libosmocore[master]: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15415 ) Change subject: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Gerrit-Change-Number: 15415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Sep 2019 10:59:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:05:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 to look at the new patch set (#4). Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In this testsuite, we simulate BTS and CBC by attaching to RSL and CBSP protocol interfaces of the BSC. We then issue a variety of CBSP commands to the BSC and check for corresponding action on both the BTS- facing RSL as well as responses on the CBSP side. Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 --- M bsc/BSC_Tests.cfg A bsc/BSC_Tests_CBSP.ttcn M bsc/gen_links.sh M bsc/regen_makefile.sh M library/CBSP_Templates.ttcn M library/CBSP_Types.ttcn M library/RSL_Types.ttcn 7 files changed, 551 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15376/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:05:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 11:05:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 ) Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 11:05:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:14:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:14:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn at 94 PS2, Line 94: activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, > In the as_IgnRSL I see one template needs to be passed, but you seem to be passing some sort of arra [?] you can always create a "choice" of templates by putting the alternatives in parenthesis. So the template "(a, b, c)" means: Either a, or b, or c will match. Works in every context where a template is required. Basically you form a new template in-line using other templates. https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn at 126 PS2, Line 126: //[] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_EMERG, CBSP_RI_DATA_LOST))); > This line can be dropped? I'm not sure what is the best to expect here as per spec. I'll add a related comment. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 11:14:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:14:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:14:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 to look at the new patch set (#5). Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In this testsuite, we simulate BTS and CBC by attaching to RSL and CBSP protocol interfaces of the BSC. We then issue a variety of CBSP commands to the BSC and check for corresponding action on both the BTS- facing RSL as well as responses on the CBSP side. Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 --- M bsc/BSC_Tests.cfg A bsc/BSC_Tests_CBSP.ttcn M bsc/gen_links.sh M bsc/regen_makefile.sh M library/CBSP_Templates.ttcn M library/CBSP_Types.ttcn M library/RSL_Types.ttcn 7 files changed, 552 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/15376/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:15:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:15:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 ) Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 11:15:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:15:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:15:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 ) Change subject: bts: Add test for ETWS Primary Notification via P1 Rest Octets ...................................................................... bts: Add test for ETWS Primary Notification via P1 Rest Octets Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Related: OS#4047 --- M bts/BTS_Tests_SMSCB.ttcn M library/RSL_Types.ttcn 2 files changed, 198 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 962b516..49416c2 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -22,6 +22,7 @@ import from L1CTL_Types all; import from LAPDm_Types all; import from IPA_Emulation all; +import from GSM_RR_Types all; import from RSL_Types all; @@ -875,6 +876,177 @@ } +private template GsmRrMessage tr_PagingType1 := { + header := t_RrHeader(PAGING_REQUEST_TYPE_1, ?), + payload :=? +}; + +private template GsmRrMessage tr_PagingType1_empty := { + header := t_RrHeader(PAGING_REQUEST_TYPE_1, 5), + payload := { + pag_req_1 := { + chan_needed := { + second := CHAN_NEED_ANY, + first := CHAN_NEED_ANY + }, + page_mode := PAGE_MODE_NORMAL, + mi1 := { + len := 1, + mi := { + unused := { + pad := '1111'B, + odd := false, + mi_type := MI_TYPE_NONE + } + } + }, + mi2 := omit, + rest_octets := ? + } + } +}; + +/* we expect four blocks of 14 bytes, let's fill them with content easily distinguishable */ +const octetstring c_etws_seg0 := '000102030405060708090a0b0c0d'O; +const octetstring c_etws_seg1 := '101112131415161718191a1b1c1d'O; +const octetstring c_etws_seg2 := '202122232425262728292a2b2c2d'O; +const octetstring c_etws_seg3 := '303132333435363738393a3b3c3d'O; +const octetstring c_etws := c_etws_seg0 & c_etws_seg1 & c_etws_seg2 & c_etws_seg3; + +/* Ensure only Paging Type 1 with segmented ETWS Primary Notification are sent after RSL_OSMO_ETWS_CMD */ +testcase TC_etws_p1ro() runs on test_CT { + var template RslChannelNr t_chan_nr := ts_RslChanNr_PCH_AGCH(0); + /* decoding the actual entire P1 rest octets by manually generated code is + * too much effort; instead simply do a binary compare to this constant */ + const bitstring c_P1RO_hdr := '00101011101'B; + var integer seg_received[4] := { 0, 0, 0, 0 }; + var L1ctlDlMessage dl; + timer T := 10.0; + + f_init(); + f_init_l1ctl(); + f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); + + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + /* wait for a bit until old non-ETWS Paging messages are gone */ + f_sleep(1.0); + L1CTL.clear; + T.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_chan_nr)) -> value dl { + var GsmRrMessage l3 := dec_GsmRrMessage(dl.payload.data_ind.payload); + select (l3) { + case (tr_PagingType1_empty) { + var octetstring p1ro := l3.payload.pag_req_1.rest_octets; + var bitstring midamble := oct2bit(substr(p1ro, 0, 3)); + var octetstring segment := substr(p1ro, 3, lengthof(p1ro)-3); + var BIT1 not_first := substr(midamble, 11, 1); + var integer seg_nr := bit2int(substr(midamble, 12, 4)); + var boolean err := false; + if (substr(midamble, 0, 11) != c_P1RO_hdr) { + setverdict(fail, "Received unexpected P1 RO header ", midamble); + } + if (not_first == '1'B) { + select (seg_nr) { + case (2) { + if (segment != c_etws_seg1) { + err := true + } else { + seg_received[1] := seg_received[1] + 1; + }} + case (3) { + if (segment != c_etws_seg2) { + err := true + } else { + seg_received[2] := seg_received[2] + 1; + }} + case (4) { + if (segment != c_etws_seg3) { + err := true + } else { + seg_received[3] := seg_received[3] + 1; + }} + case else { setverdict(fail, "Unknown segment Nr ", seg_nr); } + } + if (err) { + setverdict(fail, "Unexpected segment ", seg_nr, ": ", segment); + } + } else { + if (seg_nr != 4) { + setverdict(fail, "Invalid number of segments ", seg_nr); + err := true; + } + if (segment != c_etws_seg0) { + setverdict(fail, "Invalid first segment ", segment); + err := true; + } + if (not err) { + seg_received[0] := seg_received[0] + 1; + } + } + } + case (tr_PagingType1) { + setverdict(fail, "Received unexpected PAGING TYPE 1: ", l3); + } + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } + log("Quantity of received ETWS PN segments: ", seg_received); + var integer i; + for (i := 0; i < 4; i := i+1) { + if (seg_received[i] < 15) { + setverdict(fail, "Segment ", i, " not received often enough"); + } + } +} + +/* Ensure only Paging Type 1 without ETWS Primary Notification are sent after disabling them */ +testcase TC_etws_p1ro_end() runs on test_CT { + var template RslChannelNr t_chan_nr := ts_RslChanNr_PCH_AGCH(0); + /* we expect four blocks of 14 bytes, let's fill them with content easily + * distinguishable */ + /* decoding the actual entire P1 rest octets by manually generated code is + * too much effort; instead simply do a binary compare to this constant */ + const bitstring c_P1RO_hdr := '00101011101'B; + var L1ctlDlMessage dl; + timer T := 10.0; + + f_init(); + f_init_l1ctl(); + f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); + + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + /* wait for a bit until old non-ETWS Paging messages are gone */ + f_sleep(3.0); + /* disable the ETWS PN again */ + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O))); + f_sleep(2.0); + T.start; + L1CTL.clear; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_chan_nr)) -> value dl { + var GsmRrMessage l3 := dec_GsmRrMessage(dl.payload.data_ind.payload); + select (l3) { + case (tr_PagingType1_empty) { repeat; } + case (tr_PagingType1) { + setverdict(fail, "Received non-empty PT1 after disabling ETWS PN: ", l3); + } + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } +} + + /* SMSCB TODO: * multiple SMS BC CMD at the same time: Ensure all of them are sent exactly once * extended CBCH vs. normal CBCH @@ -908,6 +1080,9 @@ execute( TC_cbc_sdcch8_load_idle() ); execute( TC_cbc_sdcch8_load_overload() ); } + + execute( TC_etws_p1ro() ); + execute( TC_etws_p1ro_end() ); } diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 87de9a4..da8c7f8 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -149,7 +149,9 @@ RSL_MT_IPAC_DLCX_IND ('01110110'B), RSL_MT_IPAC_DLCX ('01110111'B), RSL_MT_IPAC_DLCX_ACK ('01111000'B), - RSL_MT_IPAC_DLCX_NACK ('01111001'B) + RSL_MT_IPAC_DLCX_NACK ('01111001'B), + + RSL_MT_OSMO_ETWS_CMD ('01111111'B) } with { variant "FIELDLENGTH(8)" }; /*! RSL Information Element Identifiers (Chapter 9.3) */ @@ -2115,6 +2117,26 @@ } } + template (value) RSL_Message ts_RSL_OSMO_ETWS_CMD(template (value) octetstring msg, + template (value) RslChannelNr chan_nr := ts_RslChanNr_PCH_AGCH(0)) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_OSMO_ETWS_CMD, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_SMSCB_MSG, RSL_IE_Body:{smscb_message := ts_RSL_LV(msg)}) + } + } + template RSL_Message tr_RSL_OSMO_ETWS_CMD(template RslChannelNr chan_nr := ?, + template octetstring msg := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_OSMO_ETWS_CMD, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{smscb_message := tr_RSL_LV(msg)}) + } + } + + function f_rsl_find_ie(RSL_Message msg, RSL_IE_Type iei, out RSL_IE_Body ret) return boolean { for (var integer i := 0; i < sizeof(msg.ies); i := i+1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4 Gerrit-Change-Number: 15411 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:16:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:16:56 +0000 Subject: Change in ...libosmocore[master]: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15415 ) Change subject: gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning ...................................................................... gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Related: OS#4046, OS#4047 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 1d4530d..da55a8d 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -236,6 +236,8 @@ RSL_MT_IPAC_DLCX = 0x77, RSL_MT_IPAC_DLCX_ACK, RSL_MT_IPAC_DLCX_NACK, + + RSL_MT_OSMO_ETWS_CMD = 0x7f, }; /*! Siemens vendor-specific RSL message types */ diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 3be0111..5534aa2 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -389,6 +389,7 @@ { RSL_MT_TFO_REP, "TFO_REP" }, { RSL_MT_TFO_MOD_REQ, "TFO_MOD_REQ" }, { RSL_MT_LOCATION_INFO, "LOCATION_INFO" }, + { RSL_MT_OSMO_ETWS_CMD, "OSMO_ETWS_CMD" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Gerrit-Change-Number: 15415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:16:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 11:16:57 +0000 Subject: Change in ...libosmocore[master]: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15416 ) Change subject: Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability ...................................................................... Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability As 3GPP doesn't specify how the BSC shall communicate ETWS Primary Notifications over Abis/RSL, we have to use a vendor-specific RSL message for this. And in order to know if the peer supports this feature, we introduces BTS_FEAT_ETWS_PN. Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Related: OS#4046, OS#4047 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index e84f95b..7ead020 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -23,6 +23,7 @@ BTS_FEAT_SPEECH_F_EFR, BTS_FEAT_SPEECH_F_AMR, BTS_FEAT_SPEECH_H_AMR, + BTS_FEAT_ETWS_PN, _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 4ec24fa..e4ff76c 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -38,6 +38,7 @@ { BTS_FEAT_SPEECH_F_EFR, "Fullrate speech EFR" }, { BTS_FEAT_SPEECH_F_AMR, "Fullrate speech AMR" }, { BTS_FEAT_SPEECH_H_AMR, "Halfrate speech AMR" }, + { BTS_FEAT_ETWS_PN, "ETWS Primary Notification via PCH" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I89c24a81ada6627694a9632e87485a61cbd3e680 Gerrit-Change-Number: 15416 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu Sep 5 11:24:34 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 5 Sep 2019 11:24:34 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mast?= =?UTF-8?Q?er-osmo-tetra_=C2=BB_a1=3Ddefault,a2?= =?UTF-8?Q?=3Ddefault,a3=3Ddefault,a4=3Ddefaul?= =?UTF-8?Q?t,osmocom-master-debian9_#1684?= Message-ID: <583105841.647.1567682674512.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 9.88 KB...] checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for pkg-config... /usr/bin/pkg-config checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.20... yes checking for ANSI C header files... (cached) yes checking execinfo.h usability... yes checking execinfo.h presence... yes checking for execinfo.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/timerfd.h usability... yes checking sys/timerfd.h presence... yes checking for sys/timerfd.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking ctype.h usability... yes checking ctype.h presence... yes checking for ctype.h... yes checking netinet/tcp.h usability... yes checking netinet/tcp.h presence... yes checking for netinet/tcp.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for library containing dlopen... -ldl checking for library containing dlsym... -ldl checking for backtrace in -lexecinfo... no checking for library containing clock_gettime... none required checking for doxygen... (cached) false checking whether SYS_getrandom is declared... yes checking if gcc supports -fvisibility=hidden... yes checking for clock_gettime... yes checking for localtime_r... yes checking whether struct tm has tm_gmtoff member... yes checking whether to workaround TLS bug in old gcc on ARM platforms... checking for TALLOC... yes checking for PCSC... yes checking for LIBGNUTLS... yes checking whether to enable VTY/CTRL tests... no checking whether C compiler accepts -mavx2... yes checking whether C compiler accepts -mssse3... yes checking whether C compiler accepts -msse4.1... yes checking whether gcc has __builtin_cpu_supports built-in... yes CFLAGS="-g -O2 -DBUILDING_LIBOSMOCORE -Wall" CPPFLAGS=" -DBUILDING_LIBOSMOCORE -Wall" checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libosmocore.pc config.status: creating libosmocodec.pc config.status: creating libosmocoding.pc config.status: creating libosmovty.pc config.status: creating libosmogsm.pc config.status: creating libosmogb.pc config.status: creating libosmoctrl.pc config.status: creating libosmosim.pc config.status: creating include/Makefile config.status: creating src/Makefile config.status: creating src/vty/Makefile config.status: creating src/codec/Makefile config.status: creating src/coding/Makefile config.status: creating src/sim/Makefile config.status: creating src/gsm/Makefile config.status: creating src/gb/Makefile config.status: creating src/ctrl/Makefile config.status: creating src/pseudotalloc/Makefile config.status: creating tests/Makefile config.status: creating tests/atlocal config.status: creating utils/Makefile config.status: creating Doxyfile.core config.status: creating Doxyfile.gsm config.status: creating Doxyfile.vty config.status: creating Doxyfile.codec config.status: creating Doxyfile.coding config.status: creating Doxyfile.gb config.status: creating Doxyfile.ctrl config.status: creating Makefile config.status: creating config.h config.status: executing tests/atconfig commands config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-systemdsystemunitdir + [ -n ] + make -j 8 install echo 1.2.0.21-994d > .version-t && mv .version-t .version make install-recursive make[1]: Entering directory ' Making install in include make[2]: Entering directory ' GEN osmocom/gsm/gsm0503.h Generating header file... Generate 'xcch' declaration Generate 'rach' declaration Generate 'rach_ext' declaration Generate 'sch' declaration Generate 'cs2' declaration Generate 'cs3' declaration Generate 'cs2_np' declaration Generate 'cs3_np' declaration Generate 'tch_afs_12_2' declaration Generate 'tch_afs_10_2' declaration Generate 'tch_afs_7_95' declaration Generate 'tch_afs_7_4' declaration Generate 'tch_afs_6_7' declaration Generate 'tch_afs_5_9' declaration Generate 'tch_afs_5_15' declaration Generate 'tch_afs_4_75' declaration Generate 'tch_fr' declaration Generate 'tch_hr' declaration Generate 'tch_ahs_7_95' declaration Generate 'tch_ahs_7_4' declaration Generate 'tch_ahs_6_7' declaration Generate 'tch_ahs_5_9' declaration Generate 'tch_ahs_5_15' declaration Generate 'tch_ahs_4_75' declaration Generate 'mcs1_dl_hdr' declaration Generate 'mcs1_ul_hdr' declaration Generate 'mcs1' declaration Generate 'mcs2' declaration Generate 'mcs3' declaration Generate 'mcs4' declaration Generate 'mcs5_dl_hdr' declaration Generate 'mcs5_ul_hdr' declaration Generate 'mcs5' declaration Generate 'mcs6' declaration Generate 'mcs7_dl_hdr' declaration Generate 'mcs7_ul_hdr' declaration Generate 'mcs7' declaration Generate 'mcs8' declaration Generate 'mcs9' declaration Generation complete. make install-am make[3]: Entering directory ' GEN osmocom/core/bit16gen.h GEN osmocom/core/bit32gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/crc64gen.h GEN osmocom/core/crc8gen.h GEN osmocom/core/crc32gen.h GEN osmocom/core/bit16gen.h GEN osmocom/core/crc64gen.h GEN osmocom/core/bit32gen.h GEN osmocom/core/crc16gen.h GEN osmocom/core/bit64gen.h GEN osmocom/core/crc8gen.h make[4]: Entering directory ' make[4]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/core/application.h osmocom/core/backtrace.h osmocom/core/bit16gen.h osmocom/core/bit32gen.h osmocom/core/bit64gen.h osmocom/core/bits.h osmocom/core/bitvec.h osmocom/core/bitcomp.h osmocom/core/byteswap.h osmocom/core/conv.h osmocom/core/counter.h osmocom/core/crc16.h osmocom/core/crc16gen.h osmocom/core/crc32gen.h osmocom/core/crc64gen.h osmocom/core/crc8gen.h osmocom/core/crcgen.h osmocom/core/endian.h osmocom/core/defs.h osmocom/core/fsm.h osmocom/core/gsmtap.h osmocom/core/gsmtap_util.h osmocom/core/isdnhdlc.h osmocom/core/linuxlist.h osmocom/core/linuxrbtree.h osmocom/core/logging.h osmocom/core/loggingrb.h osmocom/core/stats.h osmocom/core/macaddr.h osmocom/core/msgb.h osmocom/core/panic.h osmocom/core/prbs.h osmocom/core/prim.h osmocom/core/process.h osmocom/core/rate_ctr.h osmocom/core/stat_item.h osmocom/core/select.h osmocom/core/sercomm.h osmocom/core/signal.h osmocom/core/socket.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/gsm/a5.h osmocom/gsm/abis_nm.h osmocom/gsm/apn.h osmocom/gsm/bts_features.h osmocom/gsm/cbsp.h osmocom/gsm/comp128.h osmocom/gsm/comp128v23.h osmocom/gsm/bitvec_gsm.h osmocom/gsm/gan.h osmocom/gsm/gsm0341.h osmocom/gsm/gsm0411_smc.h osmocom/gsm/gsm0411_smr.h osmocom/gsm/gsm0411_utils.h osmocom/gsm/gsm0480.h osmocom/gsm/gsm0502.h osmocom/gsm/gsm0503.h osmocom/gsm/gsm0808.h osmocom/gsm/gsm29205.h osmocom/gsm/gsm0808_utils.h osmocom/gsm/gsm23003.h osmocom/gsm/gsm29118.h osmocom/gsm/gsm48.h osmocom/gsm/gsm48_arfcn_range_encode.h osmocom/gsm/gsm48_ie.h osmocom/gsm/gsm48_rest_octets.h osmocom/gsm/gsm_utils.h osmocom/gsm/gsup.h osmocom/gsm/gsup_sms.h osmocom/gsm/ipa.h osmocom/gsm/lapd_core.h osmocom/gsm/lapdm.h osmocom/gsm/meas_rep.h osmocom/gsm/mncc.h osmocom/gsm/prim.h osmocom/gsm/l1sap.h osmocom/gsm/oap.h osmocom/gsm/oap_client.h osmocom/gsm/rsl.h osmocom/gsm/rxlev_stat.h osmocom/gsm/sysinfo.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/coding/gsm0503_tables.h osmocom/coding/gsm0503_parity.h osmocom/coding/gsm0503_mapping.h osmocom/coding/gsm0503_interleaving.h osmocom/coding/gsm0503_coding.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/core/statistics.h osmocom/core/strrb.h osmocom/core/talloc.h osmocom/core/tdef.h osmocom/core/timer.h osmocom/core/timer_compat.h osmocom/core/utils.h osmocom/core/write_queue.h osmocom/core/sockaddr_str.h osmocom/core/use_count.h osmocom/core/plugin.h osmocom/core/msgfile.h osmocom/core/serial.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/vty/buffer.h osmocom/vty/command.h osmocom/vty/logging.h osmocom/vty/stats.h osmocom/vty/misc.h osmocom/vty/telnet_interface.h osmocom/vty/vector.h osmocom/vty/vty.h osmocom/vty/ports.h osmocom/vty/tdef_vty.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/gsm/protocol/gsm_03_40.h osmocom/gsm/protocol/gsm_03_41.h osmocom/gsm/protocol/gsm_04_08.h osmocom/gsm/protocol/gsm_04_08_gprs.h osmocom/gsm/protocol/gsm_04_11.h osmocom/gsm/protocol/gsm_04_12.h osmocom/gsm/protocol/gsm_04_14.h osmocom/gsm/protocol/gsm_04_80.h osmocom/gsm/protocol/gsm_08_08.h osmocom/gsm/protocol/gsm_08_58.h osmocom/gsm/protocol/gsm_09_02.h osmocom/gsm/protocol/gsm_12_21.h osmocom/gsm/protocol/gsm_23_003.h osmocom/gsm/protocol/gsm_23_041.h osmocom/gsm/protocol/gsm_29_118.h osmocom/gsm/protocol/gsm_44_318.h osmocom/gsm/protocol/gsm_48_049.h osmocom/gsm/protocol/ipaccess.h osmocom/gsm/protocol/smpp34_osmocom.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/sim/class_tables.h osmocom/sim/sim.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/gprs/gprs_bssgp.h osmocom/gprs/gprs_bssgp_bss.h osmocom/gprs/gprs_msgb.h osmocom/gprs/gprs_ns.h osmocom/gprs/gprs_ns_frgre.h osmocom/gprs/gprs_rlc.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/crypt/auth.h osmocom/crypt/gprs_cipher.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/gsm/tlv.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/ctrl/control_cmd.h osmocom/ctrl/control_if.h osmocom/ctrl/ports.h osmocom/ctrl/control_vty.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/gprs/protocol/gsm_04_60.h osmocom/gprs/protocol/gsm_08_16.h osmocom/gprs/protocol/gsm_08_18.h ' /bin/mkdir -p ' /usr/bin/install -c -m 644 osmocom/codec/ecu.h osmocom/codec/codec.h osmocom/codec/gsm610_bits.h ' make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src make[2]: Entering directory ' GEN crc8gen.c GEN crc32gen.c GEN crc16gen.c GEN crc64gen.c make install-am make[3]: Entering directory ' CC context.lo CC timer.lo CC timer_gettimeofday.lo CC select.lo CC signal.lo CC timer_clockgettime.lo CC msgb.lo CC bits.lo CC bitvec.lo CC bitcomp.lo CC counter.lo CC fsm.lo CC write_queue.lo CC utils.lo CC socket.lo CC logging.lo CC logging_syslog.lo CC logging_gsmtap.lo CC rate_ctr.lo CC gsmtap_util.lo /bin/bash: line 2: 22105 Segmentation fault /bin/bash ../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -DBUILDING_LIBOSMOCORE -Wall -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT gsmtap_util.lo -MD -MP -MF $depbase.Tpo -c -o gsmtap_util.lo gsmtap_util.c Makefile:568: recipe for target 'gsmtap_util.lo' failed make[3]: *** [gsmtap_util.lo] Error 139 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory ' Makefile:672: recipe for target 'install' failed make[2]: *** [install] Error 2 make[2]: Leaving directory ' Makefile:627: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:926: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:32:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 11:32:13 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15418 Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... tdef: Introduce API osmo_tdef_set() This API is already useful for users willing to set a given timer to a given value. It will also contain code later that checks for value being inside valid range for that timer. Related: OS#4190 Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c --- M include/osmocom/core/tdef.h M src/tdef.c 2 files changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/15418/1 diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index 566f5dd..ae4f646 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -97,6 +97,7 @@ unsigned long osmo_tdef_get(const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit, long val_if_not_present); struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T); +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val); /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ diff --git a/src/tdef.c b/src/tdef.c index 40a9900..315a208 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -25,6 +25,7 @@ */ #include +#include #include #include @@ -210,6 +211,24 @@ return NULL; } +/*! Set value in entry matching T. + * \param[in] tdefs Array of timer definitions, last entry being fully zero. + * \param[in] T Timer number to set the value for. + * \param[in] val The new timer value to set. + * \return 0 on success, negative on error. + */ +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val) +{ + struct osmo_tdef *t; + osmo_tdef_for_each(t, tdefs) { + if (t->T == T) { + t->val = val; + return 0; + } + } + return -EEXIST; +} + /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. * * The timeouts_array shall contain exactly 32 elements, regardless whether only some of them are actually populated -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:40:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 11:40:40 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15418 to look at the new patch set (#2). Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... tdef: Introduce API osmo_tdef_set() This API is already useful for users willing to set a given timer to a given value. It will also contain code later that checks for value being inside valid range for that timer. Related: OS#4190 Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c --- M include/osmocom/core/tdef.h M src/tdef.c 2 files changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/15418/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 11:49:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 11:49:49 +0000 Subject: Change in ...libosmocore[master]: tdef_vty.h: Add missing header dependencies Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15419 Change subject: tdef_vty.h: Add missing header dependencies ...................................................................... tdef_vty.h: Add missing header dependencies enum node_type is defined in osmocom/vty/command.h va_list is defined in stdarg.h Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc --- M include/osmocom/vty/tdef_vty.h 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/15419/1 diff --git a/include/osmocom/vty/tdef_vty.h b/include/osmocom/vty/tdef_vty.h index 3027913..6334d5b 100644 --- a/include/osmocom/vty/tdef_vty.h +++ b/include/osmocom/vty/tdef_vty.h @@ -25,6 +25,9 @@ #pragma once #include +#include + +#include struct vty; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc Gerrit-Change-Number: 15419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:21:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:21:39 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... pcu_interface: Forward ETWS Primary Notification to PCU All MS/UE must be notified of ETWS Primary Notifiations. Depending on their state, the notification goes different paths: * CS dedicated mode: BSC sends it as L3 message over LAPDm / DCCH * CS/PS idle mode: BTS sends paging messages on PCH * PS TBF active: PCU send Packet Application Info This enables the last of the three methods by passing any ETWS Primary Notifications received over RSL via the PCU socket into the PCU. Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Related: OS#4047, OS#4048 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/paging.c M src/common/pcu_sock.c M src/common/rsl.c 5 files changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/20/15420/1 diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 6253c84..114f87d 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -5,6 +5,7 @@ int pcu_tx_info_ind(void); int pcu_tx_si13(const struct gsm_bts *bts, bool enable); +int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data); int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, uint16_t arfcn, uint8_t block_nr); int pcu_tx_data_ind(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 144fba6..2d24c43 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -13,6 +13,7 @@ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ #define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ +#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to tranmit APP INFO via PACCH */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -172,6 +173,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU to [once] send given application data via PACCH to all UE with active TBF */ +struct gsm_pcu_if_app_info_req { + uint8_t application_type; /* 4bit field, see TS 44.060 11.2.47 */ + uint8_t len; /* length of data */ + uint8_t data[162]; /* random size choice; ETWS needs 56 bytes */ +} __attribute__ ((packed)); + /* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ struct gsm_pcu_if_susp_req { uint32_t tlli; @@ -198,6 +206,7 @@ struct gsm_pcu_if_act_req act_req; struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; + struct gsm_pcu_if_app_info_req app_info_req; } u; } __attribute__ ((packed)); diff --git a/src/common/paging.c b/src/common/paging.c index fca58b5..4b4f9ec 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -545,6 +545,7 @@ struct p1_rest_octets p1ro; build_p1_rest_octets(&p1ro, bts); len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, &p1ro); + printf("P1: %s\n", osmo_hexdump_nospc(out_buf, len)); } else if (llist_empty(group_q)) { /* There is nobody to be paged, send Type1 with two empty ID */ //DEBUGP(DPAG, "Tx PAGING TYPE 1 (empty)\n"); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 84a98f5..82b2bf5 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -290,6 +290,28 @@ return 0; } +int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data) +{ + struct msgb *msg = pcu_msgb_alloc(PCU_IF_MSG_APP_INFO_REQ, bts->nr); + struct gsm_pcu_if *pcu_prim; + struct gsm_pcu_if_app_info_req *ai_req; + + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + ai_req = &pcu_prim->u.app_info_req; + + if (app_type & 0xF0 || len > sizeof(ai_req->data)) { + msgb_free(msg); + return -EINVAL; + } + + ai_req->application_type = app_type; + ai_req->len = len; + memcpy(ai_req->data, app_data, ai_req->len); + + return pcu_sock_send(&bts_gsmnet, msg); +} int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, uint16_t arfcn, uint8_t block_nr) diff --git a/src/common/rsl.c b/src/common/rsl.c index 0bcad4c..056c16d 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -558,6 +558,11 @@ /* toggle the PNI to allow phones to distinguish new from old primary notification */ bts->etws.pni = !bts->etws.pni; + + /* forward the request to the PCU, so the PCU can send it over any active TBF + * to phones which currently don't listen to the paging channel */ + pcu_tx_app_info_req(bts, 0, TLVP_LEN(&tp, RSL_IE_SMSCB_MSG), + TLVP_VAL(&tp, RSL_IE_SMSCB_MSG)); } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:23:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:23:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 12:23:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:23:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:23:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Hack to make receive templates work In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 ) Change subject: CBSP: Hack to make receive templates work ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 Gerrit-Change-Number: 15412 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 12:23:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:23:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:23:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Hack to make receive templates work In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 ) Change subject: CBSP: Hack to make receive templates work ...................................................................... CBSP: Hack to make receive templates work For some reason, the 'ifpresent' annotation doesn't work in lists of templates. This means we have to re-think the CBSP template structure at some point. However, this would be a significant detour and I'd rather have working tests right now, so we can verify the actual functionality merged into the BSC right now. Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 --- M library/CBSP_Templates.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 3c60f14..86eaf69 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -454,7 +454,7 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + //ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; } else if (istemplatekind(compl_list, "?")) { ies[lengthof(ies)] := tr_CbspNumComplList(?); } else if (not istemplatekind(compl_list, "omit")) { @@ -507,14 +507,14 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(compl_list, "?")) { ies[lengthof(ies)] := tr_CbspNumComplList(?); } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(cell_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (istemplatekind(cell_list, "?")) { ies[lengthof(ies)] := tr_CbspCellList(?); } else if (not istemplatekind(cell_list, "omit")) { @@ -626,12 +626,12 @@ tr_CbspFailList(fail_list) }; if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; + //ies[lengthof(ies)] := tr_CbspNumComplList ifpresent; } else if (not istemplatekind(compl_list, "omit")) { ies[lengthof(ies)] := tr_CbspNumComplList(compl_list); } if (istemplatekind(compl_list, "*")) { - ies[lengthof(ies)] := tr_CbspCellList ifpresent; + //ies[lengthof(ies)] := tr_CbspCellList ifpresent; } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fa174b4352c17feaea4d33f773877104d4913c4 Gerrit-Change-Number: 15412 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:23:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:23:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In this testsuite, we simulate BTS and CBC by attaching to RSL and CBSP protocol interfaces of the BSC. We then issue a variety of CBSP commands to the BSC and check for corresponding action on both the BTS- facing RSL as well as responses on the CBSP side. Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 --- M bsc/BSC_Tests.cfg A bsc/BSC_Tests_CBSP.ttcn M bsc/gen_links.sh M bsc/regen_makefile.sh M library/CBSP_Templates.ttcn M library/CBSP_Types.ttcn M library/RSL_Types.ttcn 7 files changed, 552 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.cfg b/bsc/BSC_Tests.cfg index 4e6c40e..610e0f7 100644 --- a/bsc/BSC_Tests.cfg +++ b/bsc/BSC_Tests.cfg @@ -16,6 +16,7 @@ [EXECUTE] BSC_Tests.control +BSC_Tests_CBSP.control #BSC_Tests.TC_chan_act_noreply #BSC_Tests.TC_chan_act_ack_noest #BSC_Tests.TC_chan_act_ack_est_ind_noreply diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn new file mode 100644 index 0000000..3d6040e --- /dev/null +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -0,0 +1,505 @@ +module BSC_Tests_CBSP { + +/* CBSP Integration Tests for OsmoBSC + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests OsmoBSC while emulating the CBC (Cell Broadcast Centre) + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from IPL4asp_Types all; +import from BSSAP_Types all; +import from BSSMAP_Templates all; + +import from BSC_Tests all; + +import from IPA_Emulation all; +import from IPA_CodecPort all; +import from IPA_Types all; + +import from RSL_Types all; +import from RSL_Emulation all; + +import from CBSP_Types all; +import from CBSP_Templates all; +import from CBSP_Adapter all; +import from CBSP_CodecPort all; + +modulepar { + charstring mp_cbc_ip := "0.0.0.0"; + integer mp_cbc_port := 48049; + integer mp_bsc_cbsp_port := 48050; + + /* BTS 0: 262-42-1-0 with CBCH + * BTS 1: 262-42-1-1 with CBCH + * BTS 2: 262-42-2-1 with CBCH + * BTS 3: 262-42-2-3 without CBCH */ + GsmCgiAbstract mp_cgi_bts0 := { '262'H, '42'H, 1, 0 }; + GsmCgiAbstract mp_cgi_bts1 := { '262'H, '42'H, 1, 1 }; + GsmCgiAbstract mp_cgi_bts2 := { '262'H, '42'H, 2, 1 }; + GsmCgiAbstract mp_cgi_bts3 := { '262'H, '42'H, 2, 3 }; +} + +private type record GsmCgiAbstract { + GsmMcc mcc, + GsmMnc mnc, + GsmLac lac, + GsmCellId ci +}; +private template (value) BSSMAP_FIELD_CellIdentification_CGI bssmap_cgi(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_CGI(cgi.mcc, cgi.mnc, cgi.lac, cgi.ci); +private template (value) BSSMAP_FIELD_CellIdentification_LAC_CI bssmap_lac_ci(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_LAC_CI(cgi.lac, cgi.ci); +private template (value) BSSMAP_FIELD_CellIdentification_LAI bssmap_lai(GsmCgiAbstract cgi) := + ts_BSSMAP_CI_LAI(cgi.mcc, cgi.mnc, cgi.lac); +private template (value) OCT2 bssmap_lac(GsmCgiAbstract cgi) := ts_BSSMAP_CI_LAC(cgi.lac); +private template (value) OCT2 bssmap_ci(GsmCgiAbstract cgi) := ts_BSSMAP_CI_CI(cgi.ci); + +type component cbsp_test_CT extends test_CT, CBSP_Adapter_CT { +} + +private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { +[] IPA_RSL[0].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[1].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[2].receive(tr_RSL_UD(tr)) { repeat; } +} + +private altstep as_FailRSL() runs on cbsp_test_CT { +var template RSL_Message tr := (tr_RSL_SMSCB_CMD); +var ASP_RSL_Unitdata rx; +[] IPA_RSL[0].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +[] IPA_RSL[1].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +[] IPA_RSL[2].receive(tr_RSL_UD(tr)) -> value rx { + setverdict(fail, "Received unexpected RSL ", rx); + mtc.stop; + } +} + +private function f_init() runs on cbsp_test_CT { + BSC_Tests.f_init(); + activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, + tr_RSL_NO_BCCH_INFO, tr_RSL_NO_SACCH_FILL, + tr_RSL_MsgTypeD(?)))); + activate(as_FailRSL()); +} +private function f_cbsp_init_client() runs on cbsp_test_CT { + f_init(); + CBSP_Adapter.f_connect(mp_bsc_ip, mp_bsc_cbsp_port, "", -1); + f_cbsp_init_tail(); +} + +private function f_cbsp_init_server() runs on cbsp_test_CT { + var ASP_Event asp_evt; + timer T := 10.0; + + f_init(); + CBSP_Adapter.f_bind(mp_cbc_ip, mp_cbc_port); + + T.start; + alt { + [] CBSP[0].receive(ASP_Event:{connOpened:=?}) -> value asp_evt { + g_cbsp_conn_id[0] := asp_evt.connOpened.connId; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for incoming connection to CBSP Port"); + } + } + f_cbsp_init_tail(); +} +private function f_cbsp_init_tail() runs on cbsp_test_CT { + interleave { + [] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_CBS, CBSP_RI_DATA_LOST))); + /* should we also expect a restart for emergency related messages? */ + //[] CBSP[0].receive(tr_CBSP_Recv(?, tr_CBSP_RESTART(?, CBSP_BC_MSGT_EMERG, CBSP_RI_DATA_LOST))); + } +} + +function f_gen_page() return CBSP_IE { + var integer len := f_rnd_int(82); + var octetstring payload := f_rnd_octstring(len); + return valueof(ts_CbspMsgContent(payload, len)); +} + +function f_cbsp_reset_bss(integer idx) runs on CBSP_Adapter_CT { + var template (value) CBSP_PDU tx; + timer T := 3.0; + tx := ts_CBSP_RESET(cell_list := ts_BSSMAP_CIL_BSS); + CBSP[idx].clear; + CBSP[idx].send(ts_CBSP_Send(g_cbsp_conn_id[idx], tx)); + T.start; + alt { + [] CBSP[idx].receive(tr_CBSP_Recv(?, tr_CBSP_RESET_COMPL(cell_list := ts_BSSMAP_CIL_BSS))); + [] CBSP[idx].receive { + setverdict(fail, "received unexpected CBSP"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "timeout waiting for RESET COMPLETE"); + mtc.stop; + } + } +} + +/* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_write(uint16_t msg_id, uint16_t ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) CBSP_Category category := CBSP_CATEG_NORMAL, + uint16_t rep_period := 10, uint16_t num_bcast_req := 1, + uint8_t dcs := 0, uint8_t channel_ind := 0, CBSP_IEs content, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_WRITE_CBS(msg_id, ser_no, cell_list, channel_ind, category, + rep_period, num_bcast_req, dcs, content); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_WRITE_CBS_COMPL(msg_id, ser_no, success_list, channel_ind); + } else { + rx := tr_CBSP_WRITE_CBS_FAIL(msg_id, ser_no, fail_list, *, success_list, channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +/* send a REPLACE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_replace(uint16_t msg_id, uint16_t new_ser_no, uint16_t old_ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) CBSP_Category category := CBSP_CATEG_NORMAL, + uint16_t rep_period := 10, uint16_t num_bcast_req := 1, + uint8_t dcs := 0, uint8_t channel_ind := 0, CBSP_IEs content, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_REPLACE_CBS(msg_id, new_ser_no, old_ser_no, cell_list, channel_ind, category, + rep_period, num_bcast_req, dcs, content); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_REPLACE_CBS_COMPL(msg_id, new_ser_no, old_ser_no, ?, success_list, + channel_ind); + } else { + rx := tr_CBSP_REPLACE_CBS_FAIL(msg_id, new_ser_no, old_ser_no, fail_list, *, success_list, + channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} +/* send a KILL CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_kill(uint16_t msg_id, uint16_t ser_no, template (omit) uint8_t channel_ind := 0, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT +{ + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + + tx := ts_CBSP_KILL(msg_id, ser_no, cell_list, channel_ind); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_KILL_COMPL(msg_id, ser_no, compl_list:=*, cell_list:=success_list, + channel_ind:=channel_ind); + } else { + rx := tr_CBSP_KILL_FAIL(msg_id, ser_no, fail_list, compl_list:=*, cell_list:=success_list, + channel_ind:=channel_ind); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +private template (present) ASP_RSL_Unitdata tr_RSL_UD(template (present) RSL_Message rsl) := { + streamId := ?, + rsl := rsl +} + +template (present) RSL_IE_CbCommandType +tr_RslCbCmdType(template (present) uint2_t lblock := ?, template (present) RSL_CbCommand cmd := ?) := { + command := cmd, + default_bcast_null := ?, + spare := ?, + last_block := lblock +} + +/* build a RSL_Message receive template from a CBSP page */ +private function f_page2rsl(CBSP_IE page, uint16_t msg_id, uint16_t ser_no, boolean ext_cbch := false) +return template (present) RSL_Message +{ + var template RSL_Message tr; + var integer lblock := page.body.msg_content.user_len / 22; + var octetstring payload; + if (page.body.msg_content.user_len mod 22 > 0) { + lblock := lblock + 1; + } + payload := int2oct(ser_no, 2) & int2oct(msg_id, 2) & '0011'O & page.body.msg_content.val; + tr := tr_RSL_SMSCB_CMD(tr_RslCbCmdType(lblock), f_pad_oct(payload, 88, '00'O)); + if (ext_cbch) { + tr.ies[3] := tr_RSL_IE(RSL_IE_Body:{smscb_chan_ind := 1}); + tr.ies[4] := *; + } + return tr; +} + +/*********************************************************************** + * Test Cases + ***********************************************************************/ + +/* Test if BSC (server) accepts connections from CBC (client) */ +testcase TC_cbsp_bsc_server() runs on cbsp_test_CT { + f_cbsp_init_client(); + setverdict(pass); +} + +/* Test if BSC (client) is connecting to CBC (server) */ +testcase TC_cbsp_bsc_client() runs on cbsp_test_CT { + f_cbsp_init_server(); + setverdict(pass); +} + +/* Test if a BSS-global RESET is executed successfully */ +testcase TC_cbsp_reset_bss() runs on cbsp_test_CT { + f_cbsp_init_server(); + + f_cbsp_reset_bss(0); + setverdict(pass); +} + +testcase TC_cbsp_write() runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var CBSP_IEs pages := {f_gen_page()}; + f_cbsp_init_server(); + + tx := ts_CBSP_WRITE_CBS(msg_id:=23, new_ser_nr:=42, cell_list:=ts_BSSMAP_CIL_BSS, + channel_ind:=0, category:=CBSP_CATEG_NORMAL, + rep_period:=10, num_bcast_req:=1, dcs := 0, + content:=pages); + + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + f_sleep(10.0); +} + +/* Write to entire BSS; three cells succeed; one fails (no CBCH) */ +testcase TC_cbsp_write_bss() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_BSS; + f_cbsp_init_server(); + f_cbsp_write(1, 1001, cell_list, content:=pages, + success_list:=tr_BSSMAP_CIL_CGI({?,?,?}), fail_list:={?}); + + var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + interleave { + [] IPA_RSL[0].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[1].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[2].receive(tr_RSL_UD(tr)) {} + } +} + +/* Write to single BTS supporting CBCH: success */ +testcase TC_cbsp_write_bts_cgi() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(2, 1002, cell_list, content:=pages, + success_list:=cell_list, fail_list:=omit); + var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); + IPA_RSL[0].receive(tr_RSL_UD(tr)); + f_sleep(5.0); +} + +/* Write to single BTS not supporting CBCH: failure */ +testcase TC_cbsp_write_bts_no_cbch() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts3)}); + f_cbsp_init_server(); + f_cbsp_write(3, 1003, cell_list, content:=pages, + success_list:=omit, fail_list:={?}); + f_sleep(5.0); +} + +/* Write to single non-existant BTS */ +testcase TC_cbsp_write_unknown_bts() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CGI({ts_BSSMAP_CI_CGI(mp_cgi_bts0.mcc, mp_cgi_bts1.mnc, 22222, 33333)}); + f_cbsp_init_server(); + f_cbsp_write(4, 1004, cell_list, content:=pages, + success_list:=omit, fail_list:={?}); + f_sleep(5.0); +} + +/* Write to single BTS using LAC+CI */ +testcase TC_cbsp_write_lac_ci() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(5, 1005, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + f_sleep(5.0); +} + +/* Write to single BTS using CI */ +testcase TC_cbsp_write_ci() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_CI({bssmap_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(6, 1006, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + f_sleep(5.0); +} + +/* Write to single BTS using LAI */ +testcase TC_cbsp_write_lai() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAI({bssmap_lai(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(7, 1007, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + f_sleep(5.0); +} + +/* Write to two BTS using LAC */ +testcase TC_cbsp_write_lac() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC({bssmap_lac(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(8, 1008, cell_list, content:=pages, + success_list:=?, fail_list:=omit); + var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); + interleave { + [] IPA_RSL[0].receive(tr_RSL_UD(tr)); + [] IPA_RSL[1].receive(tr_RSL_UD(tr)); + } + f_sleep(5.0); +} + +/* Write a message, then replace it */ +testcase TC_cbsp_write_then_replace() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(9, 1009, cell_list, num_bcast_req:=10, content:=pages, + success_list:=?, fail_list:=omit); + f_cbsp_replace(9, 2009, 1009, cell_list, content:=pages, + success_list:=?, fail_list:=omit); +} + +/* Replace a message that doesn't exist: failure */ +testcase TC_cbsp_replace_nonexist() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_replace(10, 2010, 1010, cell_list, content:=pages, + success_list:=omit, fail_list:=?); +} + +/* Write more messages than can be scheduled */ +testcase TC_cbsp_write_too_many() runs on cbsp_test_CT { + /* repeating three pages at an interval of 1 is impossible */ + var CBSP_IEs pages := {f_gen_page(), f_gen_page(), f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(11, 1011, cell_list, rep_period:=1, content:=pages, + success_list:=omit, fail_list:=?); +} + +/* Kill message that doesn't exist: failure */ +testcase TC_cbsp_kill_nonexist() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_kill(12, 1012, 0, cell_list, success_list:=omit, fail_list:=?); +} +/* Write a message, then kill it */ +testcase TC_cbsp_write_then_kill() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(13, 1013, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_kill(13, 1013, 0, cell_list, success_list:=?, fail_list:=omit); +} + +/* Write a message, then reset all messages */ +testcase TC_cbsp_write_then_reset() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + cell_list := ts_BSSMAP_CIL_LAC_CI({bssmap_lac_ci(mp_cgi_bts0)}); + f_cbsp_init_server(); + f_cbsp_write(14, 1014, cell_list, content:=pages, success_list:=?, fail_list:=omit); + f_cbsp_reset_bss(0); +} + +control { + execute( TC_cbsp_bsc_server() ); + execute( TC_cbsp_bsc_client() ); + execute( TC_cbsp_reset_bss() ); + + /* test various different types of Cell Identities */ + execute( TC_cbsp_write_bss() ); + execute( TC_cbsp_write_bts_cgi() ); + execute( TC_cbsp_write_bts_no_cbch() ); + execute( TC_cbsp_write_unknown_bts() ); + execute( TC_cbsp_write_lac_ci() ); + execute( TC_cbsp_write_ci() ); + execute( TC_cbsp_write_lai() ); + execute( TC_cbsp_write_lac() ); + + execute( TC_cbsp_write_then_replace() ); + execute( TC_cbsp_replace_nonexist() ); + execute( TC_cbsp_write_too_many() ); + execute( TC_cbsp_kill_nonexist() ); + execute( TC_cbsp_write_then_kill() ); + execute( TC_cbsp_write_then_reset() ); +} + + +} diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index c71b31a..845f7cc 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash BASEDIR=../deps @@ -67,7 +67,9 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " +FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " +FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index 389aaed..def4a3f 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -2,7 +2,7 @@ MAIN=BSC_Tests.ttcn -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc CBSP_CodecPort_CtrlFunctdef.cc *.c" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 86eaf69..2283e6f 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -130,7 +130,7 @@ }}); template CBSP_IE tr_CbspFailList(template CBSP_FailureListItems items := ?) := tr_CBSP_IE({failure_list := { - len := 0, + len := ?, list := items }}); diff --git a/library/CBSP_Types.ttcn b/library/CBSP_Types.ttcn index 43a7d7d..c4c6cf2 100644 --- a/library/CBSP_Types.ttcn +++ b/library/CBSP_Types.ttcn @@ -113,7 +113,8 @@ type record CBSP_IE_MessageContent { uint8_t user_len, octetstring val -} with { variant (val) "FIELDLENGTH(82)" }; +} with { variant (val) "FIELDLENGTH(82)" + variant (val) "ALIGN(left)" }; /* 8.2.6 Cell List */ type record CBSP_IE_CellList { diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index da8c7f8..db0e231 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1549,6 +1549,25 @@ t_RSL_IE(RSL_IE_FULL_BCCH_INFO, RSL_IE_Body:{other := ts_RSL_LV(full_bcch_info)}) } } + template RSL_Message tr_RSL_NO_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_BCCH_INFO, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}), + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}) + } + } + template RSL_Message tr_RSL_BCCH_INFO(template RSL_IE_SysinfoType si_type := ?, + template octetstring full_bcch_info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), + msg_type := RSL_MT_BCCH_INFO, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := ts_RslChanNr_BCCH(0)}), + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}), + tr_RSL_IE(RSL_IE_Body:{other := tr_RSL_LV(full_bcch_info)}), + * + } + } /* 8.5.2 BTS -> BSC */ template (value) RSL_Message ts_RSL_RACH_LOAD_IND(uint16_t slot_ct, uint16_t busy_ct, @@ -1562,7 +1581,7 @@ } template RSL_Message tr_RSL_RACH_LOAD_IND(template uint16_t slot_ct := ?, template uint16_t busy_ct := ?, - template uint16_t acc_ct) := { + template uint16_t acc_ct := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_CCCH_LOAD_IND, ies := { @@ -1761,6 +1780,24 @@ t_RSL_IE(RSL_IE_L3_INFO, RSL_IE_Body:{l3_info := ts_RSL_L16V(l3_info)}) } } + template RSL_Message tr_RSL_NO_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_SACCH_FILL, + ies := { + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}) + } + } + template RSL_Message tr_RSL_SACCH_FILL(template RSL_IE_SysinfoType si_type := ?, + template octetstring l3_info := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false), + msg_type := RSL_MT_SACCH_FILL, + ies := { + tr_RSL_IE(RSL_IE_Body:{sysinfo_type := si_type}), + tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)}), + * + } + } + /* 8.6.4 BTS -> BSC */ template (value) RSL_Message ts_RSL_ERROR_REPORT(RSL_Cause cause) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:24:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:24:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Add test for Emergency broadcast of ETWS Primary Notification In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 to look at the new patch set (#2). Change subject: bsc: Add test for Emergency broadcast of ETWS Primary Notification ...................................................................... bsc: Add test for Emergency broadcast of ETWS Primary Notification Related: OS#4046 Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 --- M bsc/BSC_Tests_CBSP.ttcn M library/CBSP_Templates.ttcn 2 files changed, 40 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/15414/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 Gerrit-Change-Number: 15414 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:24:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:24:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Test if BTS forwards ETWS Primary Notification to PCU Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 Change subject: bts: Test if BTS forwards ETWS Primary Notification to PCU ...................................................................... bts: Test if BTS forwards ETWS Primary Notification to PCU All MS/UE must be notified of ETWS Primary Notifiations. Depending on their state, the notification goes different paths: * CS dedicated mode: BSC sends it as L3 message over LAPDm / DCCH * CS/PS idle mode: BTS sends paging messages on PCH * PS TBF active: PCU send Packet Application Info This tests the last of the three methods by checking that a ETWS Primary Notification sent on RSL to the BTS is received by the PCU socket. Change-Id: I2661df7f7d870a0ac1c89bb8a85df81644b00b0a Related: OS#4047, OS#4048 Depends: osmo-bts Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 --- M bts/BTS_Tests_SMSCB.ttcn M library/PCUIF_Types.ttcn 2 files changed, 72 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/15421/1 diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 49416c2..292205a 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -26,6 +26,9 @@ import from RSL_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; + import from Osmocom_VTY_Functions all; import from BTS_Tests all; @@ -1046,6 +1049,32 @@ } } +/* Ensure ETWS Primary Notification is passed from RSL to PCU interface */ +testcase TC_etws_pcu() runs on test_CT { + timer T := 10.0; + + f_init(); + f_init_l1ctl(); + f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); + + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + + T.start; + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_APP_INFO_REQ(0, 0, c_etws))) { + setverdict(pass); + } + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_APP_INFO_REQ(?, ?, ?))) { + setverdict(fail, "PCU socket received invalid APP INFO"); + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "PCU socket timeout receiving APP INFO (ETWS)"); + } + } +} + + /* SMSCB TODO: * multiple SMS BC CMD at the same time: Ensure all of them are sent exactly once @@ -1083,6 +1112,7 @@ execute( TC_etws_p1ro() ); execute( TC_etws_p1ro_end() ); + execute( TC_etws_pcu() ); } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 132b72d..27d9b92 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -22,6 +22,7 @@ PCU_IF_MSG_DATA_CNF ('01'O), PCU_IF_MSG_DATA_IND ('02'O), PCU_IF_MSG_SUSP_REQ ('03'O), + PCU_IF_MSG_APP_INFO_REQ ('04'O), PCU_IF_MSG_RTS_REQ ('10'O), PCU_IF_MSG_DATA_CNF_DT ('11'O), PCU_IF_MSG_RACH_IND ('22'O), @@ -198,6 +199,14 @@ OCT9 identity_lv } with { variant "" }; +type record PCUIF_app_info_req { + uint8_t application_type, + uint8_t len, + octetstring data +} with { + variant (len) "LENGTHTO(data)" +} + type record PCUIF_susp_req { OCT4 tlli, OCT6 ra_id, @@ -219,7 +228,8 @@ PCUIF_info_ind info_ind, PCUIF_act_req act_req, PCUIF_time_ind time_ind, - PCUIF_pag_req pag_req + PCUIF_pag_req pag_req, + PCUIF_app_info_req app_info_req } with { variant "" }; type record PCUIF_Message { @@ -239,7 +249,8 @@ info_ind, msg_type = PCU_IF_MSG_INFO_IND; act_req, msg_type = PCU_IF_MSG_ACT_REQ; time_ind, msg_type = PCU_IF_MSG_TIME_IND; - pag_req, msg_type = PCU_IF_MSG_PAG_REQ)" + pag_req, msg_type = PCU_IF_MSG_PAG_REQ; + app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" variant "PADDING(1696)" /* 212 * 8 */ }; @@ -812,5 +823,34 @@ } } +template (value) PCUIF_Message ts_PCUIF_APP_INFO_REQ(template (value) uint8_t bts_nr, + template (value) uint8_t app_type, + template (value) octetstring app_data) := { + msg_type := PCU_IF_MSG_APP_INFO_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + app_info_req := { + application_type := app_type, + len := 0, /* overwritten */ + data := app_data + } + } +} +template (present) PCUIF_Message tr_PCUIF_APP_INFO_REQ(template (present) uint8_t bts_nr, + template (present) uint8_t app_type, + template (present) octetstring app_data) := { + msg_type := PCU_IF_MSG_APP_INFO_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + app_info_req := { + application_type := app_type, + len := ?, + data := app_data + } + } +} + } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2661df7f7d870a0ac1c89bb8a85df81644b00b0a Gerrit-Change-Number: 15421 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 12:31:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 12:31:34 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 to look at the new patch set (#2). Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... ETWS Primary Notification via P1 Rest Octets The ETWS (Earthquake and Tsunami Warning System) uses a so-called ETWS Primary Notification which is sent * to phones in dedicated mode (via DCCH from the BSC) * to phones in idle mode (via P1 Rest Octets on PCH/CCCH) This patch implements the second part of the functionality, i.e. transmitting the related ETWS Primary Notification via PCH. As 3GPP doesn't specify how this is communicated over Abis, we use a new, vendor-specific RSL message type. Closes: OS#4047 Depends: libosmocore I89c24a81ada6627694a9632e87485a61cbd3e680 Depends: libosmocore I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/paging.c M src/common/rsl.c M tests/paging/paging_test.c 6 files changed, 202 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/17/15417/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 13:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 13:40:06 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference, rate counters Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 Change subject: doc: update generated VTY reference, rate counters ...................................................................... doc: update generated VTY reference, rate counters Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/osmo-pcu_vty_reference.xml 2 files changed, 101 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/15422/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 2ee425e..50988cd 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,40 +1,12 @@ + // autogenerated by show asciidoc counters -These counters and their description based on Osmo-PCU 0.4.0.4-8d55 (Osmo-PCU). +These counters and their description are based on Osmo-PCU 0.7.0.5-df0f (Osmo-PCU). + +=== Rate Counters // generating tables for rate_ctr_group -// rate_ctr_group table BSSGP Peer Statistics -.bssgp:bss_ctx - BSSGP Peer Statistics -[options="header"] -|=== -| Name | Reference | Description -| packets:in | <> | Packets at BSSGP Level ( In) -| packets:out | <> | Packets at BSSGP Level (Out) -| bytes:in | <> | Bytes at BSSGP Level ( In) -| bytes:out | <> | Bytes at BSSGP Level (Out) -| blocked | <> | BVC Blocking count -| discarded | <> | BVC LLC Discarded count -| status | <> | BVC Status count -|=== // rate_ctr_group table NSVC Peer Statistics -.ns:nsvc - NSVC Peer Statistics -[options="header"] -|=== -| Name | Reference | Description -| packets:in | <> | Packets at NS Level ( In) -| packets:out | <> | Packets at NS Level (Out) -| bytes:in | <> | Bytes at NS Level ( In) -| bytes:out | <> | Bytes at NS Level (Out) -| blocked | <> | NS-VC Block count -| dead | <> | NS-VC gone dead count -| replaced | <> | NS-VC replaced other count -| nsei-chg | <> | NS-VC changed NSEI count -| inv-nsvci | <> | NS-VCI was invalid count -| inv-nsei | <> | NSEI was invalid count -| lost:alive | <> | ALIVE ACK missing count -| lost:reset | <> | RESET ACK missing count -|=== -// rate_ctr_group table NSVC Peer Statistics -.ns:nsvc - NSVC Peer Statistics +.ns:nsvc - NSVC Peer Statistics [options="header"] |=== | Name | Reference | Description @@ -52,7 +24,7 @@ | lost:reset | <> | RESET ACK missing count |=== // rate_ctr_group table BTS Statistics -.bts - BTS Statistics +.bts - BTS Statistics [options="header"] |=== | Name | Reference | Description @@ -142,18 +114,12 @@ | egprs:uplink_mcs8 | <> | MCS8 Uplink | egprs:uplink_mcs9 | <> | MCS9 Uplink |=== +== Osmo Stat Items + // generating tables for osmo_stat_items NSVC Peer Statistics // osmo_stat_item_group table NSVC Peer Statistics -.ns.nsvc - NSVC Peer Statistics -[options="header"] -|=== -| Name | Reference | Description | Unit -| alive.delay | <> | ALIVE response time | ms -|=== -NSVC Peer Statistics -// osmo_stat_item_group table NSVC Peer Statistics -.ns.nsvc - NSVC Peer Statistics +.ns.nsvc - NSVC Peer Statistics [options="header"] |=== | Name | Reference | Description | Unit @@ -161,18 +127,13 @@ |=== BTS Statistics // osmo_stat_item_group table BTS Statistics -.bts - BTS Statistics +.bts - BTS Statistics [options="header"] |=== | Name | Reference | Description | Unit | ms.present | <> | MS Present | |=== +== Osmo Counters + // generating tables for osmo_counters -// ungrouped osmo_counters -.ungrouped osmo counters -[options="header"] -|=== -| Name | Reference | Description -|=== - - +// there are no ungrouped osmo_counters diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index 235e307..cc8fffa 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -263,6 +263,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -628,6 +672,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 13:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 13:40:06 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive re-transmission optional Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 Change subject: tbf_dl: make preemptive re-transmission optional ...................................................................... tbf_dl: make preemptive re-transmission optional Since [1], OsmoPCU already starts to re-transmit downlink blocks before the MS has had a chance to receive them and/or send the related acknowledgement in uplink. Make this optional with the new VTY option "no dl-tbf-preemptive-retransmission". [1] e25b5b91f60f20f61096bc6199a05b58ee6c6328 ("tbf: Only create dummy frames if necessary") Related: OS#2408 Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_vty.c M src/tbf_dl.cpp 5 files changed, 44 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/15423/1 diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index cc8fffa..945686a 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -1807,6 +1807,17 @@ + + + + + + + + + + + diff --git a/src/bts.cpp b/src/bts.cpp index 26dd401..60f74dd 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -216,6 +216,7 @@ { memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; + m_bts.dl_tbf_preemptive_retransmission = true; /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(m_bts.trx); ++trx_no) { diff --git a/src/bts.h b/src/bts.h index 767605c..45d52a9 100644 --- a/src/bts.h +++ b/src/bts.h @@ -135,6 +135,7 @@ uint8_t alpha, gamma; uint8_t egprs_enabled; uint32_t dl_tbf_idle_msec; /* hold time for idle DL TBFs */ + bool dl_tbf_preemptive_retransmission; uint8_t si13[GSM_MACBLOCK_LEN]; bool si13_is_set; /* 0 to support resegmentation in DL, 1 for no reseg */ diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 1e4f50c..f444e41 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -254,6 +254,8 @@ if (bts->dl_tbf_idle_msec) vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec, VTY_NEWLINE); + if (!bts->dl_tbf_preemptive_retransmission) + vty_out(vty, " no dl-tbf-preemptive-retransmission%s", VTY_NEWLINE); if (strcmp(bts->pcu_sock_path, PCU_SOCK_DEFAULT)) vty_out(vty, " pcu-socket %s%s", bts->pcu_sock_path, VTY_NEWLINE); @@ -870,6 +872,32 @@ return CMD_SUCCESS; } +#define RETRANSMISSION_STR "re-transmit blocks even before the MS had a chance to receive them (better throughput," \ + " less readable traces)" +DEFUN(cfg_pcu_dl_tbf_preemptive_retransmission, + cfg_pcu_dl_tbf_preemptive_retransmission_cmd, + "dl-tbf-preemptive-retransmission", + RETRANSMISSION_STR " (enabled by default)") +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + + bts->dl_tbf_preemptive_retransmission = true; + + return CMD_SUCCESS; +} + +DEFUN(cfg_pcu_no_dl_tbf_preemptive_retransmission, + cfg_pcu_no_dl_tbf_preemptive_retransmission_cmd, + "no dl-tbf-preemptive-retransmission", + NO_STR RETRANSMISSION_STR) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + + bts->dl_tbf_preemptive_retransmission = false; + + return CMD_SUCCESS; +} + #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n" DEFUN(cfg_pcu_ms_idle_time, cfg_pcu_ms_idle_time_cmd, @@ -1215,6 +1243,8 @@ install_element(PCU_NODE, &cfg_pcu_gamma_cmd); install_element(PCU_NODE, &cfg_pcu_dl_tbf_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_no_dl_tbf_idle_time_cmd); + install_element(PCU_NODE, &cfg_pcu_dl_tbf_preemptive_retransmission_cmd); + install_element(PCU_NODE, &cfg_pcu_no_dl_tbf_preemptive_retransmission_cmd); install_element(PCU_NODE, &cfg_pcu_ms_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_no_ms_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_gsmtap_categ_cmd); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d5e4a45..71fde66 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -431,7 +431,7 @@ m_window.v_s(), mcs_name(new_cs)); bsn = create_new_bsn(fn, new_cs); - } else if (!m_window.window_empty()) { + } else if (!m_window.window_empty() && bts->bts_data()->dl_tbf_preemptive_retransmission) { LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 13:43:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 13:43:28 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive re-transmission optional In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive re-transmission optional ...................................................................... Patch Set 1: What I've tested: VTY commands and default value working as expected. Since we don't have TTCN3 tests for TBF DL yet, and this is a trivial patch, I did not test actually using TBF DL with 'no dl-tbf-preemptive-retransmission' set. (Let me know if there is a feasible way to test it.) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Sep 2019 13:43:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 13:55:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 13:55:45 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15417 ) Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Sep 2019 13:55:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 14:00:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 14:00:13 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15420/2/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/#/c/15420/2/src/common/paging.c at 548 PS2, Line 548: printf Looks like a debug left-over. https://gerrit.osmocom.org/#/c/15420/2/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/#/c/15420/2/src/common/pcu_sock.c at 304 PS2, Line 304: if (app_type & 0xF0 || len > sizeof(ai_req->data)) { Makes sense to do this check before allocating the msgb. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 05 Sep 2019 14:00:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 14:03:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 14:03:08 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: tbf: Rename T and N arrays Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15424 Change subject: cosmetic: tbf: Rename T and N arrays ...................................................................... cosmetic: tbf: Rename T and N arrays Those namings my collide with usual osmocom "T" variable name associated to a timer number, which will be added in following patches. Change-Id: Ic2b5068a4882e4a043bf81496be30a378fdb9a09 --- M src/tbf.cpp M src/tbf.h 2 files changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/15424/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 9856c7f..d3021e4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -220,8 +220,8 @@ /* The classes of these members do not have proper constructors yet. * Just set them to 0 like talloc_zero did */ memset(&pdch, 0, sizeof(pdch)); - memset(&T, 0, sizeof(T)); - memset(&N, 0, sizeof(N)); + memset(&Tarr, 0, sizeof(Tarr)); + memset(&Narr, 0, sizeof(Narr)); memset(&gsm_timer, 0, sizeof(gsm_timer)); m_rlc.init(); @@ -563,7 +563,7 @@ return; } - N[n] = 0; + Narr[n] = 0; } /* Increment counter and check for MAX value (return true if we hit it) */ @@ -577,7 +577,7 @@ return true; } - N[n]++; + Narr[n]++; switch(n) { case N3101: @@ -595,7 +595,7 @@ return true; } - if (N[n] == chk) { + if (Narr[n] == chk) { LOGPTBF(this, LOGL_NOTICE, "%s exceeded MAX (%u)\n", get_value_string(tbf_counters_names, n), chk); return true; @@ -612,10 +612,10 @@ return; } - if (osmo_timer_pending(&T[t])) { + if (osmo_timer_pending(&Tarr[t])) { LOGPTBF(this, LOGL_DEBUG, "stopping timer %s [%s]\n", get_value_string(tbf_timers_names, t), reason); - osmo_timer_del(&T[t]); + osmo_timer_del(&Tarr[t]); } } @@ -625,11 +625,11 @@ uint8_t i; if (t != T_MAX) - return osmo_timer_pending(&T[t]); + return osmo_timer_pending(&Tarr[t]); /* we don't start with T0 because it's internal timer which requires special handling */ for (i = T3169; i < T_MAX; i++) - if (osmo_timer_pending(&T[i])) + if (osmo_timer_pending(&Tarr[i])) return true; return false; @@ -672,37 +672,37 @@ return; } - if (!force && osmo_timer_pending(&T[t])) + if (!force && osmo_timer_pending(&Tarr[t])) return; LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s %sstarting timer %s [%s] with %u sec. %u microsec, cur_fn=%d\n", - tbf_name(this), osmo_timer_pending(&T[t]) ? "re" : "", + tbf_name(this), osmo_timer_pending(&Tarr[t]) ? "re" : "", get_value_string(tbf_timers_names, t), reason, sec, microsec, current_fn); - T[t].data = this; + Tarr[t].data = this; switch(t) { case T0: - T[t].cb = tbf_timer_cb; + Tarr[t].cb = tbf_timer_cb; break; case T3169: - T[t].cb = cb_T3169; + Tarr[t].cb = cb_T3169; break; case T3191: - T[t].cb = cb_T3191; + Tarr[t].cb = cb_T3191; break; case T3193: - T[t].cb = cb_T3193; + Tarr[t].cb = cb_T3193; break; case T3195: - T[t].cb = cb_T3195; + Tarr[t].cb = cb_T3195; break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); } - osmo_timer_schedule(&T[t], sec, microsec); + osmo_timer_schedule(&Tarr[t], sec, microsec); } int gprs_rlcmac_tbf::check_polling(uint32_t fn, uint8_t ts, diff --git a/src/tbf.h b/src/tbf.h index 34e8101..16ccf43 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -370,8 +370,8 @@ LListHead m_list; LListHead m_ms_list; bool m_egprs_enabled; - struct osmo_timer_list T[T_MAX]; - uint8_t N[N_MAX]; + struct osmo_timer_list Tarr[T_MAX]; + uint8_t Narr[N_MAX]; mutable char m_name_buf[60]; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic2b5068a4882e4a043bf81496be30a378fdb9a09 Gerrit-Change-Number: 15424 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 14:03:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 14:03:10 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user (even overwriting whatever came from BTS), and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 11 files changed, 358 insertions(+), 308 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/1 diff --git a/src/bts.cpp b/src/bts.cpp index 26dd401..44027ce 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -68,6 +68,27 @@ static BTS s_bts; +#define T3142_SECS 20 +#define T3169_SECS 5 +#define T3191_SECS 5 +#define T3193_MSECS 100 +#define T3195_SECS 5 +#define X2000_MSECS 2 +#define X2001_SECS 2 +#define X2002_MSECS 200 + +static struct osmo_tdef bts_T_defs[] = { + { .T=3142, .default_val=T3142_SECS, .desc="timer (s)" }, + { .T=3169, .default_val=T3169_SECS, .desc="timer (s)" }, + { .T=3191, .default_val=T3191_SECS, .desc="timer (s)" }, + { .T=3193, .default_val=T3193_MSECS, .unit=OSMO_TDEF_MS, .desc="timer (ms)" }, + { .T=3195, .default_val=T3195_SECS, .desc="timer (s)" }, + { .T=-2000, .default_val=X2000_MSECS, .unit=OSMO_TDEF_MS, .desc="timeout for tbf reject for PRR timer (ms)" }, + { .T=-2001, .default_val=X2001_SECS, .desc="timeout for pacch assignment timer (s)" }, + { .T=-2002, .default_val=X2002_MSECS, .unit=OSMO_TDEF_MS, .desc="waiting after IMM.ASS confirm timer (ms)" }, + {} +}; + /** * For gcc-4.4 compat do not use extended initializer list but keep the * order from the enum here. Once we support GCC4.7 and up we can change @@ -216,6 +237,8 @@ { memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; + m_bts.T_defs = bts_T_defs; + osmo_tdefs_reset(m_bts.T_defs); /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(m_bts.trx); ++trx_no) { @@ -569,7 +592,7 @@ LOGP(DRLCMAC, LOGL_DEBUG, "Got IMM.ASS confirm for TLLI=%08x\n", tlli); if (dl_tbf->m_wait_confirm) - T_START(dl_tbf, T0, 0, T_ASS_AGCH_USEC, "assignment (AGCH)", true); + T_START(dl_tbf, T0, -2002, "assignment (AGCH)", true); return 0; } @@ -760,7 +783,7 @@ tbf->set_ta(ta); TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); - T_START(tbf, T3169, m_bts.t3169, 0, "RACH (new UL-TBF)", true); + T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] START\n"); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] RACH " "qbit-ta=%d ra=0x%02x, Fn=%d " diff --git a/src/bts.h b/src/bts.h index 767605c..ce63a9a 100644 --- a/src/bts.h +++ b/src/bts.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -117,11 +118,8 @@ uint32_t llc_discard_csec; uint32_t llc_idle_ack_csec; uint32_t llc_codel_interval_msec; /* 0=disabled, -1=use default interval */ - uint8_t t3142; - uint8_t t3169; - uint8_t t3191; - uint16_t t3193_msec; - uint8_t t3195; + /* Timer defintions */ + struct osmo_tdef *T_defs; uint8_t n3101; uint8_t n3103; uint8_t n3105; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index da85df4..fee695f 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -208,7 +208,7 @@ void pcu_l1if_tx_agch(bitvec * block, int plen) { uint8_t data[23]; /* prefix PLEN */ - + /* FIXME: why does OpenBTS has no PLEN and no fill in message? */ bitvec_pack(block, data + 1); data[0] = (plen << 2) | 0x01; @@ -508,11 +508,11 @@ if (!bts->cs1 && !bts->cs2 && !bts->cs3 && !bts->cs4) bts->cs1 = 1; if (info_ind->t3142) { /* if timer values are set */ - bts->t3142 = info_ind->t3142; - bts->t3169 = info_ind->t3169; - bts->t3191 = info_ind->t3191; - bts->t3193_msec = info_ind->t3193_10ms * 10; - bts->t3195 = info_ind->t3195; + osmo_tdef_set(bts->T_defs, 3142, info_ind->t3142, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs, 3169, info_ind->t3169, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs, 3191, info_ind->t3191, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs, 3193, info_ind->t3193_10ms * 10, OSMO_TDEF_MS); + osmo_tdef_set(bts->T_defs, 33195, info_ind->t3195, OSMO_TDEF_S); bts->n3101 = info_ind->n3101; bts->n3103 = info_ind->n3103; bts->n3105 = info_ind->n3105; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 21cb244..6f71ca5 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -202,11 +202,6 @@ bts->initial_cs_dl = bts->initial_cs_ul = 1; bts->initial_mcs_dl = bts->initial_mcs_ul = 1; bts->cs1 = 1; - bts->t3142 = 20; - bts->t3169 = 5; - bts->t3191 = 5; - bts->t3193_msec = 100; - bts->t3195 = 5; bts->n3101 = 10; bts->n3103 = 4; bts->n3105 = 8; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 1e4f50c..fa96380 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -1081,6 +1083,28 @@ return CMD_SUCCESS; } +DEFUN(show_timer, show_timer_cmd, + "show timer " OSMO_TDEF_VTY_ARG_T_OPTIONAL, + SHOW_STR "Show timers\n" + OSMO_TDEF_VTY_DOC_T) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + const char *T_arg = argc > 0 ? argv[0] : NULL; + return osmo_tdef_vty_show_cmd(vty, bts->T_defs, T_arg, NULL); +} + +DEFUN(cfg_pcu_timer, cfg_pcu_timer_cmd, + "timer " OSMO_TDEF_VTY_ARG_SET_OPTIONAL, + "Configure or show timers\n" + OSMO_TDEF_VTY_DOC_SET) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + /* If any arguments are missing, redirect to 'show' */ + if (argc < 2) + return show_timer(self, vty, argc, argv); + return osmo_tdef_vty_set_cmd(vty, bts->T_defs, argv); +} + DEFUN(show_tbf, show_tbf_cmd, "show tbf (all|ccch|pacch)", @@ -1221,12 +1245,14 @@ install_element(PCU_NODE, &cfg_pcu_no_gsmtap_categ_cmd); install_element(PCU_NODE, &cfg_pcu_sock_cmd); install_element(PCU_NODE, &cfg_pcu_gb_dialect_cmd); + install_element(PCU_NODE, &cfg_pcu_timer_cmd); install_element_ve(&show_bts_stats_cmd); install_element_ve(&show_tbf_cmd); install_element_ve(&show_ms_all_cmd); install_element_ve(&show_ms_tlli_cmd); install_element_ve(&show_ms_imsi_cmd); + install_element_ve(&show_timer_cmd); return 0; } diff --git a/src/tbf.cpp b/src/tbf.cpp index d3021e4..f9a2dc0 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -428,7 +428,7 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); - T_START(tbf, T3169, bts->t3169, 0, "allocation (UL-TBF)", true); + T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -661,12 +661,16 @@ T_CBACK(T3193, false) T_CBACK(T3195, true) -void gprs_rlcmac_tbf::t_start(enum tbf_timers t, uint32_t sec, uint32_t microsec, const char *reason, bool force, +void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) { int current_fn = get_current_fn(); + int sec; + int microsec; - if (t >= T_MAX) { + struct osmo_tdef *tdef = osmo_tdef_get_entry(bts->bts_data()->T_defs, T); + + if (t >= T_MAX || !tdef) { LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to start unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); return; @@ -675,6 +679,20 @@ if (!force && osmo_timer_pending(&Tarr[t])) return; + switch (tdef->unit) { + case OSMO_TDEF_MS: + sec = 0; + microsec = tdef->val * 1000; + break; + case OSMO_TDEF_S: + sec = tdef->val; + microsec = 0; + break; + default: + /* so far only timers using MS and S */ + OSMO_ASSERT(false); + } + LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s %sstarting timer %s [%s] with %u sec. %u microsec, cur_fn=%d\n", tbf_name(this), osmo_timer_pending(&Tarr[t]) ? "re" : "", get_value_string(tbf_timers_names, t), reason, sec, microsec, current_fn); @@ -790,7 +808,7 @@ if (n_inc(N3101)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3169, bts->bts_data()->t3169, 0, "MAX N3101 reached", false); + T_START(this, T3169, 3169, "MAX N3101 reached", false); return; } @@ -805,7 +823,7 @@ if (ul_tbf->n_inc(N3103)) { bts->pkt_ul_ack_nack_poll_failed(); TBF_SET_STATE(ul_tbf, GPRS_RLCMAC_RELEASING); - T_START(ul_tbf, T3169, ul_tbf->bts->bts_data()->t3169, 0, "MAX N3103 reached", false); + T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } /* reschedule UL ack */ @@ -824,7 +842,7 @@ bts->pua_poll_timedout(); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3195, bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(this, T3195, 3195, "MAX N3105 reached", true); bts->rlc_ass_failed(); bts->pua_poll_failed(); return; @@ -843,7 +861,7 @@ bts->pda_poll_timedout(); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3195, bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(this, T3195, 3195, "MAX N3105 reached", true); bts->rlc_ass_failed(); bts->pda_poll_failed(); return; @@ -869,7 +887,7 @@ if (dl_tbf->n_inc(N3105)) { TBF_SET_STATE(dl_tbf, GPRS_RLCMAC_RELEASING); - T_START(dl_tbf, T3195, dl_tbf->bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts->pkt_dl_ack_nack_poll_failed(); bts->rlc_ack_failed(); return; @@ -1321,7 +1339,7 @@ /* Start Tmr only if it is UL TBF */ if (direction == GPRS_RLCMAC_UL_TBF) - T_START(this, T0, 0, T_REJ_PACCH_USEC, "reject (PACCH)", true); + T_START(this, T0, -2000, "reject (PACCH)", true); return msg; diff --git a/src/tbf.h b/src/tbf.h index 16ccf43..6eab9d0 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -42,10 +42,6 @@ * TBF instance */ -#define T_ASS_AGCH_USEC 200000 /* waiting after IMM.ASS confirm */ -#define T_ASS_PACCH_SEC 2 /* timeout for pacch assignment */ -#define T_REJ_PACCH_USEC 2000 /* timeout for tbf reject for PRR*/ - enum gprs_rlcmac_tbf_state { GPRS_RLCMAC_NULL = 0, /* new created TBF */ GPRS_RLCMAC_ASSIGN, /* wait for downlink assignment */ @@ -193,7 +189,7 @@ #define GPRS_RLCMAC_FLAG_TO_DL_ASS 7 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ -#define T_START(tbf, t, sec, usec, r, f) tbf->t_start(t, sec, usec, r, f, __FILE__, __LINE__) +#define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) #define TBF_SET_STATE(t, st) do { t->set_state(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) @@ -250,7 +246,7 @@ void stop_timers(const char *reason); bool timers_pending(enum tbf_timers t); void t_stop(enum tbf_timers t, const char *reason); - void t_start(enum tbf_timers t, uint32_t sec, uint32_t microsec, const char *reason, bool force, + void t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line); int establish_dl_tbf_on_pacch(); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d5e4a45..b30ebdb 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -499,7 +499,7 @@ TBF_SET_ASS_ON(this, GPRS_RLCMAC_FLAG_PACCH, true); /* start timer */ - T_START(this, T0, T_ASS_PACCH_SEC, 0, "assignment (PACCH)", true); + T_START(this, T0, -2001, "assignment (PACCH)", true); } else { LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); @@ -843,7 +843,7 @@ m_tx_counter = 0; /* start timer whenever we send the final block */ if (is_final) - T_START(this, T3191, bts_data()->t3191, 0, "final block (DL-TBF)", true); + T_START(this, T3191, 3191, "final block (DL-TBF)", true); state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); /* clear poll timeout flag */ @@ -1104,8 +1104,7 @@ TBF_SET_STATE(this, GPRS_RLCMAC_WAIT_RELEASE); /* start T3193 */ - T_START(this, T3193, bts_data()->t3193_msec / 1000, (bts_data()->t3193_msec % 1000) * 1000, - "release (DL-TBF)", true); + T_START(this, T3193, 3193, "release (DL-TBF)", true); /* reset rlc states */ m_tx_counter = 0; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 55c83e7..e4f0083 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -197,7 +197,7 @@ unsigned int block_idx; /* restart T3169 */ - T_START(this, T3169, bts_data()->t3169, 0, "acked (data)", true); + T_START(this, T3169, 3169, "acked (data)", true); /* Increment RX-counter */ this->m_rx_counter++; diff --git a/tests/emu/pcu_emu.cpp b/tests/emu/pcu_emu.cpp index 7ecabe1..7f99355 100644 --- a/tests/emu/pcu_emu.cpp +++ b/tests/emu/pcu_emu.cpp @@ -69,11 +69,6 @@ bts->fc_interval = 100; bts->initial_cs_dl = bts->initial_cs_ul = 1; bts->cs1 = 1; - bts->t3142 = 20; - bts->t3169 = 5; - bts->t3191 = 5; - bts->t3193_msec = 100; - bts->t3195 = 5; bts->n3101 = 10; bts->n3103 = 4; bts->n3105 = 8; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3d1616f..0bc1c42 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -87,7 +87,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 @@ -175,7 +175,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 @@ -455,7 +455,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free @@ -1446,7 +1446,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -1454,7 +1454,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1524,7 +1524,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1545,7 +1545,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1606,7 +1606,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1627,7 +1627,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1694,7 +1694,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because is was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654292, TS=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1738,7 +1738,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf5667788, not yet confirmed Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1760,7 +1760,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1805,7 +1805,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1826,7 +1826,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1900,7 +1900,7 @@ Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS Unable to update UL (M)CS CS-1 because we don't have link quality measurements. @@ -1940,7 +1940,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1976,7 +1976,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1997,7 +1997,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2060,7 +2060,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654275 (17,31,13) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -2068,7 +2068,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2125,7 +2125,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -2146,7 +2146,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2787,7 +2787,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 [DL] Slot Allocation (Algorithm A) for class 1 @@ -3028,7 +3028,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because is was requested explicitly (e.g. first final block sent). TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654461, TS=7) -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 Not accepting non-EGPRS phone in EGPRS-only mode @@ -3144,7 +3144,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -3165,7 +3165,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3234,7 +3234,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -3255,7 +3255,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3265,7 +3265,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3273,7 +3273,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3288,7 +3288,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3296,7 +3296,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3311,7 +3311,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3319,7 +3319,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3327,7 +3327,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3342,7 +3342,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3350,14 +3350,14 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3372,7 +3372,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3380,7 +3380,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3718,7 +3718,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -3974,7 +3974,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4192,7 +4192,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4378,7 +4378,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4544,7 +4544,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4692,7 +4692,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4835,7 +4835,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4967,7 +4967,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5099,7 +5099,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5154,7 +5154,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5209,7 +5209,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5264,7 +5264,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5335,7 +5335,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5406,7 +5406,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5477,7 +5477,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5548,7 +5548,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5610,7 +5610,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5672,7 +5672,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5734,7 +5734,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5803,7 +5803,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5845,7 +5845,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -5866,7 +5866,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5876,7 +5876,7 @@ Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5887,7 +5887,7 @@ Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6006,7 +6006,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -6027,7 +6027,7 @@ Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6037,7 +6037,7 @@ Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6135,7 +6135,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6160,7 +6160,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6185,7 +6185,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6210,7 +6210,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6235,7 +6235,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6260,7 +6260,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6285,7 +6285,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6343,7 +6343,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -6364,7 +6364,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6374,133 +6374,133 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6509,140 +6509,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6651,140 +6651,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6793,140 +6793,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6936,7 +6936,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -6972,7 +6972,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6982,126 +6982,126 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7110,7 +7110,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7118,7 +7118,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7134,126 +7134,126 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7262,140 +7262,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7404,140 +7404,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7546,140 +7546,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7688,14 +7688,14 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7703,7 +7703,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7756,7 +7756,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7781,7 +7781,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7806,7 +7806,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7831,7 +7831,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7856,7 +7856,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7881,7 +7881,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7906,7 +7906,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 14:22:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 14:22:18 +0000 Subject: Change in ...osmo-pcu[master]: Use proper API osmo_timer_setup() to set up timer struct Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15426 Change subject: Use proper API osmo_timer_setup() to set up timer struct ...................................................................... Use proper API osmo_timer_setup() to set up timer struct Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/15426/1 diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ddf5174..ce56154 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -946,8 +946,7 @@ osmo_signal_register_handler(SS_L_NS, nsvc_signal_cb, NULL); - the_pcu.bvc_timer.cb = bvc_timeout; - + osmo_timer_setup(&the_pcu.bvc_timer, bvc_timeout, NULL); return &the_pcu; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 Gerrit-Change-Number: 15426 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 14:22:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 14:22:18 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15427 Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Use osmo_tdef for BSSGP T1 and T2 Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp 2 files changed, 11 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/15427/1 diff --git a/src/bts.cpp b/src/bts.cpp index 44027ce..33ca309 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -68,6 +68,8 @@ static BTS s_bts; +#define BSSGP_T1_SECS 30 /* Guards the (un)blocking procedures */ +#define BSSGP_T2_SECS 30 /* Guards the reset procedure */ #define T3142_SECS 20 #define T3169_SECS 5 #define T3191_SECS 5 @@ -78,6 +80,8 @@ #define X2002_MSECS 200 static struct osmo_tdef bts_T_defs[] = { + { .T=1, .default_val=BSSGP_T1_SECS, .desc="BSSGP (un)blocking procedures timer (s)" }, + { .T=2, .default_val=BSSGP_T2_SECS, .desc="BSSGP reset procedure timer (s)" }, { .T=3142, .default_val=T3142_SECS, .desc="timer (s)" }, { .T=3169, .default_val=T3169_SECS, .desc="timer (s)" }, { .T=3191, .default_val=T3191_SECS, .desc="timer (s)" }, diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ce56154..4fdf338 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -33,9 +33,6 @@ #include "coding_scheme.h" } -#define BSSGP_TIMER_T1 30 /* Guards the (un)blocking procedures */ -#define BSSGP_TIMER_T2 30 /* Guards the reset procedure */ - /* Tuning parameters for BSSGP flow control */ #define FC_DEFAULT_LIFE_TIME_SECS 10 /* experimental value, 10s */ #define FC_MS_BUCKET_SIZE_BY_BMAX(bmax) ((bmax) / 2 + 500) /* experimental */ @@ -830,10 +827,12 @@ static void bvc_timeout(void *_priv) { + unsigned long secs; if (!the_pcu.bvc_sig_reset) { LOGP(DBSSGP, LOGL_INFO, "Sending reset on BVCI 0\n"); bssgp_tx_bvc_reset(the_pcu.bctx, 0, BSSGP_CAUSE_OML_INTERV); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T2, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs, 2, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } @@ -841,7 +840,8 @@ LOGP(DBSSGP, LOGL_INFO, "Sending reset on BVCI %d\n", the_pcu.bctx->bvci); bssgp_tx_bvc_reset(the_pcu.bctx, the_pcu.bctx->bvci, BSSGP_CAUSE_OML_INTERV); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T2, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs, 2, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } @@ -849,7 +849,8 @@ LOGP(DBSSGP, LOGL_INFO, "Sending unblock on BVCI %d\n", the_pcu.bctx->bvci); bssgp_tx_bvc_unblock(the_pcu.bctx); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T1, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs, 1, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:07:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Sep 2019 15:07:10 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15420/2/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/#/c/15420/2/include/osmo-bts/pcuif_proto.h at 16 PS2, Line 16: tranmit (transmit) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 05 Sep 2019 15:07:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:26:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 15:26:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 to look at the new patch set (#2). Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE ...................................................................... library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE According to 3GPP TS 04.08 (version 7.21.0), table 9.18, IA Rest Octets (see 10.5.2.16) is a mandatory IE, not optional. Change-Id: I403d2141536303a966be7ff51b06c3de202412e6 --- M library/GSM_RR_Types.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/15428/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I403d2141536303a966be7ff51b06c3de202412e6 Gerrit-Change-Number: 15428 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:56:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 15:56:53 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference, rate counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference, rate counters ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc File doc/manuals/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc at a5 PS1, Line 5: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : I think this shows clearly one of the known problems with the auto-generation of library counters. We shouldn't merge this as-is. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 15:56:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:57:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 15:57:27 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive re-transmission optional In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive re-transmission optional ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 15:57:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 15:58:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 ) Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15409/2/library/PCUIF_Types.ttcn File library/PCUIF_Types.ttcn: https://gerrit.osmocom.org/#/c/15409/2/library/PCUIF_Types.ttcn at 82 PS2, Line 82: type octetstring PCUIF_DataPad with { variant "ALIGN(left), PADDING(1296)" }; I think you could also have done this without introducing a new type, by adding the variant (data) .... below in the with clause of PCUIF_data. But nevermind, we can merge it as-is. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 15:58:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 15:58:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 15:58:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 ) Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 15:58:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:03:58 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 5 Sep 2019 16:03:58 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive re-transmission optional In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive re-transmission optional ...................................................................... Patch Set 1: I would like to review this before Tuesday. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 16:03:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:06:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 16:06:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 ) Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15429/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15429/2//COMMIT_MSG at 13 PS2, Line 13: somehow this change crashes my TITAN runtime: Good news: I just tested with eclipse-titan on Debian, and it doesn't crash there. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcf50709fcc03195cb8ef6092977e26f910ec Gerrit-Change-Number: 15429 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Sep 2019 16:06:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:21:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 16:21:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 ) Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I403d2141536303a966be7ff51b06c3de202412e6 Gerrit-Change-Number: 15428 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Sep 2019 16:21:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:21:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 16:21:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 ) Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcf50709fcc03195cb8ef6092977e26f910ec Gerrit-Change-Number: 15429 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 05 Sep 2019 16:21:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:21:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 16:21:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 ) Change subject: library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data ...................................................................... library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data PADDING is one of the TITAN specific language extensions [1], which tells the RAW codec that an encoded payload shall end at a boundary fixed by a multiple of 'padding' unit bits counted from the beginning of the message. Let's use it for record 'PCUIF_data', where the fixed-size buffer is located in between the other fields, so padding will be ignored by the RAW coding after decoding: $HOST: dec_PCUIF_Message(): Decoded @PCUIF_Types.PCUIF_Message: { msg_type := PCU_IF_MSG_DATA_REQ (0), bts_nr := 0, spare := '0000'O, u := { data_req := { sapi := PCU_IF_SAPI_AGCH (2), len := 23, data := '2D063F100FE3673A096B0000C800300B2B2B2B2B2B2B2B', ... } } } As a result, we don't have to deal with padding manually and can safely use 'decmatch' statement in the receive templates. [1] usrguide/referenceguide/4-ttcn3_language_extensions.adoc Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef --- M library/PCUIF_Types.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 132b72d..551081b 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -76,10 +76,15 @@ PCUIF_Text text } with { variant "" }; +/* This is a bad side of the current protocol design: fixed-size buffer is located + * in between the other fields of the message, so if the payload is smaller than + * 162 octets (1296 bits), we need to fill the remaining space with padding. */ +type octetstring PCUIF_DataPad with { variant "ALIGN(left), PADDING(1296)" }; + type record PCUIF_data { PCUIF_Sapi sapi, uint8_t len, - octetstring data length(162), + PCUIF_DataPad data, uint32_t fn, uint16_t arfcn, uint8_t trx_nr, @@ -89,7 +94,7 @@ uint16_t ber10k, int16_t ta_offs_qbits, int16_t lqual_cb -} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" }; +} with { variant (len) "LENGTHTO(data)" }; type record PCUIF_data_cnf_dt { PCUIF_Sapi sapi, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5808954b5c67c3239e795e43ae77035152d359ef Gerrit-Change-Number: 15409 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:21:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 16:21:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 ) Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE ...................................................................... library/GSM_RR_Types.ttcn: fix: IA Rest Octets is mandatory IE According to 3GPP TS 04.08 (version 7.21.0), table 9.18, IA Rest Octets (see 10.5.2.16) is a mandatory IE, not optional. Change-Id: I403d2141536303a966be7ff51b06c3de202412e6 --- M library/GSM_RR_Types.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 457f0f5..627f78f 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -587,7 +587,7 @@ TimingAdvance timing_advance, MobileAllocation mobile_allocation, /* TODO: starting time TLV */ - IaRestOctets rest_octets optional + IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; @@ -737,7 +737,14 @@ req_ref := f_compute_ReqRef(ra, fn), timing_advance := ta, mobile_allocation := ma, - rest_octets := omit + rest_octets := { + presence := '00'B, /* LL */ + ll := { + /* Compressed INTER RAT HO INFO: shall not be used (L) + * TODO: use variant "CSN.1 L/H" to avoid confusion. */ + compressed_irat_ho_info_ind := '1'B + } + } } } }; @@ -761,7 +768,7 @@ req_ref := tr_compute_ReqRef(ra, fn), timing_advance := ta, mobile_allocation := ma, - rest_octets := * + rest_octets := ? } } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I403d2141536303a966be7ff51b06c3de202412e6 Gerrit-Change-Number: 15428 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:21:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 5 Sep 2019 16:21:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 ) Change subject: library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding ...................................................................... library/GSM_RR_Types.ttcn: fix: IA Rest Octets may have optional padding According to 3GPP TS 04.08 (version 7.21.0), section 10.5.2.16 and table 10.5.45, IA Rest Octets IE may contain spare bits. Let's add an optional field 'pad' to record 'IaRestOctets'. NOTE: somehow this change crashes my TITAN runtime: dec_GsmRrMessage(): Stream before decoding: '2D063F100FE3673A096B0000C800300B2B2B2B2B2B2B2B'O *** Error in `././PCU_Tests': malloc(): memory corruption: 0x000000000074a790 *** while the recent version works just fine. Change-Id: Ifdcdcf50709fcc03195cb8ef6092977e26f910ec --- M library/GSM_RR_Types.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 627f78f..f313e23 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -543,7 +543,8 @@ IaRestOctLL ll optional, IaRestOctLH lh optional, IaRestOctHL hl optional, - IaRestOctHH hh optional + IaRestOctHH hh optional, + bitstring pad optional } with { variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdcdcf50709fcc03195cb8ef6092977e26f910ec Gerrit-Change-Number: 15429 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 16:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 16:28:20 +0000 Subject: Change in ...osmo-pcu[master]: Use proper API osmo_timer_setup() to set up timer struct In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15426 ) Change subject: Use proper API osmo_timer_setup() to set up timer struct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 Gerrit-Change-Number: 15426 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 05 Sep 2019 16:28:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 21:44:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 21:44:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 ) Change subject: bsc: Test suite for CBSP (Cell Broadcast Service Protocol) ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn File bsc/BSC_Tests_CBSP.ttcn: https://gerrit.osmocom.org/#/c/15376/2/bsc/BSC_Tests_CBSP.ttcn at 94 PS2, Line 94: activate(as_IgnRSL((tr_RSL_BCCH_INFO, tr_RSL_SACCH_FILL, > you can always create a "choice" of templates by putting the alternatives in parenthesis. [?] Cool, thanks for explaining, I didn't know that was possible! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia6ffac181f50586d06d2f29bca1c57285179e861 Gerrit-Change-Number: 15376 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 21:44:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 22:03:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 5 Sep 2019 22:03:17 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15417 ) Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15417/2/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/15417/2/src/common/rsl.c at 525 PS2, Line 525: /* OSMO_ETWS_CMD - proprietary extension as TS 48.058 has no standardized way to do this :( */ Are you submitting a wireshark patch for it? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Sep 2019 22:03:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 22:30:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 22:30:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT The purpose of RAW_PCU_BTS_CT is to emulate the BTS by sending TDMA frame clock and RTS (Ready To Send) indications, so that we can build new test cases on top of it, and move both osmo-bts-virtual and virt_phy out of the scope of IUT. == Current state - After creation, the component starts a listening UNIX socket and waits for a connection from OsmoPCU. - As soon as OsmoPCU is connected, we wait for the TXT.ind with its version, and respond with INFO.ind (SI13). - After sending the INFO.ind, we start TDMA clock timer that triggers transmission of TIME.ind messages at the beginning of every MAC block. == What's missing? - TDMA clock timer generates tons of logging messages, so we probably want to move it into a separate component. - Sending of RTS indications for free DL blocks. - We may need to handle OsmoPCU disconnection. Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 84 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/15430/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index dcd1f96..c3537d4 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -477,6 +477,89 @@ } } +type enumerated pcu_if_state { + /* Server started, waiting for connection from the BTS */ + PCU_IF_ST_INIT, + /* The BTS is connected and wants TIME.ind / RTS.ind from us */ + PCU_IF_ST_CONNECTED +} + +type component RAW_PCU_BTS_CT { + /* TDMA frame clock generator. One TDMA frame is 4.615 ms long */ + timer T_TDMAClock := 4.615 / 1000.0; + var integer tdma_abs_fn := 0; + var integer tdma_rel_fn := 0; + + /* PCU interface (UNIX domain socket) */ + var pcu_if_state g_pcu_conn_state := PCU_IF_ST_INIT; + var ConnectionId g_pcu_conn_id := -1; + port PCUIF_CODEC_PT PCU; +} + +private function f_bts_ct_handler(integer bts_nr, charstring pcu_sock_path) +runs on RAW_PCU_BTS_CT { + /* Port mappings */ + map(self:PCU, system:PCU); + + /* Init the Unix Domain Socket */ + log("Init PCU interface on '" & pcu_sock_path & "'"); + g_pcu_conn_id := f_pcuif_listen(PCU, pcu_sock_path); + PCU.receive(UD_connected:?); + + alt { + /* Wait for PCU_VERSION and return INFO_IND */ + [g_pcu_conn_state == PCU_IF_ST_INIT] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_TXT_IND(0, PCU_VERSION, ?))) { + log("OsmoPCU is now connected, sending INFO.ind"); + g_pcu_conn_state := PCU_IF_ST_CONNECTED; + + /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_INFO_IND( + bts_nr := bts_nr, nsei := mp_nsconfig.nsei, + nsvci := mp_nsconfig.nsvci, bvci := mp_gb_cfg.bvci, + local_port := mp_nsconfig.remote_udp_port, + remote_port := mp_nsconfig.local_udp_port, + remote_ip := f_inet_haddr(mp_nsconfig.local_ip)))); + + /* Start TDMA clock timer */ + T_TDMAClock.start; + repeat; + } + /* TODO: separate component for the clock module */ + [g_pcu_conn_state == PCU_IF_ST_CONNECTED] T_TDMAClock.timeout { + /* We don't really need to send every frame to OsmoPCU, because + * it omits frame numbers not starting at a MAC block. */ + if (tdma_rel_fn == 0 or tdma_rel_fn == 4 or tdma_rel_fn == 8) { + // log("Sending clock indication fn=", tdma_abs_fn); + PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TIME_IND(bts_nr, tdma_abs_fn))); + } + + /* TDMA hyperframe period is (2048 * 51 * 26) frames */ + if (tdma_abs_fn == (2048 * 51 * 26)) { + tdma_abs_fn := 0; + tdma_rel_fn := 0; + } else { + tdma_abs_fn := tdma_abs_fn + 1; + tdma_rel_fn := tdma_abs_fn mod 13; + } + + /* Keep it going */ + T_TDMAClock.start; + repeat; + } + } +} + +testcase TC_bts_ct_tuwat() runs on RAW_Test_CT { + var RAW_PCU_BTS_CT vc_EUSE; + + /* Init NS codec (emulate SGSN) */ + f_init_ns_codec(); + + vc_EUSE := RAW_PCU_BTS_CT.create("BTS-" & testcasename()); + vc_EUSE.start(f_bts_ct_handler(0, mp_pcu_sock_path)); + vc_EUSE.done; +} + control { execute( TC_ns_reset() ); execute( TC_ns_reset_retrans() ); @@ -491,6 +574,7 @@ /* Timing Advance tests (see GSM TS 43.064, section 6) */ execute( TC_ta_init_prach() ); + execute( TC_bts_ct_tuwat() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 5 22:33:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 5 Sep 2019 22:33:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 1: Any recommendations about coding style and the chosen architecture are welcome ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Sep 2019 22:33:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Fri Sep 6 00:00:34 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Fri, 6 Sep 2019 00:00:34 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-osmo-tetra_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#1685?= In-Reply-To: <583105841.647.1567682674512.JavaMail.jenkins@jenkins.osmocom.org> References: <583105841.647.1567682674512.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <694701564.654.1567728034766.JavaMail.jenkins@jenkins.osmocom.org> See From admin at opensuse.org Fri Sep 6 01:00:16 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 01:00:16 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d71afb7693d1_a6e2ae578b84600249180@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 326s] ar: `u' modifier ignored since `D' is the default (see `U') [ 326s] libtool: link: ranlib .libs/libtransceiver_common.a [ 326s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 326s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 327s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 327s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 327s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 327s] collect2: error: ld returned 1 exit status [ 327s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 327s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 327s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 327s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 327s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 327s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 327s] make[1]: *** [Makefile:444: all] Error 2 [ 327s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 327s] dh_auto_build: make -j1 returned exit code 2 [ 327s] make: *** [debian/rules:6: build] Error 255 [ 327s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 327s] [ 327s] sheep81 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 01:00:03 UTC 2019. [ 327s] [ 327s] ### VM INTERACTION START ### [ 330s] [ 316.767955] sysrq: SysRq : Power Off [ 330s] [ 316.774005] reboot: Power down [ 330s] ### VM INTERACTION END ### [ 330s] [ 330s] sheep81 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 01:00:06 UTC 2019. [ 330s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 01:09:08 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 01:09:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d71b1b86fdad_a6e2ae578b846002531e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 772s] ar: `u' modifier ignored since `D' is the default (see `U') [ 772s] libtool: link: ranlib .libs/libtransceiver_common.a [ 773s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 773s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 773s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 773s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 773s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 773s] collect2: error: ld returned 1 exit status [ 773s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 773s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 773s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 773s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 773s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 773s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 773s] make[1]: *** [Makefile:444: all] Error 2 [ 773s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 773s] dh_auto_build: make -j1 returned exit code 2 [ 773s] make: *** [debian/rules:6: build] Error 255 [ 773s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 773s] [ 773s] cloud103 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 01:08:46 UTC 2019. [ 773s] [ 774s] ### VM INTERACTION START ### [ 777s] [ 718.714503] sysrq: SysRq : Power Off [ 777s] [ 718.719227] reboot: Power down [ 779s] ### VM INTERACTION END ### [ 779s] [ 779s] cloud103 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 01:08:53 UTC 2019. [ 779s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 05:39:42 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 05:39:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d71f139ec6fd_a6e2ae578b84600318386@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 320s] ar: `u' modifier ignored since `D' is the default (see `U') [ 320s] libtool: link: ranlib .libs/libtransceiver_common.a [ 320s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 320s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 320s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 320s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 320s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 320s] collect2: error: ld returned 1 exit status [ 320s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 320s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 320s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 320s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 320s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 320s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 320s] make[1]: *** [Makefile:444: all] Error 2 [ 320s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 320s] dh_auto_build: make -j1 returned exit code 2 [ 320s] make: *** [debian/rules:6: build] Error 255 [ 320s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 320s] [ 320s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 05:39:29 UTC 2019. [ 320s] [ 320s] ### VM INTERACTION START ### [ 323s] [ 310.862620] sysrq: SysRq : Power Off [ 323s] [ 310.868099] reboot: Power down [ 323s] ### VM INTERACTION END ### [ 323s] [ 323s] sheep84 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 05:39:32 UTC 2019. [ 323s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 06:06:50 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 06:06:50 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d71f78c64101_a6e2ae578b846003335dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 1625s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1625s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1625s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1625s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 1626s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 1626s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1626s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1626s] collect2: error: ld returned 1 exit status [ 1626s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1626s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1626s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1626s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1626s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1626s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1626s] make[1]: *** [Makefile:444: all] Error 2 [ 1626s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1626s] dh_auto_build: make -j1 returned exit code 2 [ 1626s] make: *** [debian/rules:6: build] Error 255 [ 1626s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1626s] [ 1626s] lamb53 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 06:06:44 UTC 2019. [ 1626s] [ 1627s] ### VM INTERACTION START ### [ 1630s] [ 1534.608528] sysrq: SysRq : Power Off [ 1630s] [ 1534.696451] reboot: Power down [ 1630s] ### VM INTERACTION END ### [ 1630s] [ 1630s] lamb53 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 06:06:48 UTC 2019. [ 1630s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 6 06:49:46 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Sep 2019 06:49:46 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference, rate counters In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference, rate counters ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc File doc/manuals/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc at a5 PS1, Line 5: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > I think this shows clearly one of the known problems with the auto-generation of library counters. [?] Unfortunately, yeah. In those cases I manually applied only part of the changes, but that will of course not catch any changes made in the missing parts... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 06:49:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:05:24 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Sep 2019 07:05:24 +0000 Subject: Change in ...libosmo-sccp[master]: ss7: Do not queue messages if stream is not connected In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 ) Change subject: ss7: Do not queue messages if stream is not connected ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e Gerrit-Change-Number: 15405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 07:05:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:08:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Sep 2019 07:08:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Looks good to me! I'm surprised with how few lines of code this could be implemented. https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn at 552 PS1, Line 552: tuwat Maybe give it a more descriptive name like "selftest"? ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Sep 2019 07:08:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:20:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Sep 2019 07:20:14 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference In-Reply-To: References: Message-ID: Hello pespin, fixeria, daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 to look at the new patch set (#2). Change subject: doc: update generated VTY reference ...................................................................... doc: update generated VTY reference Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 88 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/15422/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:21:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Sep 2019 07:21:59 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc File doc/manuals/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/15422/1/doc/manuals/chapters/counters_generated.adoc at a5 PS1, Line 5: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : > Unfortunately, yeah. [?] I've reverted the counters_generated.adoc update. This is not relevant for the follow-up patch anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 07:21:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:24:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Sep 2019 07:24:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "bts: f_init_pcu: sleep before connect" In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 ) Change subject: Revert "bts: f_init_pcu: sleep before connect" ...................................................................... Revert "bts: f_init_pcu: sleep before connect" This reverts commit c089b415f5e3bbf5eb2de435b925581ca42d8872. The additional sleep caused other tests to break, probably because it triggered race conditions: * TC_pcu_socket_connect_multi * TC_pcu_socket_connect_si3gprs * TC_si_sched_13_2bis_2ter_2quater Adjust TC_pcu_socket_verify_info_ind test case error message to mention OS#4179. This test is flapping now, most of the time the BTS sends a CellID 0 because it did not receive the real CellID from the BSC yet. Related: OS#4179 Change-Id: I2115c337f4601a4614b140715323c42803b003ee --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 15948a3..2c11ca2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -324,9 +324,6 @@ pcu_conn_id := -1; return; } - - f_sleep(0.5); /* workaround for OS#4179 */ - pcu_conn_id := f_pcuif_connect(pt, mp_pcu_socket); T.start; @@ -4876,7 +4873,9 @@ var uint16_t cell_id_si3 := si3.payload.si3.cell_id; var uint16_t cell_id_pcu := g_pcu_last_info.u.info_ind.cell_id; if (cell_id_si3 != cell_id_pcu) { - setverdict(fail, "Expected cell_id ", cell_id_si3, " got: ", cell_id_pcu); + setverdict(fail, "Expected cell_id '", cell_id_si3, "' and got '", cell_id_pcu, "'. This either means,", + " that the BTS is sending the wrong cell_id, or that the BTS sent it too early", + " (OS#4179)"); } /* Verify LAC */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2115c337f4601a4614b140715323c42803b003ee Gerrit-Change-Number: 15401 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 07:30:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Sep 2019 07:30:14 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: Hello lynxis lazus, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 to look at the new patch set (#3). Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... tbf_dl: make preemptive retransmission optional Since [1], OsmoPCU already starts to retransmit downlink blocks before the MS has had a chance to receive them and/or send the related acknowledgement in uplink. Make this optional with the new VTY option "no dl-tbf-preemptive-retransmission". [1] e25b5b91f60f20f61096bc6199a05b58ee6c6328 ("tbf: Only create dummy frames if necessary") Related: OS#2408 Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_vty.c M src/tbf_dl.cpp 5 files changed, 44 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/15423/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 6 07:57:42 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 07:57:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d721192f330b_a6e2ae578b84600368677@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 336s] ar: `u' modifier ignored since `D' is the default (see `U') [ 336s] libtool: link: ranlib .libs/libtransceiver_common.a [ 336s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 336s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 336s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 336s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 336s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 336s] collect2: error: ld returned 1 exit status [ 336s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 336s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 336s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 336s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 336s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 336s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 336s] make[1]: *** [Makefile:444: all] Error 2 [ 336s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 336s] dh_auto_build: make -j1 returned exit code 2 [ 336s] make: *** [debian/rules:6: build] Error 255 [ 336s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 336s] [ 336s] sheep83 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 07:57:23 UTC 2019. [ 336s] [ 336s] ### VM INTERACTION START ### [ 340s] [ 325.451367] sysrq: SysRq : Power Off [ 340s] [ 325.457227] reboot: Power down [ 340s] ### VM INTERACTION END ### [ 340s] [ 340s] sheep83 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 07:57:26 UTC 2019. [ 340s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 08:00:33 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 08:00:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d72122727584_a6e2ae578b846003694a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 467s] ar: `u' modifier ignored since `D' is the default (see `U') [ 467s] libtool: link: ranlib .libs/libtransceiver_common.a [ 467s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 467s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 467s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 467s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 467s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 467s] collect2: error: ld returned 1 exit status [ 467s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 467s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 467s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 467s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 467s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 467s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 467s] make[1]: *** [Makefile:444: all] Error 2 [ 467s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 467s] dh_auto_build: make -j1 returned exit code 2 [ 467s] make: *** [debian/rules:6: build] Error 255 [ 467s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 467s] [ 467s] lamb17 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 08:00:14 UTC 2019. [ 467s] [ 467s] ### VM INTERACTION START ### [ 470s] [ 442.721175] sysrq: SysRq : Power Off [ 470s] [ 442.727629] reboot: Power down [ 470s] ### VM INTERACTION END ### [ 470s] [ 470s] lamb17 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 08:00:17 UTC 2019. [ 470s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 6 08:34:11 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Sep 2019 08:34:11 +0000 Subject: Change in ...pysim[master]: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15431 Change subject: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files ...................................................................... pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files When reading CSV files we currently have no option to provide a pin_adm_hex field like we already have it as commandline option. Lets add an option pin_adm_hex for this. Change-Id: I53e8d666d26a06f580725a8443a335643d10192c --- M pySim-prog.py 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/15431/1 diff --git a/pySim-prog.py b/pySim-prog.py index 8abce0a..13e8bb5 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -485,6 +485,21 @@ pin_adm = ''.join(['%02x'%(ord(x)) for x in row['adm1']]) if pin_adm: row['pin_adm'] = rpad(pin_adm, 16) + + # If the CSV-File defines a pin_adm_hex field use this field to + # generate pin_adm from that. + pin_adm_hex = row.get('pin_adm_hex') + if pin_adm_hex: + if len(pin_adm_hex) == 16: + row['pin_adm'] = pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("pin_adm_hex needs to be hex encoded using this option") + else: + raise ValueError("pin_adm_hex needs to be exactly 16 digits (hex encoded)") + return row -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I53e8d666d26a06f580725a8443a335643d10192c Gerrit-Change-Number: 15431 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 08:34:11 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Sep 2019 08:34:11 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15432 Change subject: Add support for automatic card handling ...................................................................... Add support for automatic card handling When using the batch mode of pySim-prog, the user has to insert/remove the cards from the cardreader manually. This is fine for small batches, but for high volume batches this method is not applicable. This patch adds support for the integration of an automatic card handler machine. The user can freely configure a custom commandline that is executed when a card should be inserted or moved to a good/bad collection bin. Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Related: SYS#4654 --- M pySim-prog.py A pySim/card_handler.py 2 files changed, 187 insertions(+), 77 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/15432/1 diff --git a/pySim-prog.py b/pySim-prog.py index 13e8bb5..a0cbf2d 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -30,6 +30,7 @@ import random import re import sys +import traceback try: import json @@ -41,6 +42,7 @@ from pySim.cards import _cards_classes from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF +from pySim.card_handler import * def parse_options(): @@ -163,6 +165,9 @@ help="Perform a 'dry run', don't actually program the card", default=False, action="store_true") + parser.add_option("--card_handler", dest="card_handler", metavar="FILE", + help="Use automatic card handling machine") + (options, args) = parser.parse_args() if options.type == 'list': @@ -610,6 +615,78 @@ return card +def process_card(opts, first, card_handler): + + if opts.dry_run is False: + # Connect transport + card_handler.get(first) + + # Not the first anymore ! + first = False + + if opts.dry_run is False: + # Get card + card = card_detect(opts, scc) + if card is None: + print "No card detected!" + return -1 + + # Probe only + if opts.probe: + return 0 + + # Erase if requested + if opts.erase: + print "Formatting ..." + card.erase() + card.reset() + + # Generate parameters + if opts.source == 'cmdline': + cp = gen_parameters(opts) + elif opts.source == 'csv': + imsi = None + iccid = None + if opts.read_iccid: + if opts.dry_run: + # Connect transport + card_handler.get(first) + (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) + iccid = dec_iccid(res) + elif opts.read_imsi: + if opts.dry_run: + # Connect transport + card_handler.get(first) + (res,_) = scc.read_binary(EF['IMSI']) + imsi = swap_nibbles(res)[3:] + else: + imsi = opts.imsi + cp = read_params_csv(opts, imsi=imsi, iccid=iccid) + if cp is None: + print "Error reading parameters\n" + return 2 + print_parameters(cp) + + if opts.dry_run is False: + # Program the card + print "Programming ..." + if opts.dry_run is not True: + card.program(cp) + else: + print "Dry Run: NOT PROGRAMMING!" + + # Write parameters permanently + write_parameters(opts, cp) + + # Batch mode state update and save + if opts.num is not None: + opts.num += 1 + save_batch(opts) + + card_handler.done() + return 0 + + if __name__ == '__main__': # Parse options @@ -638,88 +715,40 @@ # Batch mode init init_batch(opts) + if opts.card_handler: + card_handler = card_handler_auto(sl, opts.card_handler) + else: + card_handler = card_handler(sl) + # Iterate - done = False first = True card = None - while not done: + while 1: + try: + rc = process_card(opts, first, card_handler) + except (KeyboardInterrupt): + print "" + print "Terminated by user!" + sys.exit(0) + except: + print "" + print "Card programming failed with an execption:" + print "---------------------8<---------------------" + traceback.print_exc() + print "---------------------8<---------------------" + print "" + rc = -1 - if opts.dry_run is False: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) + # Something did not work as well as expected, however, lets + # make sure the card is pulled from the reader. + if rc != 0: + card_handler.error() - # Not the first anymore ! + # If we are not in batch mode we are done in any case, so lets + # exit here. + if not opts.batch_mode: + sys.exit(rc) + first = False - if opts.dry_run is False: - # Get card - card = card_detect(opts, scc) - if card is None: - if opts.batch_mode: - first = False - continue - else: - sys.exit(-1) - - # Probe only - if opts.probe: - break; - - # Erase if requested - if opts.erase: - print "Formatting ..." - card.erase() - card.reset() - - # Generate parameters - if opts.source == 'cmdline': - cp = gen_parameters(opts) - elif opts.source == 'csv': - imsi = None - iccid = None - if opts.read_iccid: - if opts.dry_run: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) - (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) - iccid = dec_iccid(res) - print iccid - elif opts.read_imsi: - if opts.dry_run: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) - (res,_) = scc.read_binary(EF['IMSI']) - imsi = swap_nibbles(res)[3:] - else: - imsi = opts.imsi - cp = read_params_csv(opts, imsi=imsi, iccid=iccid) - if cp is None: - print "Error reading parameters\n" - sys.exit(2) - print_parameters(cp) - - if opts.dry_run is False: - # Program the card - print "Programming ..." - if opts.dry_run is not True: - card.program(cp) - else: - print "Dry Run: NOT PROGRAMMING!" - - # Write parameters permanently - write_parameters(opts, cp) - - # Batch mode state update and save - if opts.num is not None: - opts.num += 1 - save_batch(opts) - - # Done for this card and maybe for everything ? - print "Done !\n" - - if not opts.batch_mode: - done = True diff --git a/pySim/card_handler.py b/pySim/card_handler.py new file mode 100644 index 0000000..d5d925e --- /dev/null +++ b/pySim/card_handler.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- + +""" pySim: card handler utilities +""" + +# +# (C) 2019 by Sysmocom s.f.m.c. GmbH +# All Rights Reserved +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +import os +import sys +import yaml + +# Manual card handler: User is prompted to insert/remove card from the reader. +class card_handler: + + sl = None + + def __init__(self, sl): + self.sl = sl + + def get(self, first = False): + print "Ready for Programming: Insert card now (or CTRL-C to cancel)" + self.sl.wait_for_card(newcardonly=not first) + + def error(self): + print "Programming failed: Remove card from reader" + print "" + + def done(self): + print "Programming successful: Remove card from reader" + print "" + +# Automatic card handler: A machine is used to handle the cards. +class card_handler_auto: + + sl = None + cmds = None + + def __init__(self, sl, config_file): + print "Card handler Config-file: " + str(config_file) + self.sl = sl + with open(config_file) as cfg: + self.cmds = yaml.load(cfg) + + def __exec_cmd(self, command): + print "Card handler Commandline: " + str(command) + rc = os.system(command) + if rc != 0: + print "" + print "Error: Card handler failure! (rc=" + str(rc) + ")" + os._exit(rc) + + def get(self, first = False): + print "Ready for Programming: Transporting card into the reader-bay..." + self.__exec_cmd(self.cmds['get']) + self.sl.connect() + + def error(self): + print "Programming failed: Transporting card to the error-bin..." + self.__exec_cmd(self.cmds['error']) + + def done(self): + print "Programming successful: Transporting card into the collector bin..." + self.__exec_cmd(self.cmds['done']) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 08:46:55 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Sep 2019 08:46:55 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15432 to look at the new patch set (#2). Change subject: Add support for automatic card handling ...................................................................... Add support for automatic card handling When using the batch mode of pySim-prog, the user has to insert/remove the cards from the cardreader manually. This is fine for small batches, but for high volume batches this method is not applicable. This patch adds support for the integration of an automatic card handler machine. The user can freely configure a custom commandline that is executed when a card should be inserted or moved to a good/bad collection bin. Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Related: SYS#4654 --- M contrib/jenkins.sh M pySim-prog.py A pySim/card_handler.py 3 files changed, 188 insertions(+), 77 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/15432/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:51:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:51:25 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 09:51:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:51:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:51:41 +0000 Subject: Change in ...pysim[master]: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15431 ) Change subject: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I53e8d666d26a06f580725a8443a335643d10192c Gerrit-Change-Number: 15431 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 09:51:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:52:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:52:00 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 09:52:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:52:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:52:11 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 09:52:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:54:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:54:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15430/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15430/1//COMMIT_MSG at 26 PS1, Line 26: TDMA clock timer generates tons of logging messages, so : we probably want to move it into a separate component. yes, it should be a separate component. And the .default file should disable most logging for that component. https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn at 515 PS1, Line 515: FIXME: make sure to use parameters from mp_gb_cfg.cell_id this should be fixed, I guess? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Sep 2019 09:54:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:55:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:55:47 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15417 ) Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15417/2/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/#/c/15417/2/src/common/rsl.c at 525 PS2, Line 525: /* OSMO_ETWS_CMD - proprietary extension as TS 48.058 has no standardized way to do this :( */ > Are you submitting a wireshark patch for it? yes. it's already in the osmocom wireshark tree for now: http://git.osmocom.org/wireshark/log/?h=laforge/etws -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 09:55:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:55:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:55:48 +0000 Subject: Change in ...osmo-bts[master]: ETWS Primary Notification via P1 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15417 ) Change subject: ETWS Primary Notification via P1 Rest Octets ...................................................................... ETWS Primary Notification via P1 Rest Octets The ETWS (Earthquake and Tsunami Warning System) uses a so-called ETWS Primary Notification which is sent * to phones in dedicated mode (via DCCH from the BSC) * to phones in idle mode (via P1 Rest Octets on PCH/CCCH) This patch implements the second part of the functionality, i.e. transmitting the related ETWS Primary Notification via PCH. As 3GPP doesn't specify how this is communicated over Abis, we use a new, vendor-specific RSL message type. Closes: OS#4047 Depends: libosmocore I89c24a81ada6627694a9632e87485a61cbd3e680 Depends: libosmocore I36fc2ffc22728887d1cb8768c7fcd9739a8ec0fc Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 --- M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/gsm_data_shared.c M src/common/paging.c M src/common/rsl.c M tests/paging/paging_test.c 6 files changed, 202 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index dd2a14c..65e984d 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -479,6 +479,7 @@ BTS_FEAT_SPEECH_F_EFR, BTS_FEAT_SPEECH_F_AMR, BTS_FEAT_SPEECH_H_AMR, + BTS_FEAT_ETWS_PN, _NUM_BTS_FEAT }; @@ -718,6 +719,15 @@ uint64_t pch_msgs; } agch_queue; + struct { + uint8_t *prim_notif; /* ETWS primary notification (NULL if none) */ + ssize_t prim_notif_len; /* Length of prim_notif; expected 56 bytes */ + uint8_t page_size; + uint8_t num_pages; /* total number of pages */ + uint8_t next_page; /* next page number to be sent */ + bool pni; /* Primary Notification Identifier */ + } etws; + struct paging_state *paging_state; char *bsc_oml_host; struct llist_head oml_queue; diff --git a/src/common/bts.c b/src/common/bts.c index 5c415e8..73631ae 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -192,6 +192,9 @@ tall_rtp_ctx = talloc_pool(tall_bts_ctx, 262144); osmo_rtp_init(tall_rtp_ctx); + /* features implemented in 'common', available for all models */ + gsm_bts_set_feature(bts, BTS_FEAT_ETWS_PN); + rc = bts_model_init(bts); if (rc < 0) { llist_del(&bts->list); diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index b1785b8..1ba43aa 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -106,6 +106,7 @@ { BTS_FEAT_SPEECH_F_EFR, "Fullrate speech EFR" }, { BTS_FEAT_SPEECH_F_AMR, "Fullrate speech AMR" }, { BTS_FEAT_SPEECH_H_AMR, "Halfrate speech AMR" }, + { BTS_FEAT_ETWS_PN, "ETWS Primary Notification on PCH" }, { 0, NULL } }; diff --git a/src/common/paging.c b/src/common/paging.c index 111f947..fca58b5 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -21,7 +21,7 @@ /* TODO: * eMLPP priprity - * add P1/P2/P3 rest octets + * add P2/P3 rest octets */ #include @@ -274,11 +274,86 @@ #define L2_PLEN(len) (((len - 1) << 2) | 0x01) +/* abstract representation of P1 rest octets; we only implement those parts we need for now */ +struct p1_rest_octets { + bool packet_page_ind[2]; + bool r8_present; + struct { + bool prio_ul_access; + bool etws_present; + struct { + bool is_first; + uint8_t page_nr; + const uint8_t *page; + size_t page_bytes; + } etws; + } r8; +}; + +/* 3GPP TS 44.018 10.5.2.23 append a segment/page of an ETWS primary notification to given bitvec */ +static void append_etws_prim_notif(struct bitvec *bv, bool is_first, uint8_t page_nr, + const uint8_t *etws, ssize_t etws_len) +{ + OSMO_ASSERT(etws_len < 128/8); + + /* ETWS primary Notification struct + * 0 NNNN / 1 NNNN + * PNI n + * LEN nnnnnnn (at least 13 bits before paylod) + * number of bits (LEN; up to 128) */ + + if (is_first) + bitvec_set_bit(bv, 0); + else + bitvec_set_bit(bv, 1); + bitvec_set_uint(bv, page_nr, 4); /* Segment Number / Total Number */ + bitvec_set_bit(bv, 0); /* PNI to distinguish different ETWS */ + bitvec_set_uint(bv, etws_len*8, 7); /* length of payload in number of bits */ + bitvec_set_bytes(bv, etws, etws_len); + + /* 17 bytes = 136bit - (11+13) = 112 bits = 14 bytes per PT1 + * => at least 4x PT1 RO for complete primary notification (56 bytes) */ +} + +/* 3GPP TS 44.018 10.5.2.23 append P1 Rest Octets to given bit-vector */ +static void append_p1_rest_octets(struct bitvec *bv, const struct p1_rest_octets *p1ro) +{ + /* Paging 1 RO (at least 10 bits before ETWS struct) */ + bitvec_set_bit(bv, L); /* no NLN */ + bitvec_set_bit(bv, L); /* no Priority1 */ + bitvec_set_bit(bv, L); /* no Priority2 */ + bitvec_set_bit(bv, L); /* no Group Call Info */ + if (p1ro->packet_page_ind[0]) + bitvec_set_bit(bv, H); /* Packet Page Indication 1 */ + else + bitvec_set_bit(bv, L); /* Packet Page Indication 1 */ + if (p1ro->packet_page_ind[1]) + bitvec_set_bit(bv, H); /* Packet Page Indication 2 */ + else + bitvec_set_bit(bv, L); /* Packet Page Indication 2 */ + + bitvec_set_bit(bv, L); /* No Release 6 additions */ + bitvec_set_bit(bv, L); /* No Release 7 additions */ + + if (p1ro->r8_present) { + bitvec_set_bit(bv, H); /* Release 8 */ + bitvec_set_bit(bv, p1ro->r8.prio_ul_access); /* Priority Uplink Access */ + if (p1ro->r8.etws_present) { + bitvec_set_bit(bv, 1); /* ETWS present */ + append_etws_prim_notif(bv, p1ro->r8.etws.is_first, p1ro->r8.etws.page_nr, + p1ro->r8.etws.page, p1ro->r8.etws.page_bytes); + } else + bitvec_set_bit(bv, 0); + } +} + static int fill_paging_type_1(uint8_t *out_buf, const uint8_t *identity1_lv, uint8_t chan1, const uint8_t *identity2_lv, - uint8_t chan2) + uint8_t chan2, const struct p1_rest_octets *p1ro) { struct gsm48_paging1 *pt1 = (struct gsm48_paging1 *) out_buf; + struct bitvec bv; + unsigned int paging_len; uint8_t *cur; memset(out_buf, 0, sizeof(*pt1)); @@ -294,7 +369,19 @@ pt1->l2_plen = L2_PLEN(cur - out_buf); - return cur - out_buf; + paging_len = cur - out_buf; + + memset(&bv, 0, sizeof(bv)); + bv.data = cur; + bv.data_len = GSM_MACBLOCK_LEN - paging_len; + + if (p1ro) + append_p1_rest_octets(&bv, p1ro); + + /* pad to the end of the MAC block */ + bitvec_spare_padding(&bv, bv.data_len *8); + + return GSM_MACBLOCK_LEN; } static int fill_paging_type_2(uint8_t *out_buf, const uint8_t *tmsi1_lv, @@ -406,16 +493,43 @@ } } +static void build_p1_rest_octets(struct p1_rest_octets *p1ro, struct gsm_bts *bts) +{ + memset(p1ro, 0, sizeof(*p1ro)); + p1ro->packet_page_ind[0] = false; + p1ro->packet_page_ind[1] = false; + p1ro->r8_present = true; + p1ro->r8.prio_ul_access = false; + p1ro->r8.etws_present = true; + unsigned int offset = bts->etws.page_size * bts->etws.next_page; + + if (bts->etws.next_page == 0) { + p1ro->r8.etws.is_first = true; + p1ro->r8.etws.page_nr = bts->etws.num_pages; + } else { + p1ro->r8.etws.is_first = false; + p1ro->r8.etws.page_nr = bts->etws.next_page + 1; + } + p1ro->r8.etws.page = bts->etws.prim_notif + offset; + /* last page may be smaller than first pages */ + if (bts->etws.next_page < bts->etws.num_pages-1) + p1ro->r8.etws.page_bytes = bts->etws.page_size; + else + p1ro->r8.etws.page_bytes = bts->etws.prim_notif_len - offset; + bts->etws.next_page = (bts->etws.next_page + 1) % bts->etws.num_pages; +} + /* generate paging message for given gsm time */ int paging_gen_msg(struct paging_state *ps, uint8_t *out_buf, struct gsm_time *gt, int *is_empty) { struct llist_head *group_q; + struct gsm_bts *bts = ps->bts; int group; int len; *is_empty = 0; - ps->bts->load.ccch.pch_total += 1; + bts->load.ccch.pch_total += 1; group = get_pag_subch_nr(ps, gt); if (group < 0) { @@ -427,11 +541,15 @@ group_q = &ps->paging_queue[group]; - /* There is nobody to be paged, send Type1 with two empty ID */ - if (llist_empty(group_q)) { + if (ps->bts->etws.prim_notif) { + struct p1_rest_octets p1ro; + build_p1_rest_octets(&p1ro, bts); + len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, &p1ro); + } else if (llist_empty(group_q)) { + /* There is nobody to be paged, send Type1 with two empty ID */ //DEBUGP(DPAG, "Tx PAGING TYPE 1 (empty)\n"); len = fill_paging_type_1(out_buf, empty_id_lv, 0, - NULL, 0); + NULL, 0, NULL); *is_empty = 1; } else { struct paging_record *pr[4]; @@ -439,7 +557,7 @@ time_t now = time(NULL); unsigned int i, num_imsi = 0; - ps->bts->load.ccch.pch_used += 1; + bts->load.ccch.pch_used += 1; /* get (if we have) up to four paging records */ for (i = 0; i < ARRAY_SIZE(pr); i++) { @@ -509,7 +627,7 @@ len = fill_paging_type_1(out_buf, pr[0]->u.paging.identity_lv, pr[0]->u.paging.chan_needed, - NULL, 0); + NULL, 0, NULL); } else { /* 2 (any type) or * 3 or 4, of which only 2 will be sent */ @@ -518,7 +636,7 @@ pr[0]->u.paging.identity_lv, pr[0]->u.paging.chan_needed, pr[1]->u.paging.identity_lv, - pr[1]->u.paging.chan_needed); + pr[1]->u.paging.chan_needed, NULL); if (num_pr >= 3) { /* re-add #4 for next time */ llist_add(&pr[2]->list, group_q); @@ -535,7 +653,7 @@ /* skip those that we might have re-added above */ if (pr[i] == NULL) continue; - rate_ctr_inc2(ps->bts->ctrs, BTS_CTR_PAGING_SENT); + rate_ctr_inc2(bts->ctrs, BTS_CTR_PAGING_SENT); /* check if we can expire the paging record, * or if we need to re-queue it */ if (pr[i]->u.paging.expiration_time <= now) { diff --git a/src/common/rsl.c b/src/common/rsl.c index d09dc4a..0bcad4c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -522,6 +522,46 @@ return 0; } +/* OSMO_ETWS_CMD - proprietary extension as TS 48.058 has no standardized way to do this :( */ +static int rsl_rx_osmo_etws_cmd(struct gsm_bts_trx *trx, struct msgb *msg) +{ + struct abis_rsl_cchan_hdr *cch = msgb_l2(msg); + struct gsm_bts *bts = trx->bts; + struct tlv_parsed tp; + + rsl_tlv_parse(&tp, msgb_l3(msg), msgb_l3len(msg)); + + if (!TLVP_PRESENT(&tp, RSL_IE_SMSCB_MSG)) + return rsl_tx_error_report(trx, RSL_ERR_MAND_IE_ERROR, &cch->chan_nr, NULL, msg); + + bts->etws.prim_notif_len = TLVP_LEN(&tp, RSL_IE_SMSCB_MSG); + if (bts->etws.prim_notif_len == 0) { + LOGP(DRSL, LOGL_NOTICE, "ETWS Primary Notification OFF\n"); + talloc_free(bts->etws.prim_notif); + bts->etws.prim_notif = NULL; + bts->etws.prim_notif_len = 0; + bts->etws.page_size = 0; + bts->etws.num_pages = 0; + bts->etws.next_page = 0; + } else { + LOGP(DRSL, LOGL_NOTICE, "ETWS Primary Notification: %s\n", + osmo_hexdump(TLVP_VAL(&tp, RSL_IE_SMSCB_MSG), + TLVP_LEN(&tp, RSL_IE_SMSCB_MSG))); + talloc_free(bts->etws.prim_notif); + bts->etws.prim_notif = talloc_memdup(bts, TLVP_VAL(&tp, RSL_IE_SMSCB_MSG), + bts->etws.prim_notif_len); + + bts->etws.page_size = 14; /* maximum possible in SI1 Rest Octets */ + bts->etws.num_pages = bts->etws.prim_notif_len / bts->etws.page_size; + if (bts->etws.prim_notif_len % bts->etws.page_size) + bts->etws.num_pages++; + + /* toggle the PNI to allow phones to distinguish new from old primary notification */ + bts->etws.pni = !bts->etws.pni; + } + return 0; +} + /*! Prefix a given SACCH frame with a L2/LAPDm UI header and store it in given output buffer. * \param[out] buf Output buffer, must be caller-allocated and hold at least len + 2 or sizeof(sysinfo_buf_t) bytes * \param[out] valid pointer to bit-mask of 'valid' System information types @@ -2951,6 +2991,9 @@ rsl_msg_name(cch->c.msg_type)); rsl_tx_error_report(trx, RSL_ERR_MSG_TYPE, &cch->chan_nr, NULL, msg); break; + case RSL_MT_OSMO_ETWS_CMD: + ret = rsl_rx_osmo_etws_cmd(trx, msg); + break; default: LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "undefined RSL cchan msg_type 0x%02x\n", cch->c.msg_type); diff --git a/tests/paging/paging_test.c b/tests/paging/paging_test.c index f112404..af8accc 100644 --- a/tests/paging/paging_test.c +++ b/tests/paging/paging_test.c @@ -42,6 +42,16 @@ abort(); \ } +static bool is_padding(const uint8_t *in, size_t len) +{ + int i; + for (i = 0; i < len; i++) { + if (in[i] != 0x2b) + return false; + } + return true; +} + static void test_paging_smoke(void) { int rc; @@ -61,7 +71,8 @@ g_time.t2 = 0; g_time.t3 = 6; rc = paging_gen_msg(bts->paging_state, out_buf, &g_time, &is_empty); - ASSERT_TRUE(rc == 13); + ASSERT_TRUE(rc == 23); + ASSERT_TRUE(is_padding(out_buf+13, 23-13)); ASSERT_TRUE(is_empty == 0); ASSERT_TRUE(paging_group_queue_empty(bts->paging_state, 0)); @@ -73,7 +84,8 @@ g_time.t2 = 0; g_time.t3 = 6; rc = paging_gen_msg(bts->paging_state, out_buf, &g_time, &is_empty); - ASSERT_TRUE(rc == 6); + ASSERT_TRUE(rc == 23); + ASSERT_TRUE(is_padding(out_buf+6, 23-6)); ASSERT_TRUE(is_empty == 1); /* @@ -104,7 +116,8 @@ g_time.t2 = 0; g_time.t3 = 6; rc = paging_gen_msg(bts->paging_state, out_buf, &g_time, &is_empty); - ASSERT_TRUE(rc == 13); + ASSERT_TRUE(rc == 23); + ASSERT_TRUE(is_padding(out_buf+13, 23-13)); ASSERT_TRUE(is_empty == 0); ASSERT_TRUE(paging_group_queue_empty(bts->paging_state, 0)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I18c60cdb86b9c19e09f5ec06d66e9b91608880e6 Gerrit-Change-Number: 15417 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:58:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 09:58:19 +0000 Subject: Change in ...libosmo-sccp[master]: ss7: Do not queue messages if stream is not connected In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 ) Change subject: ss7: Do not queue messages if stream is not connected ...................................................................... ss7: Do not queue messages if stream is not connected Consider them as lost by the lower layer, otherwise lots of old messages and retransmissions can end up queued in there until stream becomes connected, and then will flood the peer with all those messages. Depends: libosmo-netif.git 962bf9a48eed418354685dc733b8271d2dd62c27 Related: OS#4188 Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e --- M src/osmo_ss7.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c index e8a6918..053feca 100644 --- a/src/osmo_ss7.c +++ b/src/osmo_ss7.c @@ -1810,6 +1810,11 @@ msgb_free(msg); return -EIO; } + if (!osmo_stream_cli_is_connected(asp->client)) { + LOGPASP(asp, DLSS7, LOGL_ERROR, "Cannot transmit, asp->client not connected\n"); + msgb_free(msg); + return -EIO; + } osmo_stream_cli_send(asp->client, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic7d3571848faf28221dcfa8eb8b33b42964d988e Gerrit-Change-Number: 15405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:58:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:58:43 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 to look at the new patch set (#3). Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... pcu_interface: Forward ETWS Primary Notification to PCU All MS/UE must be notified of ETWS Primary Notifiations. Depending on their state, the notification goes different paths: * CS dedicated mode: BSC sends it as L3 message over LAPDm / DCCH * CS/PS idle mode: BTS sends paging messages on PCH * PS TBF active: PCU send Packet Application Info This enables the last of the three methods by passing any ETWS Primary Notifications received over RSL via the PCU socket into the PCU. Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Related: OS#4047, OS#4048 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/common/rsl.c 4 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/20/15420/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:58:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:58:49 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15420/2/src/common/paging.c File src/common/paging.c: https://gerrit.osmocom.org/#/c/15420/2/src/common/paging.c at 548 PS2, Line 548: printf > Looks like a debug left-over. Done https://gerrit.osmocom.org/#/c/15420/2/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/#/c/15420/2/src/common/pcu_sock.c at 304 PS2, Line 304: if (app_type & 0xF0 || len > sizeof(ai_req->data)) { > Makes sense to do this check before allocating the msgb. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 06 Sep 2019 09:58:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:59:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:59:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Test if BTS forwards ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 ) Change subject: bts: Test if BTS forwards ETWS Primary Notification to PCU ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2661df7f7d870a0ac1c89bb8a85df81644b00b0a Gerrit-Change-Number: 15421 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 09:59:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 09:59:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 09:59:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Test if BTS forwards ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 ) Change subject: bts: Test if BTS forwards ETWS Primary Notification to PCU ...................................................................... bts: Test if BTS forwards ETWS Primary Notification to PCU All MS/UE must be notified of ETWS Primary Notifiations. Depending on their state, the notification goes different paths: * CS dedicated mode: BSC sends it as L3 message over LAPDm / DCCH * CS/PS idle mode: BTS sends paging messages on PCH * PS TBF active: PCU send Packet Application Info This tests the last of the three methods by checking that a ETWS Primary Notification sent on RSL to the BTS is received by the PCU socket. Change-Id: I2661df7f7d870a0ac1c89bb8a85df81644b00b0a Related: OS#4047, OS#4048 Depends: osmo-bts Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 --- M bts/BTS_Tests_SMSCB.ttcn M library/PCUIF_Types.ttcn 2 files changed, 72 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 49416c2..292205a 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -26,6 +26,9 @@ import from RSL_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; + import from Osmocom_VTY_Functions all; import from BTS_Tests all; @@ -1046,6 +1049,32 @@ } } +/* Ensure ETWS Primary Notification is passed from RSL to PCU interface */ +testcase TC_etws_pcu() runs on test_CT { + timer T := 10.0; + + f_init(); + f_init_l1ctl(); + f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); + + RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + + T.start; + alt { + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_APP_INFO_REQ(0, 0, c_etws))) { + setverdict(pass); + } + [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_APP_INFO_REQ(?, ?, ?))) { + setverdict(fail, "PCU socket received invalid APP INFO"); + } + [] PCU.receive { repeat; } + [] T.timeout { + setverdict(fail, "PCU socket timeout receiving APP INFO (ETWS)"); + } + } +} + + /* SMSCB TODO: * multiple SMS BC CMD at the same time: Ensure all of them are sent exactly once @@ -1083,6 +1112,7 @@ execute( TC_etws_p1ro() ); execute( TC_etws_p1ro_end() ); + execute( TC_etws_pcu() ); } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 551081b..721eb64 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -22,6 +22,7 @@ PCU_IF_MSG_DATA_CNF ('01'O), PCU_IF_MSG_DATA_IND ('02'O), PCU_IF_MSG_SUSP_REQ ('03'O), + PCU_IF_MSG_APP_INFO_REQ ('04'O), PCU_IF_MSG_RTS_REQ ('10'O), PCU_IF_MSG_DATA_CNF_DT ('11'O), PCU_IF_MSG_RACH_IND ('22'O), @@ -203,6 +204,14 @@ OCT9 identity_lv } with { variant "" }; +type record PCUIF_app_info_req { + uint8_t application_type, + uint8_t len, + octetstring data +} with { + variant (len) "LENGTHTO(data)" +} + type record PCUIF_susp_req { OCT4 tlli, OCT6 ra_id, @@ -224,7 +233,8 @@ PCUIF_info_ind info_ind, PCUIF_act_req act_req, PCUIF_time_ind time_ind, - PCUIF_pag_req pag_req + PCUIF_pag_req pag_req, + PCUIF_app_info_req app_info_req } with { variant "" }; type record PCUIF_Message { @@ -244,7 +254,8 @@ info_ind, msg_type = PCU_IF_MSG_INFO_IND; act_req, msg_type = PCU_IF_MSG_ACT_REQ; time_ind, msg_type = PCU_IF_MSG_TIME_IND; - pag_req, msg_type = PCU_IF_MSG_PAG_REQ)" + pag_req, msg_type = PCU_IF_MSG_PAG_REQ; + app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" variant "PADDING(1696)" /* 212 * 8 */ }; @@ -817,5 +828,34 @@ } } +template (value) PCUIF_Message ts_PCUIF_APP_INFO_REQ(template (value) uint8_t bts_nr, + template (value) uint8_t app_type, + template (value) octetstring app_data) := { + msg_type := PCU_IF_MSG_APP_INFO_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + app_info_req := { + application_type := app_type, + len := 0, /* overwritten */ + data := app_data + } + } +} +template (present) PCUIF_Message tr_PCUIF_APP_INFO_REQ(template (present) uint8_t bts_nr, + template (present) uint8_t app_type, + template (present) octetstring app_data) := { + msg_type := PCU_IF_MSG_APP_INFO_REQ, + bts_nr := bts_nr, + spare := '0000'O, + u := { + app_info_req := { + application_type := app_type, + len := ?, + data := app_data + } + } +} + } with { encode "RAW" variant "BYTEORDER(first)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2661df7f7d870a0ac1c89bb8a85df81644b00b0a Gerrit-Change-Number: 15421 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 10:07:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 10:07:13 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 06 Sep 2019 10:07:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 10:07:37 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Sep 2019 10:07:37 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15432 to look at the new patch set (#3). Change subject: Add support for automatic card handling ...................................................................... Add support for automatic card handling When using the batch mode of pySim-prog, the user has to insert/remove the cards from the cardreader manually. This is fine for small batches, but for high volume batches this method is not applicable. This patch adds support for the integration of an automatic card handler machine. The user can freely configure a custom commandline that is executed when a card should be inserted or moved to a good/bad collection bin. Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Related: SYS#4654 --- M contrib/jenkins.sh M pySim-prog.py A pySim/card_handler.py 3 files changed, 216 insertions(+), 77 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/15432/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 13:06:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 13:06:23 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fix logging TN and version Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15433 Change subject: Transceiver: Fix logging TN and version ...................................................................... Transceiver: Fix logging TN and version Since tn is declared as uint8_t, it's actually a char, and by default c++'s ostream& operator<<(ostream&, unsigned char) tries to print chars with its ASCII visible character instead of numeric value. Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b --- M Transceiver52M/Transceiver.cpp 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/33/15433/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 590101c..0583998 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -968,12 +968,12 @@ case 1: break; default: - LOG(ERR) << "Rx TRXD message with unknown header version " << dl->common.version; + LOG(ERR) << "Rx TRXD message with unknown header version " << unsigned(dl->common.version); return false; } - LOG(DEBUG) << "Rx TRXD message (hdr_ver=" << dl->common.version << "): " - << "fn=" << fn << ", tn=" << dl->common.tn << ", " + LOG(DEBUG) << "Rx TRXD message (hdr_ver=" << unsigned(dl->common.version) << "): " + << "fn=" << fn << ", tn=" << unsigned(dl->common.tn) << ", " << "burst_len=" << burstLen; BitVector newBurst(burstLen); @@ -1018,7 +1018,7 @@ LOG(DEBUG) << std::fixed << std::right << " chan: " << chan - << " time: " << bi->tn << ":" << bi->fn + << " time: " << unsigned(bi->tn) << ":" << bi->fn << " RSSI: " << std::setw(5) << std::setprecision(1) << (bi->rssi - rssiOffset) << "dBFS/" << std::setw(6) << -bi->rssi << "dBm" << " noise: " << std::setw(5) << std::setprecision(1) << (bi->noise - rssiOffset) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b Gerrit-Change-Number: 15433 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 13:06:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 13:06:24 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Use LOGCHAN in logRxBurst to unify log format Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15434 Change subject: Transceiver: Use LOGCHAN in logRxBurst to unify log format ...................................................................... Transceiver: Use LOGCHAN in logRxBurst to unify log format Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/34/15434/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 0583998..8afbc95 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -1016,8 +1016,7 @@ else os << "-"; } - LOG(DEBUG) << std::fixed << std::right - << " chan: " << chan + LOGCHAN(chan, DMAIN, DEBUG) << std::fixed << std::right << " time: " << unsigned(bi->tn) << ":" << bi->fn << " RSSI: " << std::setw(5) << std::setprecision(1) << (bi->rssi - rssiOffset) << "dBFS/" << std::setw(6) << -bi->rssi << "dBm" -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e Gerrit-Change-Number: 15434 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 13:06:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 13:06:24 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Log error condition no burst in pullRadioVector() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15435 Change subject: Transceiver: Log error condition no burst in pullRadioVector() ...................................................................... Transceiver: Log error condition no burst in pullRadioVector() Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d --- M Transceiver52M/Transceiver.cpp 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/35/15435/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 8afbc95..079d1d7 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -603,8 +603,10 @@ /* Blocking FIFO read */ radioVector *radio_burst = mReceiveFIFO[chan]->read(); - if (!radio_burst) + if (!radio_burst) { + LOGCHAN(chan, DMAIN, ERROR) << "ReceiveFIFO->read() returned no burst"; return false; + } /* Set time and determine correlation type */ burstTime = radio_burst->getTime(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d Gerrit-Change-Number: 15435 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 13:06:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 13:06:24 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Transceiver: Don't stop TRX if pulling from OFF timeslot BTS may have any timeslot disabled, or may have not yet sent initial SETSLOT cmd to properly configure the timeslot. Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 31 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/36/15436/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 079d1d7..a6cc46f 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -587,9 +587,11 @@ /* * Pull bursts from the FIFO and handle according to the slot * and burst correlation type. Equalzation is currently disabled. - * returns true on success (bi filled), false on error (bi content undefined). + * returns 0 on success (bi filled), negative on error (bi content undefined): + * -1: timeslot is off (fn and tn in bi are filled), + * -2: read error */ -bool Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi) +int Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi) { int rc; struct estim_burst_params ebp; @@ -605,25 +607,11 @@ radioVector *radio_burst = mReceiveFIFO[chan]->read(); if (!radio_burst) { LOGCHAN(chan, DMAIN, ERROR) << "ReceiveFIFO->read() returned no burst"; - return false; + return -2; } /* Set time and determine correlation type */ burstTime = radio_burst->getTime(); - CorrType type = expectedCorrType(burstTime, chan); - - /* Debug: dump bursts to disk */ - /* bits 0-7 - chan 0 timeslots - * bits 8-15 - chan 1 timeslots */ - if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) - writeToFile(radio_burst, chan); - - /* No processing if the timeslot is off. - * Not even power level or noise calculation. */ - if (type == OFF) { - delete radio_burst; - return false; - } /* Initialize struct bi */ bi->nbits = 0; @@ -638,6 +626,21 @@ bi->tsc = 0; bi->ci = 0.0; + CorrType type = expectedCorrType(burstTime, chan); + + /* Debug: dump bursts to disk */ + /* bits 0-7 - chan 0 timeslots + * bits 8-15 - chan 1 timeslots */ + if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) + writeToFile(radio_burst, chan); + + /* No processing if the timeslot is off. + * Not even power level or noise calculation. */ + if (type == OFF) { + delete radio_burst; + return -1; + } + /* Select the diversity channel with highest energy */ for (size_t i = 0; i < radio_burst->chans(); i++) { float pow = energyDetect(*radio_burst->getVector(i), 20 * mSPSRx); @@ -702,12 +705,12 @@ delete rxBurst; delete radio_burst; - return true; + return 0; ret_idle: bi->idle = true; delete radio_burst; - return true; + return 0; } void Transceiver::reset() @@ -1032,9 +1035,15 @@ bool Transceiver::driveReceiveFIFO(size_t chan) { struct trx_ul_burst_ind bi; + int rc; - if (!pullRadioVector(chan, &bi)) - return false; + if ((rc = pullRadioVector(chan, &bi)) < 0) { + if (rc == -1) { /* timeslot off, warn and continue processing */ + LOGCHAN(chan, DMAIN, NOTICE) << unsigned(bi.tn) << ":" << bi.fn << " timeslot is off"; + return true; + } + return false; /* other errors: we want to stop the process */ + } if (!bi.idle) logRxBurst(chan, &bi); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 0d09854..30f6a60 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -182,7 +182,7 @@ void pushRadioVector(GSM::Time &nowTime); /** Pull and demodulate a burst from the receive FIFO */ - bool pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind); + int pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind); /** Set modulus for specific timeslot */ void setModulus(size_t timeslot, size_t chan); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 14:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 14:17:50 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 2: Build failing due to dependent libosmocore patch still not merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 14:17:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 6 16:12:22 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 16:12:22 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d72857d77f38_36d82b1be80725f42376e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 428s] ar: `u' modifier ignored since `D' is the default (see `U') [ 428s] libtool: link: ranlib .libs/libtransceiver_common.a [ 428s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 428s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 428s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 428s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 428s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 428s] collect2: error: ld returned 1 exit status [ 428s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 428s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 428s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 428s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 428s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 428s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 428s] make[1]: *** [Makefile:444: all] Error 2 [ 428s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 428s] dh_auto_build: make -j1 returned exit code 2 [ 428s] make: *** [debian/rules:6: build] Error 255 [ 428s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 428s] [ 428s] lamb59 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 16:11:57 UTC 2019. [ 428s] [ 428s] ### VM INTERACTION START ### [ 431s] [ 412.535143] sysrq: SysRq : Power Off [ 431s] [ 412.541100] reboot: Power down [ 432s] ### VM INTERACTION END ### [ 432s] [ 432s] lamb59 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 16:12:02 UTC 2019. [ 432s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 16:20:19 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 16:20:19 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d72875c724b4_36d82b1be80725f423881d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 511s] ar: `u' modifier ignored since `D' is the default (see `U') [ 511s] libtool: link: ranlib .libs/libtransceiver_common.a [ 511s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 511s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 511s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 512s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 512s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 512s] collect2: error: ld returned 1 exit status [ 512s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 512s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 512s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 512s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 512s] make[1]: *** [Makefile:444: all] Error 2 [ 512s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 512s] dh_auto_build: make -j1 returned exit code 2 [ 512s] make: *** [debian/rules:6: build] Error 255 [ 512s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 512s] [ 512s] cloud119 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 16:19:56 UTC 2019. [ 512s] [ 512s] ### VM INTERACTION START ### [ 515s] [ 468.932056] sysrq: SysRq : Power Off [ 515s] [ 468.946590] reboot: Power down [ 517s] ### VM INTERACTION END ### [ 517s] [ 517s] cloud119 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 16:20:02 UTC 2019. [ 517s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:58:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:58:39 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fix logging TN and version In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15433 ) Change subject: Transceiver: Fix logging TN and version ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b Gerrit-Change-Number: 15433 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 18:58:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:58:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:58:46 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Use LOGCHAN in logRxBurst to unify log format In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15434 ) Change subject: Transceiver: Use LOGCHAN in logRxBurst to unify log format ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e Gerrit-Change-Number: 15434 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 18:58:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:58:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:58:52 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Log error condition no burst in pullRadioVector() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15435 ) Change subject: Transceiver: Log error condition no burst in pullRadioVector() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d Gerrit-Change-Number: 15435 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 18:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:04 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 ) Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 18:59:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:06 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fix logging TN and version In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15433 ) Change subject: Transceiver: Fix logging TN and version ...................................................................... Transceiver: Fix logging TN and version Since tn is declared as uint8_t, it's actually a char, and by default c++'s ostream& operator<<(ostream&, unsigned char) tries to print chars with its ASCII visible character instead of numeric value. Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b --- M Transceiver52M/Transceiver.cpp 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 590101c..0583998 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -968,12 +968,12 @@ case 1: break; default: - LOG(ERR) << "Rx TRXD message with unknown header version " << dl->common.version; + LOG(ERR) << "Rx TRXD message with unknown header version " << unsigned(dl->common.version); return false; } - LOG(DEBUG) << "Rx TRXD message (hdr_ver=" << dl->common.version << "): " - << "fn=" << fn << ", tn=" << dl->common.tn << ", " + LOG(DEBUG) << "Rx TRXD message (hdr_ver=" << unsigned(dl->common.version) << "): " + << "fn=" << fn << ", tn=" << unsigned(dl->common.tn) << ", " << "burst_len=" << burstLen; BitVector newBurst(burstLen); @@ -1018,7 +1018,7 @@ LOG(DEBUG) << std::fixed << std::right << " chan: " << chan - << " time: " << bi->tn << ":" << bi->fn + << " time: " << unsigned(bi->tn) << ":" << bi->fn << " RSSI: " << std::setw(5) << std::setprecision(1) << (bi->rssi - rssiOffset) << "dBFS/" << std::setw(6) << -bi->rssi << "dBm" << " noise: " << std::setw(5) << std::setprecision(1) << (bi->noise - rssiOffset) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b Gerrit-Change-Number: 15433 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:06 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Use LOGCHAN in logRxBurst to unify log format In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15434 ) Change subject: Transceiver: Use LOGCHAN in logRxBurst to unify log format ...................................................................... Transceiver: Use LOGCHAN in logRxBurst to unify log format Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 0583998..8afbc95 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -1016,8 +1016,7 @@ else os << "-"; } - LOG(DEBUG) << std::fixed << std::right - << " chan: " << chan + LOGCHAN(chan, DMAIN, DEBUG) << std::fixed << std::right << " time: " << unsigned(bi->tn) << ":" << bi->fn << " RSSI: " << std::setw(5) << std::setprecision(1) << (bi->rssi - rssiOffset) << "dBFS/" << std::setw(6) << -bi->rssi << "dBm" -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e Gerrit-Change-Number: 15434 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:06 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Log error condition no burst in pullRadioVector() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15435 ) Change subject: Transceiver: Log error condition no burst in pullRadioVector() ...................................................................... Transceiver: Log error condition no burst in pullRadioVector() Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d --- M Transceiver52M/Transceiver.cpp 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 8afbc95..079d1d7 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -603,8 +603,10 @@ /* Blocking FIFO read */ radioVector *radio_burst = mReceiveFIFO[chan]->read(); - if (!radio_burst) + if (!radio_burst) { + LOGCHAN(chan, DMAIN, ERROR) << "ReceiveFIFO->read() returned no burst"; return false; + } /* Set time and determine correlation type */ burstTime = radio_burst->getTime(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d Gerrit-Change-Number: 15435 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:42 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15418 ) Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 18:59:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 18:59:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 18:59:52 +0000 Subject: Change in ...libosmocore[master]: tdef_vty.h: Add missing header dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15419 ) Change subject: tdef_vty.h: Add missing header dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc Gerrit-Change-Number: 15419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 18:59:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:00:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:00:19 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:00:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:00:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:00:55 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: tbf: Rename T and N arrays In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15424 ) Change subject: cosmetic: tbf: Rename T and N arrays ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic2b5068a4882e4a043bf81496be30a378fdb9a09 Gerrit-Change-Number: 15424 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:00:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:01:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:01:02 +0000 Subject: Change in ...osmo-pcu[master]: Use proper API osmo_timer_setup() to set up timer struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15426 ) Change subject: Use proper API osmo_timer_setup() to set up timer struct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 Gerrit-Change-Number: 15426 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:01:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:01:06 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: tbf: Rename T and N arrays In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15424 ) Change subject: cosmetic: tbf: Rename T and N arrays ...................................................................... cosmetic: tbf: Rename T and N arrays Those namings my collide with usual osmocom "T" variable name associated to a timer number, which will be added in following patches. Change-Id: Ic2b5068a4882e4a043bf81496be30a378fdb9a09 --- M src/tbf.cpp M src/tbf.h 2 files changed, 20 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index 9856c7f..d3021e4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -220,8 +220,8 @@ /* The classes of these members do not have proper constructors yet. * Just set them to 0 like talloc_zero did */ memset(&pdch, 0, sizeof(pdch)); - memset(&T, 0, sizeof(T)); - memset(&N, 0, sizeof(N)); + memset(&Tarr, 0, sizeof(Tarr)); + memset(&Narr, 0, sizeof(Narr)); memset(&gsm_timer, 0, sizeof(gsm_timer)); m_rlc.init(); @@ -563,7 +563,7 @@ return; } - N[n] = 0; + Narr[n] = 0; } /* Increment counter and check for MAX value (return true if we hit it) */ @@ -577,7 +577,7 @@ return true; } - N[n]++; + Narr[n]++; switch(n) { case N3101: @@ -595,7 +595,7 @@ return true; } - if (N[n] == chk) { + if (Narr[n] == chk) { LOGPTBF(this, LOGL_NOTICE, "%s exceeded MAX (%u)\n", get_value_string(tbf_counters_names, n), chk); return true; @@ -612,10 +612,10 @@ return; } - if (osmo_timer_pending(&T[t])) { + if (osmo_timer_pending(&Tarr[t])) { LOGPTBF(this, LOGL_DEBUG, "stopping timer %s [%s]\n", get_value_string(tbf_timers_names, t), reason); - osmo_timer_del(&T[t]); + osmo_timer_del(&Tarr[t]); } } @@ -625,11 +625,11 @@ uint8_t i; if (t != T_MAX) - return osmo_timer_pending(&T[t]); + return osmo_timer_pending(&Tarr[t]); /* we don't start with T0 because it's internal timer which requires special handling */ for (i = T3169; i < T_MAX; i++) - if (osmo_timer_pending(&T[i])) + if (osmo_timer_pending(&Tarr[i])) return true; return false; @@ -672,37 +672,37 @@ return; } - if (!force && osmo_timer_pending(&T[t])) + if (!force && osmo_timer_pending(&Tarr[t])) return; LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s %sstarting timer %s [%s] with %u sec. %u microsec, cur_fn=%d\n", - tbf_name(this), osmo_timer_pending(&T[t]) ? "re" : "", + tbf_name(this), osmo_timer_pending(&Tarr[t]) ? "re" : "", get_value_string(tbf_timers_names, t), reason, sec, microsec, current_fn); - T[t].data = this; + Tarr[t].data = this; switch(t) { case T0: - T[t].cb = tbf_timer_cb; + Tarr[t].cb = tbf_timer_cb; break; case T3169: - T[t].cb = cb_T3169; + Tarr[t].cb = cb_T3169; break; case T3191: - T[t].cb = cb_T3191; + Tarr[t].cb = cb_T3191; break; case T3193: - T[t].cb = cb_T3193; + Tarr[t].cb = cb_T3193; break; case T3195: - T[t].cb = cb_T3195; + Tarr[t].cb = cb_T3195; break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); } - osmo_timer_schedule(&T[t], sec, microsec); + osmo_timer_schedule(&Tarr[t], sec, microsec); } int gprs_rlcmac_tbf::check_polling(uint32_t fn, uint8_t ts, diff --git a/src/tbf.h b/src/tbf.h index 34e8101..16ccf43 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -370,8 +370,8 @@ LListHead m_list; LListHead m_ms_list; bool m_egprs_enabled; - struct osmo_timer_list T[T_MAX]; - uint8_t N[N_MAX]; + struct osmo_timer_list Tarr[T_MAX]; + uint8_t Narr[N_MAX]; mutable char m_name_buf[60]; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic2b5068a4882e4a043bf81496be30a378fdb9a09 Gerrit-Change-Number: 15424 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:01:06 +0000 Subject: Change in ...osmo-pcu[master]: Use proper API osmo_timer_setup() to set up timer struct In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15426 ) Change subject: Use proper API osmo_timer_setup() to set up timer struct ...................................................................... Use proper API osmo_timer_setup() to set up timer struct Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 --- M src/gprs_bssgp_pcu.cpp 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ddf5174..ce56154 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -946,8 +946,7 @@ osmo_signal_register_handler(SS_L_NS, nsvc_signal_cb, NULL); - the_pcu.bvc_timer.cb = bvc_timeout; - + osmo_timer_setup(&the_pcu.bvc_timer, bvc_timeout, NULL); return &the_pcu; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idd2b0c5247870bee3b3c3e460a6731ee50a47404 Gerrit-Change-Number: 15426 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:03:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:03:41 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15425/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15425/2//COMMIT_MSG at 9 PS2, Line 9: even : overwriting whatever came from BTS I actually consider that rather problematic. There should be one point where a given timer is configured, and if that is in the BSC or the BTS (and then passed to the PCU), the PCU should just execute that and not allow for any override to it. This is confusing and can easily lead to inconsistencies. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:03:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:05:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:05:12 +0000 Subject: Change in ...osmo-bsc[master]: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15406 ) Change subject: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 Gerrit-Change-Number: 15406 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:05:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:05:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:05:21 +0000 Subject: Change in ...osmo-bsc[master]: bsc: gsm_08_08.c: Remove repeated conn not null check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15407 ) Change subject: bsc: gsm_08_08.c: Remove repeated conn not null check ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 Gerrit-Change-Number: 15407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:05:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:05 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:19 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_gb_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 ) Change subject: Introduce FSM mm_state_gb_fsm ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I04004423e993107374d5a3549b8a93ac169251dd Gerrit-Change-Number: 15353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:21 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_iu_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 ) Change subject: Introduce FSM mm_state_iu_fsm ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I4c9cf8c27194817c56e8949af0205e1cc14af317 Gerrit-Change-Number: 15354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:30 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_gb_fsm In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 ) Change subject: Introduce FSM mm_state_gb_fsm ...................................................................... Introduce FSM mm_state_gb_fsm Implement TS 23.060 6.1.1 Mobility Management States (A/Gb mode) using osmocom FSM and drop old implementation. Most of the logic on each state is still kept in gprs_gmm.c, will be inserted into the FSM later. Change-Id: I04004423e993107374d5a3549b8a93ac169251dd --- M include/osmocom/sgsn/Makefile.am M include/osmocom/sgsn/gprs_gmm.h A include/osmocom/sgsn/gprs_mm_state_gb_fsm.h M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/Makefile.am M src/gprs/gprs_gb.c M src/gprs/gprs_gmm.c A src/gprs/gprs_mm_state_gb_fsm.c M src/gprs/gprs_sgsn.c M tests/sgsn/Makefile.am 10 files changed, 154 insertions(+), 125 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index b91c9f1..d6ee445 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -7,6 +7,7 @@ gprs_gb_parse.h \ gprs_gmm.h \ gprs_gmm_attach.h \ + gprs_mm_state_gb_fsm.h \ gprs_llc.h \ gprs_llc_xid.h \ gprs_ranap.h \ diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 6c72cda..2fa12e5 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -50,8 +50,6 @@ void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state); -void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T); -void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_gb state); void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h b/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h new file mode 100644 index 0000000..e69e1e1 --- /dev/null +++ b/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +struct sgsn_mm_ctx; + + +/* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ +enum mm_state_gb_fsm_states { + ST_MM_IDLE, + ST_MM_READY, + ST_MM_STANDBY +}; + +enum mm_state_gb_fsm_events { + E_MM_GPRS_ATTACH, + /* E_GPRS_DETACH, TODO: not used */ + E_MM_PDU_RECEPTION, + E_MM_IMPLICIT_DETACH, /* = E_MM_CANCEL_LOCATION */ + E_MM_READY_TIMER_EXPIRY, + /* E_FORCE_TO_STANDBY, TODO: not used */ + /* E_ABNSORMAL_RLC_CONDITION, TODO: not used */ + E_MM_RA_UPDATE, +}; + +extern struct osmo_fsm mm_state_gb_fsm; diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index f64e07b..382019c 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -32,12 +32,6 @@ GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ }; -/* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ -enum gprs_mm_state_gb { - MM_IDLE, - MM_READY, - MM_STANDBY -}; /* TS 23.060 6.1.2 Mobility Management States (Iu mode) */ enum gprs_mm_state_iu { PMM_DETACHED, @@ -161,10 +155,7 @@ uint32_t tlli_new; /* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ - enum gprs_mm_state_gb mm_state; - /* timer for mm state. state=READY: T3314 (aka TS 23.060 "READY timer") */ - struct osmo_timer_list state_timer; - unsigned int state_T; /* Txxxx number but only used for mm_state */ + struct osmo_fsm_inst *mm_state_fsm; } gb; struct { int new_key; diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 85ba906..94861e2 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -63,6 +63,7 @@ gprs_gb.c \ gprs_gmm_attach.c \ gprs_gmm.c \ + gprs_mm_state_gb_fsm.c \ gprs_ranap.c \ gprs_sgsn.c \ gprs_sndcp.c \ diff --git a/src/gprs/gprs_gb.c b/src/gprs/gprs_gb.c index 43af434..65342cf 100644 --- a/src/gprs/gprs_gb.c +++ b/src/gprs/gprs_gb.c @@ -28,25 +28,11 @@ #include "bscconfig.h" +#include #include #include #include -/* Update the MM context state */ -static void gsm0408_gprs_notify_pdu_gb(struct sgsn_mm_ctx *mmctx) -{ - switch (mmctx->gb.mm_state) { - case MM_STANDBY: - mmctx_set_mm_state(mmctx, MM_READY); - break; - case MM_READY: /* RE-arm the timer upon receival of Gb PDUs */ - mmctx_state_timer_start(mmctx, 3314); - break; - default: - break; - } -} - /* Main entry point for incoming 04.08 GPRS messages from Gb */ int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) @@ -63,13 +49,11 @@ msgid2mmctx(mmctx, msg); rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); mmctx->gb.llme = llme; + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_PDU_RECEPTION, NULL); } /* MMCTX can be NULL */ - if (mmctx) - gsm0408_gprs_notify_pdu_gb(mmctx); - switch (pdisc) { case GSM48_PDISC_MM_GPRS: rc = gsm0408_rcv_gmm(mmctx, msg, llme, drop_cipherable); diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index b28a4a1..81f4273 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -102,13 +103,6 @@ }, }; -static const struct value_string gprs_mm_state_gb_names[] = { - OSMO_VALUE_STRING(MM_IDLE), - OSMO_VALUE_STRING(MM_READY), - OSMO_VALUE_STRING(MM_STANDBY), - { 0, NULL } -}; - static const struct value_string gprs_mm_state_iu_names[] = { OSMO_VALUE_STRING(PMM_DETACHED), OSMO_VALUE_STRING(PMM_CONNECTED), @@ -130,56 +124,6 @@ } } -static void mmctx_state_timer_cb(void *_mm) -{ - struct sgsn_mm_ctx *mm = _mm; - - switch (mm->gb.state_T) { - case 3314: - switch (mm->gb.mm_state) { - case MM_READY: - LOGMMCTXP(LOGL_INFO, mm, "T3314 expired\n"); - mmctx_set_mm_state(mm, MM_STANDBY); - break; - default: - LOGMMCTXP(LOGL_ERROR, mm, "T3314 expired in state %s != MM_READY\n", - get_value_string(gprs_mm_state_gb_names, mm->gb.mm_state)); - break; - } - break; - default: - LOGMMCTXP(LOGL_ERROR, mm, "state timer expired in unknown mode %u\n", - mm->gb.state_T); - break; - } -} - -void mmctx_state_timer_start(struct sgsn_mm_ctx *mm, unsigned int T) -{ - unsigned long seconds; - - if (mm->gb.state_T && mm->gb.state_T != T) - LOGMMCTXP(LOGL_ERROR, mm, "Attempting to start timer %u but %u is active!\n", - T, mm->gb.state_T); - - mm->gb.state_T = T; - mm->gb.state_timer.data = mm; - mm->gb.state_timer.cb = &mmctx_state_timer_cb; - - seconds = osmo_tdef_get(sgsn->cfg.T_defs, T, OSMO_TDEF_S, -1); - osmo_timer_schedule(&mm->gb.state_timer, seconds, 0); -} - -static void mmctx_state_timer_stop(struct sgsn_mm_ctx *mm, unsigned int T) -{ - if (mm->gb.state_T == T) - osmo_timer_del(&mm->gb.state_timer); - else - LOGMMCTXP(LOGL_ERROR, mm, "Attempting to stop timer %u but %u is active!\n", - T, mm->gb.state_T); - mm->gb.state_T = 0; -} - void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state) { OSMO_ASSERT(ctx->ran_type == MM_CTX_T_UTRAN_Iu); @@ -205,35 +149,6 @@ ctx->iu.mm_state = state; } -void mmctx_set_mm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_gb state) -{ - OSMO_ASSERT(ctx->ran_type == MM_CTX_T_GERAN_Gb); - - if (ctx->gb.mm_state == state) - return; - - LOGMMCTXP(LOGL_INFO, ctx, "Changing MM state from %s to %s\n", - get_value_string(gprs_mm_state_gb_names, ctx->gb.mm_state), - get_value_string(gprs_mm_state_gb_names, state)); - - switch (state) { - case MM_READY: - /* on expiration, T3314 moves mm state back to MM_STANDBY */ - mmctx_state_timer_start(ctx, 3314); - break; - case MM_IDLE: - if (ctx->gb.mm_state == MM_READY) - mmctx_state_timer_stop(ctx, 3314); - break; - case MM_STANDBY: - if (ctx->gb.mm_state == MM_READY) - mmctx_state_timer_stop(ctx, 3314); - break; - } - - ctx->gb.mm_state = state; -} - /* Our implementation, should be kept in SGSN */ static void mmctx_timer_cb(void *_mm); @@ -348,7 +263,7 @@ mmctx_set_pmm_state(ctx, PMM_DETACHED); break; case MM_CTX_T_GERAN_Gb: - mmctx_set_mm_state(ctx, MM_IDLE); + osmo_fsm_inst_dispatch(ctx->gb.mm_state_fsm, E_MM_IMPLICIT_DETACH, NULL); break; } @@ -2107,7 +2022,7 @@ gprs_llme_copy_key(mmctx, mmctx->gb.llme); gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new); - mmctx_set_mm_state(mmctx, MM_READY); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL); break; } rc = 0; @@ -2136,7 +2051,7 @@ mmctx->gb.tlli = mmctx->gb.tlli_new; gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new); - mmctx_set_mm_state(mmctx, MM_READY); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_RA_UPDATE, NULL); break; } rc = 0; diff --git a/src/gprs/gprs_mm_state_gb_fsm.c b/src/gprs/gprs_mm_state_gb_fsm.c new file mode 100644 index 0000000..2056540 --- /dev/null +++ b/src/gprs/gprs_mm_state_gb_fsm.c @@ -0,0 +1,112 @@ +#include + +#include + +#include +#include + +#define X(s) (1 << (s)) + +static const struct osmo_tdef_state_timeout mm_state_gb_fsm_timeouts[32] = { + [ST_MM_IDLE] = { }, + [ST_MM_READY] = { .T=3314 }, + [ST_MM_STANDBY] = { }, +}; + +#define mm_state_gb_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, mm_state_gb_fsm_timeouts, sgsn->cfg.T_defs, -1) + +static void st_mm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_MM_GPRS_ATTACH: + mm_state_gb_fsm_state_chg(fi, ST_MM_READY); + break; + case E_MM_PDU_RECEPTION: + break; + } +} + +static void st_mm_ready(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + unsigned long t_secs; + + switch(event) { + case E_MM_READY_TIMER_EXPIRY: + case E_MM_IMPLICIT_DETACH: + mm_state_gb_fsm_state_chg(fi, ST_MM_STANDBY); + break; + case E_MM_PDU_RECEPTION: + /* RE-arm the READY timer upon receival of Gb PDUs */ + t_secs = osmo_tdef_get(sgsn->cfg.T_defs, 3314, OSMO_TDEF_S, -1); + osmo_timer_schedule(&fi->timer, t_secs, 0); + break; + case E_MM_RA_UPDATE: + break; + } +} + +static void st_mm_standby(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_MM_PDU_RECEPTION: + mm_state_gb_fsm_state_chg(fi, ST_MM_READY); + break; + } +} + +static struct osmo_fsm_state mm_state_gb_fsm_states[] = { + [ST_MM_IDLE] = { + .in_event_mask = X(E_MM_GPRS_ATTACH) | X(E_MM_PDU_RECEPTION), + .out_state_mask = X(ST_MM_READY), + .name = "Idle", + .action = st_mm_idle, + }, + [ST_MM_READY] = { + .in_event_mask = X(E_MM_READY_TIMER_EXPIRY) | X(E_MM_RA_UPDATE) | X(E_MM_IMPLICIT_DETACH) | X(E_MM_PDU_RECEPTION), + .out_state_mask = X(ST_MM_IDLE) | X(ST_MM_STANDBY), + .name = "Ready", + .action = st_mm_ready, + }, + [ST_MM_STANDBY] = { + .in_event_mask = X(E_MM_PDU_RECEPTION), + .out_state_mask = X(ST_MM_IDLE) | X(ST_MM_READY), + .name = "Standby", + .action = st_mm_standby, + }, +}; + +const struct value_string mm_state_gb_fsm_event_names[] = { + OSMO_VALUE_STRING(E_MM_GPRS_ATTACH), + OSMO_VALUE_STRING(E_MM_PDU_RECEPTION), + OSMO_VALUE_STRING(E_MM_IMPLICIT_DETACH), + OSMO_VALUE_STRING(E_MM_READY_TIMER_EXPIRY), + OSMO_VALUE_STRING(E_MM_RA_UPDATE), + { 0, NULL } +}; + +int mm_state_gb_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + switch(fi->state) { + case ST_MM_READY: + /* timer for mm state. state=READY: T3314 (aka TS 23.060 "READY timer") */ + osmo_fsm_inst_dispatch(fi, E_MM_READY_TIMER_EXPIRY, NULL); + break; + } + + return 0; +} + +struct osmo_fsm mm_state_gb_fsm = { + .name = "MM_STATE_Gb", + .states = mm_state_gb_fsm_states, + .num_states = ARRAY_SIZE(mm_state_gb_fsm_states), + .event_names = mm_state_gb_fsm_event_names, + .log_subsys = DMM, + .timer_cb = mm_state_gb_fsm_timer_cb, +}; + +static __attribute__((constructor)) void mm_state_gb_fsm_init(void) +{ + osmo_fsm_register(&mm_state_gb_fsm); +} diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 6acc66e..82855a6 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -243,6 +244,7 @@ const struct gprs_ra_id *raid) { struct sgsn_mm_ctx *ctx; + char buf[32]; ctx = sgsn_mm_ctx_alloc(tlli); if (!ctx) @@ -251,8 +253,9 @@ memcpy(&ctx->ra, raid, sizeof(ctx->ra)); ctx->ran_type = MM_CTX_T_GERAN_Gb; ctx->gb.tlli = tlli; - ctx->gb.mm_state = MM_IDLE; ctx->ciph_algo = sgsn->cfg.cipher; + snprintf(buf, sizeof(buf), "%" PRIu32, tlli); + ctx->gb.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_gb_fsm, ctx, ctx, LOGL_DEBUG, buf); LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", get_value_string(gprs_cipher_names, ctx->ciph_algo)); @@ -334,11 +337,6 @@ osmo_timer_del(&mm->timer); } - if (osmo_timer_pending(&mm->gb.state_timer)) { - LOGMMCTXP(LOGL_INFO, mm, "Cancelling MM state timer %u\n", mm->gb.state_T); - osmo_timer_del(&mm->gb.state_timer); - } - memset(&sig_data, 0, sizeof(sig_data)); sig_data.mm = mm; osmo_signal_dispatch(SS_SGSN, S_SGSN_MM_FREE, &sig_data); @@ -353,6 +351,8 @@ if (mm->gmm_att_req.fsm) gmm_att_req_free(mm); + if (mm->gb.mm_state_fsm) + osmo_fsm_inst_free(mm->gb.mm_state_fsm); sgsn_mm_ctx_free(mm); mm = NULL; diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index b035468..8a26d88 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -50,6 +50,7 @@ $(top_builddir)/src/gprs/gprs_sndcp.o \ $(top_builddir)/src/gprs/gprs_gmm_attach.o \ $(top_builddir)/src/gprs/gprs_gmm.o \ + $(top_builddir)/src/gprs/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/gprs/gprs_sgsn.o \ $(top_builddir)/src/gprs/sgsn_vty.o \ $(top_builddir)/src/gprs/sgsn_libgtp.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I04004423e993107374d5a3549b8a93ac169251dd Gerrit-Change-Number: 15353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:30 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce FSM mm_state_iu_fsm In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 ) Change subject: Introduce FSM mm_state_iu_fsm ...................................................................... Introduce FSM mm_state_iu_fsm Implement TS 23.060 6.1.2 Mobility Management States (Iu mode) using osmocom FSM and drop old implementation. Most of the logic on each state is still kept in gprs_gmm.c, will be inserted into the FSM later. Change-Id: I4c9cf8c27194817c56e8949af0205e1cc14af317 --- M include/osmocom/sgsn/Makefile.am M include/osmocom/sgsn/gprs_gmm.h A include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/Makefile.am M src/gprs/gprs_gmm.c A src/gprs/gprs_mm_state_iu_fsm.c M src/gprs/gprs_ranap.c M src/gprs/gprs_sgsn.c M tests/sgsn/Makefile.am 10 files changed, 165 insertions(+), 65 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index d6ee445..0ab00fe 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -8,6 +8,7 @@ gprs_gmm.h \ gprs_gmm_attach.h \ gprs_mm_state_gb_fsm.h \ + gprs_mm_state_iu_fsm.h \ gprs_llc.h \ gprs_llc_xid.h \ gprs_ranap.h \ diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 2fa12e5..982cd93 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -49,7 +49,5 @@ void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); -void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state); - void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h new file mode 100644 index 0000000..7f02bcc --- /dev/null +++ b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h @@ -0,0 +1,24 @@ +#pragma once + +#include + +struct sgsn_mm_ctx; + + +/* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ +enum mm_state_iu_fsm_states { + ST_PMM_DETACHED, + ST_PMM_CONNECTED, + ST_PMM_IDLE +}; + +enum mm_state_iu_fsm_events { + E_PMM_PS_ATTACH, + /* E_PS_DETACH, TODO: not used */ + E_PMM_PS_CONN_RELEASE, + E_PMM_PS_CONN_ESTABLISH, + E_PMM_IMPLICIT_DETACH, /* = E_PS_ATTACH_REJECT, E_RAU_REJECT */ + E_PMM_RA_UPDATE, /* = Serving RNC relocation */ +}; + +extern struct osmo_fsm mm_state_iu_fsm; diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 382019c..8f16c5b 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -32,13 +32,6 @@ GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ }; -/* TS 23.060 6.1.2 Mobility Management States (Iu mode) */ -enum gprs_mm_state_iu { - PMM_DETACHED, - PMM_CONNECTED, - PMM_IDLE -}; - enum gprs_mm_ctr { GMM_CTR_PKTS_SIG_IN, GMM_CTR_PKTS_SIG_OUT, @@ -171,7 +164,7 @@ struct ranap_ue_conn_ctx *ue_ctx; struct service_info service; /* TS 23.060 6.1.2 Mobility Management States (Iu mode) */ - enum gprs_mm_state_iu mm_state; + struct osmo_fsm_inst *mm_state_fsm; } iu; struct { struct osmo_fsm_inst *fsm; diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 94861e2..05d5b4c 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -64,6 +64,7 @@ gprs_gmm_attach.c \ gprs_gmm.c \ gprs_mm_state_gb_fsm.c \ + gprs_mm_state_iu_fsm.c \ gprs_ranap.c \ gprs_sgsn.c \ gprs_sndcp.c \ diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c index 81f4273..edb7eea 100644 --- a/src/gprs/gprs_gmm.c +++ b/src/gprs/gprs_gmm.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -103,52 +104,6 @@ }, }; -static const struct value_string gprs_mm_state_iu_names[] = { - OSMO_VALUE_STRING(PMM_DETACHED), - OSMO_VALUE_STRING(PMM_CONNECTED), - OSMO_VALUE_STRING(PMM_IDLE), - { 0, NULL } -}; - -static void mmctx_change_gtpu_endpoints_to_sgsn(struct sgsn_mm_ctx *mm_ctx) -{ - char buf[INET_ADDRSTRLEN]; - struct sgsn_pdp_ctx *pdp; - llist_for_each_entry(pdp, &mm_ctx->pdp_list, list) { - LOGMMCTXP(LOGL_INFO, mm_ctx, "Changing GTP-U endpoints %s -> %s\n", - sgsn_gtp_ntoa(&pdp->lib->gsnlu), - inet_ntop(AF_INET, &sgsn->cfg.gtp_listenaddr.sin_addr, buf, sizeof(buf))); - sgsn_pdp_upd_gtp_u(pdp, - &sgsn->cfg.gtp_listenaddr.sin_addr, - sizeof(sgsn->cfg.gtp_listenaddr.sin_addr)); - } -} - -void mmctx_set_pmm_state(struct sgsn_mm_ctx *ctx, enum gprs_mm_state_iu state) -{ - OSMO_ASSERT(ctx->ran_type == MM_CTX_T_UTRAN_Iu); - - if (ctx->iu.mm_state == state) - return; - - LOGMMCTXP(LOGL_INFO, ctx, "Changing PMM state from %s to %s\n", - get_value_string(gprs_mm_state_iu_names, ctx->iu.mm_state), - get_value_string(gprs_mm_state_iu_names, state)); - - switch (state) { - case PMM_IDLE: - /* TODO: start RA Upd timer */ - mmctx_change_gtpu_endpoints_to_sgsn(ctx); - break; - case PMM_CONNECTED: - break; - case PMM_DETACHED: - break; - } - - ctx->iu.mm_state = state; -} - /* Our implementation, should be kept in SGSN */ static void mmctx_timer_cb(void *_mm); @@ -260,7 +215,7 @@ switch(ctx->ran_type) { case MM_CTX_T_UTRAN_Iu: - mmctx_set_pmm_state(ctx, PMM_DETACHED); + osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_IMPLICIT_DETACH, NULL); break; case MM_CTX_T_GERAN_Gb: osmo_fsm_inst_dispatch(ctx->gb.mm_state_fsm, E_MM_IMPLICIT_DETACH, NULL); @@ -1019,7 +974,7 @@ #ifdef BUILD_IU case GSM48_MT_GMM_SERVICE_REQ: ctx->pending_req = 0; - mmctx_set_pmm_state(ctx, PMM_CONNECTED); + osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); rc = gsm48_tx_gmm_service_ack(ctx); if (ctx->iu.service.type != GPRS_SERVICE_T_SIGNALLING) @@ -2014,7 +1969,7 @@ mmctx->gmm_state = GMM_REGISTERED_NORMAL; switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: - mmctx_set_pmm_state(mmctx, PMM_CONNECTED); + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); break; case MM_CTX_T_GERAN_Gb: /* Unassign the old TLLI */ @@ -2044,7 +1999,7 @@ mmctx->gmm_state = GMM_REGISTERED_NORMAL; switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: - mmctx_set_pmm_state(mmctx, PMM_CONNECTED); + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); break; case MM_CTX_T_GERAN_Gb: /* Unassign the old TLLI */ diff --git a/src/gprs/gprs_mm_state_iu_fsm.c b/src/gprs/gprs_mm_state_iu_fsm.c new file mode 100644 index 0000000..1ed5f56 --- /dev/null +++ b/src/gprs/gprs_mm_state_iu_fsm.c @@ -0,0 +1,121 @@ +#include + +#include + +#include + +#include +#include + +#define X(s) (1 << (s)) + +static const struct osmo_tdef_state_timeout mm_state_iu_fsm_timeouts[32] = { + [ST_PMM_DETACHED] = { }, + [ST_PMM_CONNECTED] = { }, + [ST_PMM_IDLE] = { }, +}; + +#define mm_state_iu_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, mm_state_iu_fsm_timeouts, sgsn->cfg.T_defs, -1) + +static void mmctx_change_gtpu_endpoints_to_sgsn(struct sgsn_mm_ctx *mm_ctx) +{ + char buf[INET_ADDRSTRLEN]; + struct sgsn_pdp_ctx *pdp; + llist_for_each_entry(pdp, &mm_ctx->pdp_list, list) { + LOGMMCTXP(LOGL_INFO, mm_ctx, "Changing GTP-U endpoints %s -> %s\n", + sgsn_gtp_ntoa(&pdp->lib->gsnlu), + inet_ntop(AF_INET, &sgsn->cfg.gtp_listenaddr.sin_addr, buf, sizeof(buf))); + sgsn_pdp_upd_gtp_u(pdp, + &sgsn->cfg.gtp_listenaddr.sin_addr, + sizeof(sgsn->cfg.gtp_listenaddr.sin_addr)); + } +} + +static void st_pmm_detached(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_PMM_PS_ATTACH: + mm_state_iu_fsm_state_chg(fi, ST_PMM_CONNECTED); + break; + case E_PMM_IMPLICIT_DETACH: + break; + } +} + +static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_PMM_PS_CONN_RELEASE: + mm_state_iu_fsm_state_chg(fi, ST_PMM_IDLE); + break; + case E_PMM_IMPLICIT_DETACH: + mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED); + break; + case E_PMM_RA_UPDATE: + break; + } +} + +static void st_pmm_idle_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct sgsn_mm_ctx *ctx = fi->priv; + + mmctx_change_gtpu_endpoints_to_sgsn(ctx); +} + +static void st_pmm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_PMM_PS_CONN_ESTABLISH: + mm_state_iu_fsm_state_chg(fi, ST_PMM_CONNECTED); + break; + case E_PMM_IMPLICIT_DETACH: + mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED); + break; + } +} + +static struct osmo_fsm_state mm_state_iu_fsm_states[] = { + [ST_PMM_DETACHED] = { + .in_event_mask = X(E_PMM_PS_ATTACH) | X(E_PMM_IMPLICIT_DETACH), + .out_state_mask = X(ST_PMM_CONNECTED), + .name = "Detached", + .action = st_pmm_detached, + }, + [ST_PMM_CONNECTED] = { + .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH), + .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_IDLE), + .name = "Connected", + .action = st_pmm_connected, + }, + [ST_PMM_IDLE] = { + .in_event_mask = X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_PS_CONN_ESTABLISH), + .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_CONNECTED), + .name = "Idle", + .onenter = st_pmm_idle_on_enter, + .action = st_pmm_idle, + }, +}; + +const struct value_string mm_state_iu_fsm_event_names[] = { + OSMO_VALUE_STRING(E_PMM_PS_ATTACH), + OSMO_VALUE_STRING(E_PMM_PS_CONN_RELEASE), + OSMO_VALUE_STRING(E_PMM_PS_CONN_ESTABLISH), + OSMO_VALUE_STRING(E_PMM_IMPLICIT_DETACH), + OSMO_VALUE_STRING(E_PMM_RA_UPDATE), + { 0, NULL } +}; + +struct osmo_fsm mm_state_iu_fsm = { + .name = "MM_STATE_Iu", + .states = mm_state_iu_fsm_states, + .num_states = ARRAY_SIZE(mm_state_iu_fsm_states), + .event_names = mm_state_iu_fsm_event_names, + .log_subsys = DMM, +}; + +static __attribute__((constructor)) void mm_state_iu_fsm_init(void) +{ + osmo_fsm_register(&mm_state_iu_fsm); +} diff --git a/src/gprs/gprs_ranap.c b/src/gprs/gprs_ranap.c index 836937b..027b666 100644 --- a/src/gprs/gprs_ranap.c +++ b/src/gprs/gprs_ranap.c @@ -36,6 +36,7 @@ #include #include #include +#include /* Send RAB activation requests for all PDP contexts */ void activate_pdp_rabs(struct sgsn_mm_ctx *ctx) @@ -134,12 +135,11 @@ /* fall thru */ case RANAP_IU_EVENT_LINK_INVALIDATED: /* Clean up ranap_ue_conn_ctx here */ - if (mm) + if (mm) { LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); - else + osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); + } else LOGIUP(ctx, LOGL_INFO, "IU release\n"); - if (mm && mm->iu.mm_state == PMM_CONNECTED) - mmctx_set_pmm_state(mm, PMM_IDLE); rc = 0; break; case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 82855a6..2334707 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -266,6 +267,7 @@ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_iu(void *uectx) { #if BUILD_IU + char buf[32]; struct sgsn_mm_ctx *ctx; struct ranap_ue_conn_ctx *ue_ctx = uectx; @@ -279,7 +281,9 @@ ctx->iu.ue_ctx = ue_ctx; ctx->iu.ue_ctx->rab_assign_addr_enc = sgsn->cfg.iu.rab_assign_addr_enc; ctx->iu.new_key = 1; - ctx->iu.mm_state = PMM_DETACHED; + snprintf(buf, sizeof(buf), "%" PRIu32, ue_ctx->conn_id); + ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, buf); + return ctx; #else @@ -353,6 +357,8 @@ gmm_att_req_free(mm); if (mm->gb.mm_state_fsm) osmo_fsm_inst_free(mm->gb.mm_state_fsm); + if (mm->iu.mm_state_fsm) + osmo_fsm_inst_free(mm->iu.mm_state_fsm); sgsn_mm_ctx_free(mm); mm = NULL; diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 8a26d88..47189e5 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -51,6 +51,7 @@ $(top_builddir)/src/gprs/gprs_gmm_attach.o \ $(top_builddir)/src/gprs/gprs_gmm.o \ $(top_builddir)/src/gprs/gprs_mm_state_gb_fsm.o \ + $(top_builddir)/src/gprs/gprs_mm_state_iu_fsm.o \ $(top_builddir)/src/gprs/gprs_sgsn.o \ $(top_builddir)/src/gprs/sgsn_vty.o \ $(top_builddir)/src/gprs/sgsn_libgtp.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I4c9cf8c27194817c56e8949af0205e1cc14af317 Gerrit-Change-Number: 15354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:30 +0000 Subject: Change in ...osmo-sgsn[master]: vty: Print MM state and RAN type in show mm-context In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15357 ) Change subject: vty: Print MM state and RAN type in show mm-context ...................................................................... vty: Print MM state and RAN type in show mm-context Value presviosuly printed as MM state is actually usually refereed as GMM state, so rename it. Change-Id: Ia06c53f0cd2a6348237ed3abeb9367d965745aba --- M include/osmocom/sgsn/gprs_sgsn.h M src/gprs/gprs_sgsn.c M src/gprs/sgsn_vty.c 3 files changed, 16 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 8f16c5b..8e8b762 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -104,6 +104,7 @@ MM_CTX_T_GERAN_Iu, #endif }; +extern const struct value_string sgsn_ran_type_names[]; struct service_info { uint8_t type; diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 2334707..387c0d5 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -62,6 +62,15 @@ LLIST_HEAD(sgsn_apn_ctxts); LLIST_HEAD(sgsn_pdp_ctxts); +const struct value_string sgsn_ran_type_names[] = { + { MM_CTX_T_GERAN_Gb, "GPRS/EDGE via Gb" }, + { MM_CTX_T_UTRAN_Iu, "UMTS via Iu" }, +#if 0 + { MM_CTX_T_GERAN_Iu, "GPRS/EDGE via Iu" }, +#endif + { 0, NULL } +}; + static const struct rate_ctr_desc mmctx_ctr_description[] = { { "sign:packets:in", "Signalling Messages ( In)" }, { "sign:packets:out", "Signalling Messages (Out)" }, diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 1f7874f..184ece7 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -526,15 +526,18 @@ struct sgsn_mm_ctx *mm, int pdp) { uint32_t id = 0; + const char *mm_state_name = NULL; switch(mm->ran_type) { case MM_CTX_T_UTRAN_Iu: #if BUILD_IU id = mm->iu.ue_ctx->conn_id; + mm_state_name = osmo_fsm_inst_state_name(mm->iu.mm_state_fsm); #endif break; case MM_CTX_T_GERAN_Gb: id = mm->gb.tlli; + mm_state_name = osmo_fsm_inst_state_name(mm->gb.mm_state_fsm); break; } @@ -542,9 +545,11 @@ pfx, mm->imsi, mm->imei, mm->p_tmsi, VTY_NEWLINE); vty_out(vty, "%s MSISDN: %s, TLLI: %08x%s HLR: %s", pfx, mm->msisdn, id, mm->hlr, VTY_NEWLINE); - vty_out(vty, "%s MM State: %s, Routeing Area: %s, Cell ID: %u%s", + vty_out(vty, "%s GMM State: %s, Routeing Area: %s, Cell ID: %u%s", pfx, get_value_string(gprs_mm_st_strs, mm->gmm_state), osmo_rai_name(&mm->ra), mm->gb.cell_id, VTY_NEWLINE); + vty_out(vty, "%s MM State: %s, RAN Type: %s%s", pfx, mm_state_name, + get_value_string(sgsn_ran_type_names, mm->ran_type), VTY_NEWLINE); vty_out_rate_ctr_group(vty, " ", mm->ctrg); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia06c53f0cd2a6348237ed3abeb9367d965745aba Gerrit-Change-Number: 15357 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:38 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 ) Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:41 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gbproxy to its own subdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 ) Change subject: Move out gbproxy to its own subdir ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e Gerrit-Change-Number: 15361 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:43 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gtphub to its own subdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15362 ) Change subject: Move out gtphub to its own subdir ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I707d5e9b775179e732d281ce3d245de83d648eea Gerrit-Change-Number: 15362 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:45 +0000 Subject: Change in ...osmo-sgsn[master]: Move out sgsn to its own subdir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 ) Change subject: Move out sgsn to its own subdir ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 Gerrit-Change-Number: 15363 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:56 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 06 Sep 2019 19:06:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:06:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:06:59 +0000 Subject: Change in ...osmo-sgsn[master]: src/gprs/Makefile.am: Move build of shared .c files to an internal lib In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 ) Change subject: src/gprs/Makefile.am: Move build of shared .c files to an internal lib ...................................................................... src/gprs/Makefile.am: Move build of shared .c files to an internal lib Build files shared by osmo-sgsn, osmo-gbpy and osmo-gtphub into a .la library, so we can later split each application into its own subdir and clearly identify what's used by who. Due to a dependency error with .Po files, I cannot depend on the specific .o files directly in LDADD for each binary, but it works fine on follow up commits when binaries are splitted into different makefiles, so it will be done later. Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 --- M .gitignore M debian/copyright M src/gprs/Makefile.am 3 files changed, 27 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 3480380..70193ff 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ *.o *.lo *.a +*.la .deps Makefile Makefile.in diff --git a/debian/copyright b/debian/copyright index 4e53664..b9bc8e0 100644 --- a/debian/copyright +++ b/debian/copyright @@ -81,17 +81,19 @@ include/osmocom/sgsn/gprs_utils.h include/osmocom/sgsn/gtphub.h include/osmocom/sgsn/signal.h + src/gprs/gprs_llc_parse.c src/gprs/crc24.c + src/gprs/gprs_gb_parse.c + src/gprs/gprs_utils.c + src/gprs/sgsn_ares.c src/gprs/gb_proxy.c src/gprs/gb_proxy_main.c src/gprs/gb_proxy_patch.c src/gprs/gb_proxy_peer.c src/gprs/gb_proxy_tlli.c src/gprs/gb_proxy_vty.c - src/gprs/gprs_gb_parse.c src/gprs/gprs_gmm.c src/gprs/gprs_llc.c - src/gprs/gprs_llc_parse.c src/gprs/gprs_llc_vty.c src/gprs/gprs_llc_xid.c src/gprs/gprs_sgsn.c @@ -102,11 +104,9 @@ src/gprs/gprs_sndcp_vty.c src/gprs/gprs_sndcp_xid.c src/gprs/gprs_subscriber.c - src/gprs/gprs_utils.c src/gprs/gtphub.c src/gprs/gtphub_main.c src/gprs/gtphub_vty.c - src/gprs/sgsn_ares.c src/gprs/sgsn_auth.c src/gprs/sgsn_cdr.c src/gprs/sgsn_ctrl.c diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 05d5b4c..0471bfe 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -35,6 +35,25 @@ $(LIBGTP_LIBS) \ $(NULL) +noinst_LTLIBRARIES = libcommon.la + +libcommon_la_SOURCES = \ + gprs_gb_parse.c \ + gprs_llc_parse.c \ + crc24.c \ + gprs_utils.c \ + sgsn_ares.c \ + $(NULL) + +libcommon_la_LIBADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBGTP_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBCARES_LIBS) \ + $(NULL) + bin_PROGRAMS = \ osmo-gbproxy \ osmo-sgsn \ @@ -49,12 +68,9 @@ gb_proxy_patch.c \ gb_proxy_tlli.c \ gb_proxy_peer.c \ - gprs_gb_parse.c \ - gprs_llc_parse.c \ - crc24.c \ - gprs_utils.c \ $(NULL) osmo_gbproxy_LDADD = \ + libcommon.la \ $(OSMO_LIBS) \ -lrt \ $(NULL) @@ -77,20 +93,17 @@ sgsn_vty.c \ sgsn_libgtp.c \ gprs_llc.c \ - gprs_llc_parse.c \ gprs_llc_vty.c \ - crc24.c \ sgsn_ctrl.c \ sgsn_auth.c \ gprs_subscriber.c \ - gprs_utils.c \ sgsn_cdr.c \ - sgsn_ares.c \ slhc.c \ gprs_llc_xid.c \ v42bis.c \ $(NULL) osmo_sgsn_LDADD = \ + libcommon.la \ $(OSMO_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSUPCLIENT_LIBS) \ @@ -113,10 +126,9 @@ gtphub_sock.c \ gtphub_ares.c \ gtphub_vty.c \ - sgsn_ares.c \ - gprs_utils.c \ $(NULL) osmo_gtphub_LDADD = \ + libcommon.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6 Gerrit-Change-Number: 15360 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:00 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gbproxy to its own subdir In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 ) Change subject: Move out gbproxy to its own subdir ...................................................................... Move out gbproxy to its own subdir Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e --- M configure.ac M debian/copyright M osmoappdesc.py M src/Makefile.am A src/gbproxy/Makefile.am R src/gbproxy/gb_proxy.c R src/gbproxy/gb_proxy_ctrl.c R src/gbproxy/gb_proxy_main.c R src/gbproxy/gb_proxy_patch.c R src/gbproxy/gb_proxy_peer.c R src/gbproxy/gb_proxy_tlli.c R src/gbproxy/gb_proxy_vty.c M src/gprs/Makefile.am M tests/gbproxy/Makefile.am M tests/vty_test_runner.py 15 files changed, 62 insertions(+), 30 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 02dcf05..1c3f03b 100644 --- a/configure.ac +++ b/configure.ac @@ -247,6 +247,7 @@ include/osmocom/sgsn/Makefile src/Makefile src/gprs/Makefile + src/gbproxy/Makefile tests/Makefile tests/atlocal tests/gprs/Makefile diff --git a/debian/copyright b/debian/copyright index b9bc8e0..695d768 100644 --- a/debian/copyright +++ b/debian/copyright @@ -86,12 +86,12 @@ src/gprs/gprs_gb_parse.c src/gprs/gprs_utils.c src/gprs/sgsn_ares.c - src/gprs/gb_proxy.c - src/gprs/gb_proxy_main.c - src/gprs/gb_proxy_patch.c - src/gprs/gb_proxy_peer.c - src/gprs/gb_proxy_tlli.c - src/gprs/gb_proxy_vty.c + src/gbproxy/gb_proxy.c + src/gbproxy/gb_proxy_main.c + src/gbproxy/gb_proxy_patch.c + src/gbproxy/gb_proxy_peer.c + src/gbproxy/gb_proxy_tlli.c + src/gbproxy/gb_proxy_vty.c src/gprs/gprs_gmm.c src/gprs/gprs_llc.c src/gprs/gprs_llc_vty.c diff --git a/osmoappdesc.py b/osmoappdesc.py index f610e77..1c47aee 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -23,7 +23,7 @@ } -apps = [(4246, "src/gprs/osmo-gbproxy", "OsmoGbProxy", "gbproxy"), +apps = [(4246, "src/gbproxy/osmo-gbproxy", "OsmoGbProxy", "gbproxy"), (4245, "src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn"), (4253, "src/gprs/osmo-gtphub", "OsmoGTPhub", "gtphub") ] diff --git a/src/Makefile.am b/src/Makefile.am index d2dcb9f..024938d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,3 +1,4 @@ SUBDIRS = \ gprs \ + gbproxy \ $(NULL) diff --git a/src/gbproxy/Makefile.am b/src/gbproxy/Makefile.am new file mode 100644 index 0000000..6876f68 --- /dev/null +++ b/src/gbproxy/Makefile.am @@ -0,0 +1,46 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -fno-strict-aliasing \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOGB_CFLAGS) \ + $(LIBOSMOGSUPCLIENT_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBGTP_CFLAGS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-gbproxy \ + $(NULL) + +osmo_gbproxy_SOURCES = \ + gb_proxy.c \ + gb_proxy_main.c \ + gb_proxy_vty.c \ + gb_proxy_ctrl.c \ + gb_proxy_patch.c \ + gb_proxy_tlli.c \ + gb_proxy_peer.c \ + $(NULL) +osmo_gbproxy_LDADD = \ + $(top_builddir)/src/gprs/gprs_gb_parse.o \ + $(top_builddir)/src/gprs/gprs_llc_parse.o \ + $(top_builddir)/src/gprs/crc24.o \ + $(top_builddir)/src/gprs/gprs_utils.o \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOGB_LIBS) \ + $(LIBGTP_LIBS) \ + -lrt \ + $(NULL) diff --git a/src/gprs/gb_proxy.c b/src/gbproxy/gb_proxy.c similarity index 100% rename from src/gprs/gb_proxy.c rename to src/gbproxy/gb_proxy.c diff --git a/src/gprs/gb_proxy_ctrl.c b/src/gbproxy/gb_proxy_ctrl.c similarity index 100% rename from src/gprs/gb_proxy_ctrl.c rename to src/gbproxy/gb_proxy_ctrl.c diff --git a/src/gprs/gb_proxy_main.c b/src/gbproxy/gb_proxy_main.c similarity index 100% rename from src/gprs/gb_proxy_main.c rename to src/gbproxy/gb_proxy_main.c diff --git a/src/gprs/gb_proxy_patch.c b/src/gbproxy/gb_proxy_patch.c similarity index 100% rename from src/gprs/gb_proxy_patch.c rename to src/gbproxy/gb_proxy_patch.c diff --git a/src/gprs/gb_proxy_peer.c b/src/gbproxy/gb_proxy_peer.c similarity index 100% rename from src/gprs/gb_proxy_peer.c rename to src/gbproxy/gb_proxy_peer.c diff --git a/src/gprs/gb_proxy_tlli.c b/src/gbproxy/gb_proxy_tlli.c similarity index 100% rename from src/gprs/gb_proxy_tlli.c rename to src/gbproxy/gb_proxy_tlli.c diff --git a/src/gprs/gb_proxy_vty.c b/src/gbproxy/gb_proxy_vty.c similarity index 100% rename from src/gprs/gb_proxy_vty.c rename to src/gbproxy/gb_proxy_vty.c diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 0471bfe..8f7f054 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -55,26 +55,10 @@ $(NULL) bin_PROGRAMS = \ - osmo-gbproxy \ osmo-sgsn \ osmo-gtphub \ $(NULL) -osmo_gbproxy_SOURCES = \ - gb_proxy.c \ - gb_proxy_main.c \ - gb_proxy_vty.c \ - gb_proxy_ctrl.c \ - gb_proxy_patch.c \ - gb_proxy_tlli.c \ - gb_proxy_peer.c \ - $(NULL) -osmo_gbproxy_LDADD = \ - libcommon.la \ - $(OSMO_LIBS) \ - -lrt \ - $(NULL) - osmo_sgsn_SOURCES = \ gprs_gb.c \ gprs_gmm_attach.c \ diff --git a/tests/gbproxy/Makefile.am b/tests/gbproxy/Makefile.am index ef38fb6..cb245b4 100644 --- a/tests/gbproxy/Makefile.am +++ b/tests/gbproxy/Makefile.am @@ -32,10 +32,10 @@ $(NULL) gbproxy_test_LDADD = \ - $(top_builddir)/src/gprs/gb_proxy.o \ - $(top_builddir)/src/gprs/gb_proxy_patch.o \ - $(top_builddir)/src/gprs/gb_proxy_peer.o \ - $(top_builddir)/src/gprs/gb_proxy_tlli.o \ + $(top_builddir)/src/gbproxy/gb_proxy.o \ + $(top_builddir)/src/gbproxy/gb_proxy_patch.o \ + $(top_builddir)/src/gbproxy/gb_proxy_peer.o \ + $(top_builddir)/src/gbproxy/gb_proxy_tlli.o \ $(top_builddir)/src/gprs/gprs_gb_parse.o \ $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/crc24.o \ diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py index 19eaf28..a71865d 100755 --- a/tests/vty_test_runner.py +++ b/tests/vty_test_runner.py @@ -71,11 +71,11 @@ class TestVTYGbproxy(TestVTYBase): def vty_command(self): - return ["./src/gprs/osmo-gbproxy", "-c", + return ["./src/gbproxy/osmo-gbproxy", "-c", "doc/examples/osmo-gbproxy/osmo-gbproxy.cfg"] def vty_app(self): - return (4246, "./src/gprs/osmo-gbproxy", "OsmoGbProxy", "gbproxy") + return (4246, "./src/gbproxy/osmo-gbproxy", "OsmoGbProxy", "gbproxy") def testVtyTree(self): self.vty.enable() @@ -277,7 +277,7 @@ self.assertTrue(self.vty.verify('timer t%d 10' % t, [''])) def add_gbproxy_test(suite, workdir): - if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-gbproxy")): + if not os.path.isfile(os.path.join(workdir, "src/gbproxy/osmo-gbproxy")): print("Skipping the Gb-Proxy test") return test = unittest.TestLoader().loadTestsFromTestCase(TestVTYGbproxy) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e Gerrit-Change-Number: 15361 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:00 +0000 Subject: Change in ...osmo-sgsn[master]: Move out gtphub to its own subdir In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15362 ) Change subject: Move out gtphub to its own subdir ...................................................................... Move out gtphub to its own subdir Change-Id: I707d5e9b775179e732d281ce3d245de83d648eea --- M configure.ac M debian/copyright M doc/examples/osmo-gtphub/gtphub-example.txt M osmoappdesc.py M src/Makefile.am M src/gprs/Makefile.am A src/gtphub/Makefile.am R src/gtphub/gtphub.c R src/gtphub/gtphub_ares.c R src/gtphub/gtphub_main.c R src/gtphub/gtphub_sock.c R src/gtphub/gtphub_vty.c M tests/gtphub/Makefile.am 13 files changed, 55 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 1c3f03b..6672204 100644 --- a/configure.ac +++ b/configure.ac @@ -248,6 +248,7 @@ src/Makefile src/gprs/Makefile src/gbproxy/Makefile + src/gtphub/Makefile tests/Makefile tests/atlocal tests/gprs/Makefile diff --git a/debian/copyright b/debian/copyright index 695d768..5d883b9 100644 --- a/debian/copyright +++ b/debian/copyright @@ -104,9 +104,9 @@ src/gprs/gprs_sndcp_vty.c src/gprs/gprs_sndcp_xid.c src/gprs/gprs_subscriber.c - src/gprs/gtphub.c - src/gprs/gtphub_main.c - src/gprs/gtphub_vty.c + src/gtphub/gtphub.c + src/gtphub/gtphub_main.c + src/gtphub/gtphub_vty.c src/gprs/sgsn_auth.c src/gprs/sgsn_cdr.c src/gprs/sgsn_ctrl.c @@ -140,8 +140,8 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . -Files: src/gprs/gtphub_ares.c - src/gprs/gtphub_sock.c +Files: src/gtphub/gtphub_ares.c + src/gtphub/gtphub_sock.c tests/gbproxy/gbproxy_test.c Copyright: 2013 Jacob Erlbeck 2013 sysmocom s.f.m.c. GmbH diff --git a/doc/examples/osmo-gtphub/gtphub-example.txt b/doc/examples/osmo-gtphub/gtphub-example.txt index 9c65f92..17f6914 100644 --- a/doc/examples/osmo-gtphub/gtphub-example.txt +++ b/doc/examples/osmo-gtphub/gtphub-example.txt @@ -59,7 +59,7 @@ 2. GTPHub: cd - path/to/openbsc/openbsc/src/gprs/osmo-gtphub -c gtphub.conf #-e 1 #for DEBUG level + path/to/openbsc/openbsc/src/gtphub/osmo-gtphub -c gtphub.conf #-e 1 #for DEBUG level 3. SGSN tests: diff --git a/osmoappdesc.py b/osmoappdesc.py index 1c47aee..9c3fd5d 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -25,7 +25,7 @@ apps = [(4246, "src/gbproxy/osmo-gbproxy", "OsmoGbProxy", "gbproxy"), (4245, "src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn"), - (4253, "src/gprs/osmo-gtphub", "OsmoGTPhub", "gtphub") + (4253, "src/gtphub/osmo-gtphub", "OsmoGTPhub", "gtphub") ] vty_command = ["./src/gprs/osmo-sgsn", "-c", diff --git a/src/Makefile.am b/src/Makefile.am index 024938d..2abd437 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,5 @@ SUBDIRS = \ gprs \ gbproxy \ + gtphub \ $(NULL) diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index 8f7f054..e5d50d3 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -56,7 +56,6 @@ bin_PROGRAMS = \ osmo-sgsn \ - osmo-gtphub \ $(NULL) osmo_sgsn_SOURCES = \ @@ -103,21 +102,3 @@ $(LIBASN1C_LIBS) \ $(NULL) endif - -osmo_gtphub_SOURCES = \ - gtphub_main.c \ - gtphub.c \ - gtphub_sock.c \ - gtphub_ares.c \ - gtphub_vty.c \ - $(NULL) -osmo_gtphub_LDADD = \ - libcommon.la \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOVTY_LIBS) \ - $(LIBCARES_LIBS) \ - $(LIBGTP_LIBS) \ - $(LIBOSMOSIGTRAN_LIBS) \ - -lrt \ - $(NULL) diff --git a/src/gtphub/Makefile.am b/src/gtphub/Makefile.am new file mode 100644 index 0000000..a242a05 --- /dev/null +++ b/src/gtphub/Makefile.am @@ -0,0 +1,45 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -fno-strict-aliasing \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOGSUPCLIENT_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBGTP_CFLAGS) \ + $(NULL) +if BUILD_IU +AM_CFLAGS += \ + $(LIBASN1C_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(LIBOSMORANAP_CFLAGS) \ + $(NULL) +endif + +bin_PROGRAMS = osmo-gtphub + +osmo_gtphub_SOURCES = \ + gtphub_main.c \ + gtphub.c \ + gtphub_sock.c \ + gtphub_ares.c \ + gtphub_vty.c \ + $(NULL) + +osmo_gtphub_LDADD = \ + $(top_builddir)/src/gprs/sgsn_ares.o \ + $(top_builddir)/src/gprs/gprs_utils.o \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBCARES_LIBS) \ + $(LIBGTP_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + -lrt \ + $(NULL) diff --git a/src/gprs/gtphub.c b/src/gtphub/gtphub.c similarity index 100% rename from src/gprs/gtphub.c rename to src/gtphub/gtphub.c diff --git a/src/gprs/gtphub_ares.c b/src/gtphub/gtphub_ares.c similarity index 100% rename from src/gprs/gtphub_ares.c rename to src/gtphub/gtphub_ares.c diff --git a/src/gprs/gtphub_main.c b/src/gtphub/gtphub_main.c similarity index 100% rename from src/gprs/gtphub_main.c rename to src/gtphub/gtphub_main.c diff --git a/src/gprs/gtphub_sock.c b/src/gtphub/gtphub_sock.c similarity index 100% rename from src/gprs/gtphub_sock.c rename to src/gtphub/gtphub_sock.c diff --git a/src/gprs/gtphub_vty.c b/src/gtphub/gtphub_vty.c similarity index 100% rename from src/gprs/gtphub_vty.c rename to src/gtphub/gtphub_vty.c diff --git a/tests/gtphub/Makefile.am b/tests/gtphub/Makefile.am index 523df61..fea01e0 100644 --- a/tests/gtphub/Makefile.am +++ b/tests/gtphub/Makefile.am @@ -31,7 +31,7 @@ $(NULL) gtphub_test_LDADD = \ - $(top_builddir)/src/gprs/gtphub.o \ + $(top_builddir)/src/gtphub/gtphub.o \ $(top_builddir)/src/gprs/gprs_utils.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I707d5e9b775179e732d281ce3d245de83d648eea Gerrit-Change-Number: 15362 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:00 +0000 Subject: Change in ...osmo-sgsn[master]: Move out sgsn to its own subdir In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 ) Change subject: Move out sgsn to its own subdir ...................................................................... Move out sgsn to its own subdir Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 --- M configure.ac M debian/copyright M osmoappdesc.py M src/Makefile.am M src/gprs/Makefile.am A src/sgsn/Makefile.am R src/sgsn/gprs_gb.c R src/sgsn/gprs_gmm.c R src/sgsn/gprs_gmm_attach.c R src/sgsn/gprs_llc.c R src/sgsn/gprs_llc_vty.c R src/sgsn/gprs_llc_xid.c R src/sgsn/gprs_mm_state_gb_fsm.c R src/sgsn/gprs_mm_state_iu_fsm.c R src/sgsn/gprs_ranap.c R src/sgsn/gprs_sgsn.c R src/sgsn/gprs_sndcp.c R src/sgsn/gprs_sndcp_comp.c R src/sgsn/gprs_sndcp_dcomp.c R src/sgsn/gprs_sndcp_pcomp.c R src/sgsn/gprs_sndcp_vty.c R src/sgsn/gprs_sndcp_xid.c R src/sgsn/gprs_subscriber.c R src/sgsn/sgsn_auth.c R src/sgsn/sgsn_cdr.c R src/sgsn/sgsn_ctrl.c R src/sgsn/sgsn_libgtp.c R src/sgsn/sgsn_main.c R src/sgsn/sgsn_vty.c R src/sgsn/slhc.c R src/sgsn/v42bis.c M tests/Makefile.am M tests/ctrl_test_runner.py M tests/sgsn/Makefile.am M tests/slhc/Makefile.am M tests/sndcp_xid/Makefile.am M tests/v42bis/Makefile.am M tests/vty_test_runner.py M tests/xid/Makefile.am 39 files changed, 144 insertions(+), 112 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 6672204..ec7af6e 100644 --- a/configure.ac +++ b/configure.ac @@ -247,6 +247,7 @@ include/osmocom/sgsn/Makefile src/Makefile src/gprs/Makefile + src/sgsn/Makefile src/gbproxy/Makefile src/gtphub/Makefile tests/Makefile diff --git a/debian/copyright b/debian/copyright index 5d883b9..fa7405f 100644 --- a/debian/copyright +++ b/debian/copyright @@ -92,27 +92,27 @@ src/gbproxy/gb_proxy_peer.c src/gbproxy/gb_proxy_tlli.c src/gbproxy/gb_proxy_vty.c - src/gprs/gprs_gmm.c - src/gprs/gprs_llc.c - src/gprs/gprs_llc_vty.c - src/gprs/gprs_llc_xid.c - src/gprs/gprs_sgsn.c - src/gprs/gprs_sndcp.c - src/gprs/gprs_sndcp_comp.c - src/gprs/gprs_sndcp_dcomp.c - src/gprs/gprs_sndcp_pcomp.c - src/gprs/gprs_sndcp_vty.c - src/gprs/gprs_sndcp_xid.c - src/gprs/gprs_subscriber.c src/gtphub/gtphub.c src/gtphub/gtphub_main.c src/gtphub/gtphub_vty.c - src/gprs/sgsn_auth.c - src/gprs/sgsn_cdr.c - src/gprs/sgsn_ctrl.c - src/gprs/sgsn_libgtp.c - src/gprs/sgsn_main.c - src/gprs/sgsn_vty.c + src/sgsn/gprs_gmm.c + src/sgsn/gprs_llc.c + src/sgsn/gprs_llc_vty.c + src/sgsn/gprs_llc_xid.c + src/sgsn/gprs_sgsn.c + src/sgsn/gprs_sndcp.c + src/sgsn/gprs_sndcp_comp.c + src/sgsn/gprs_sndcp_dcomp.c + src/sgsn/gprs_sndcp_pcomp.c + src/sgsn/gprs_sndcp_vty.c + src/sgsn/gprs_sndcp_xid.c + src/sgsn/gprs_subscriber.c + src/sgsn/sgsn_auth.c + src/sgsn/sgsn_cdr.c + src/sgsn/sgsn_ctrl.c + src/sgsn/sgsn_libgtp.c + src/sgsn/sgsn_main.c + src/sgsn/sgsn_vty.c tests/gtphub/gtphub_test.c tests/sgsn/sgsn_test.c tests/slhc/slhc_test.c diff --git a/osmoappdesc.py b/osmoappdesc.py index 9c3fd5d..08166a9 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -24,11 +24,11 @@ apps = [(4246, "src/gbproxy/osmo-gbproxy", "OsmoGbProxy", "gbproxy"), - (4245, "src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn"), + (4245, "src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn"), (4253, "src/gtphub/osmo-gtphub", "OsmoGTPhub", "gtphub") ] -vty_command = ["./src/gprs/osmo-sgsn", "-c", +vty_command = ["./src/sgsn/osmo-sgsn", "-c", "doc/examples/osmo-sgsn/osmo-sgsn.cfg"] vty_app = apps[1] diff --git a/src/Makefile.am b/src/Makefile.am index 2abd437..c45d3ab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,6 @@ SUBDIRS = \ gprs \ + sgsn \ gbproxy \ gtphub \ $(NULL) diff --git a/src/gprs/Makefile.am b/src/gprs/Makefile.am index e5d50d3..170ded8 100644 --- a/src/gprs/Makefile.am +++ b/src/gprs/Makefile.am @@ -26,15 +26,6 @@ $(NULL) endif -OSMO_LIBS = \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOVTY_LIBS) \ - $(LIBOSMOCTRL_LIBS) \ - $(LIBOSMOGB_LIBS) \ - $(LIBGTP_LIBS) \ - $(NULL) - noinst_LTLIBRARIES = libcommon.la libcommon_la_SOURCES = \ @@ -53,52 +44,3 @@ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBCARES_LIBS) \ $(NULL) - -bin_PROGRAMS = \ - osmo-sgsn \ - $(NULL) - -osmo_sgsn_SOURCES = \ - gprs_gb.c \ - gprs_gmm_attach.c \ - gprs_gmm.c \ - gprs_mm_state_gb_fsm.c \ - gprs_mm_state_iu_fsm.c \ - gprs_ranap.c \ - gprs_sgsn.c \ - gprs_sndcp.c \ - gprs_sndcp_comp.c \ - gprs_sndcp_dcomp.c \ - gprs_sndcp_pcomp.c \ - gprs_sndcp_vty.c \ - gprs_sndcp_xid.c \ - sgsn_main.c \ - sgsn_vty.c \ - sgsn_libgtp.c \ - gprs_llc.c \ - gprs_llc_vty.c \ - sgsn_ctrl.c \ - sgsn_auth.c \ - gprs_subscriber.c \ - sgsn_cdr.c \ - slhc.c \ - gprs_llc_xid.c \ - v42bis.c \ - $(NULL) -osmo_sgsn_LDADD = \ - libcommon.la \ - $(OSMO_LIBS) \ - $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOGSUPCLIENT_LIBS) \ - $(LIBCARES_LIBS) \ - $(LIBGTP_LIBS) \ - -lrt \ - -lm \ - $(NULL) -if BUILD_IU -osmo_sgsn_LDADD += \ - $(LIBOSMOSIGTRAN_LIBS) \ - $(LIBOSMORANAP_LIBS) \ - $(LIBASN1C_LIBS) \ - $(NULL) -endif diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am new file mode 100644 index 0000000..a8da943 --- /dev/null +++ b/src/sgsn/Makefile.am @@ -0,0 +1,88 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + -I$(top_builddir) \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -fno-strict-aliasing \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOGB_CFLAGS) \ + $(LIBOSMOGSUPCLIENT_CFLAGS) \ + $(COVERAGE_CFLAGS) \ + $(LIBCARES_CFLAGS) \ + $(LIBGTP_CFLAGS) \ + $(NULL) +if BUILD_IU +AM_CFLAGS += \ + $(LIBASN1C_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(LIBOSMORANAP_CFLAGS) \ + $(NULL) +endif + +OSMO_LIBS = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOGB_LIBS) \ + $(LIBGTP_LIBS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-sgsn \ + $(NULL) + +osmo_sgsn_SOURCES = \ + gprs_gb.c \ + gprs_gmm_attach.c \ + gprs_gmm.c \ + gprs_mm_state_gb_fsm.c \ + gprs_mm_state_iu_fsm.c \ + gprs_ranap.c \ + gprs_sgsn.c \ + gprs_sndcp.c \ + gprs_sndcp_comp.c \ + gprs_sndcp_dcomp.c \ + gprs_sndcp_pcomp.c \ + gprs_sndcp_vty.c \ + gprs_sndcp_xid.c \ + sgsn_main.c \ + sgsn_vty.c \ + sgsn_libgtp.c \ + gprs_llc.c \ + gprs_llc_vty.c \ + sgsn_ctrl.c \ + sgsn_auth.c \ + gprs_subscriber.c \ + sgsn_cdr.c \ + slhc.c \ + gprs_llc_xid.c \ + v42bis.c \ + $(NULL) +osmo_sgsn_LDADD = \ + $(top_builddir)/src/gprs/gprs_llc_parse.o \ + $(top_builddir)/src/gprs/crc24.o \ + $(top_builddir)/src/gprs/gprs_utils.o \ + $(top_builddir)/src/gprs/sgsn_ares.o \ + $(OSMO_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOGSUPCLIENT_LIBS) \ + $(LIBCARES_LIBS) \ + $(LIBGTP_LIBS) \ + -lrt \ + -lm \ + $(NULL) +if BUILD_IU +osmo_sgsn_LDADD += \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBOSMORANAP_LIBS) \ + $(LIBASN1C_LIBS) \ + $(NULL) +endif diff --git a/src/gprs/gprs_gb.c b/src/sgsn/gprs_gb.c similarity index 100% rename from src/gprs/gprs_gb.c rename to src/sgsn/gprs_gb.c diff --git a/src/gprs/gprs_gmm.c b/src/sgsn/gprs_gmm.c similarity index 100% rename from src/gprs/gprs_gmm.c rename to src/sgsn/gprs_gmm.c diff --git a/src/gprs/gprs_gmm_attach.c b/src/sgsn/gprs_gmm_attach.c similarity index 100% rename from src/gprs/gprs_gmm_attach.c rename to src/sgsn/gprs_gmm_attach.c diff --git a/src/gprs/gprs_llc.c b/src/sgsn/gprs_llc.c similarity index 100% rename from src/gprs/gprs_llc.c rename to src/sgsn/gprs_llc.c diff --git a/src/gprs/gprs_llc_vty.c b/src/sgsn/gprs_llc_vty.c similarity index 100% rename from src/gprs/gprs_llc_vty.c rename to src/sgsn/gprs_llc_vty.c diff --git a/src/gprs/gprs_llc_xid.c b/src/sgsn/gprs_llc_xid.c similarity index 100% rename from src/gprs/gprs_llc_xid.c rename to src/sgsn/gprs_llc_xid.c diff --git a/src/gprs/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c similarity index 100% rename from src/gprs/gprs_mm_state_gb_fsm.c rename to src/sgsn/gprs_mm_state_gb_fsm.c diff --git a/src/gprs/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c similarity index 100% rename from src/gprs/gprs_mm_state_iu_fsm.c rename to src/sgsn/gprs_mm_state_iu_fsm.c diff --git a/src/gprs/gprs_ranap.c b/src/sgsn/gprs_ranap.c similarity index 100% rename from src/gprs/gprs_ranap.c rename to src/sgsn/gprs_ranap.c diff --git a/src/gprs/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c similarity index 100% rename from src/gprs/gprs_sgsn.c rename to src/sgsn/gprs_sgsn.c diff --git a/src/gprs/gprs_sndcp.c b/src/sgsn/gprs_sndcp.c similarity index 100% rename from src/gprs/gprs_sndcp.c rename to src/sgsn/gprs_sndcp.c diff --git a/src/gprs/gprs_sndcp_comp.c b/src/sgsn/gprs_sndcp_comp.c similarity index 100% rename from src/gprs/gprs_sndcp_comp.c rename to src/sgsn/gprs_sndcp_comp.c diff --git a/src/gprs/gprs_sndcp_dcomp.c b/src/sgsn/gprs_sndcp_dcomp.c similarity index 100% rename from src/gprs/gprs_sndcp_dcomp.c rename to src/sgsn/gprs_sndcp_dcomp.c diff --git a/src/gprs/gprs_sndcp_pcomp.c b/src/sgsn/gprs_sndcp_pcomp.c similarity index 100% rename from src/gprs/gprs_sndcp_pcomp.c rename to src/sgsn/gprs_sndcp_pcomp.c diff --git a/src/gprs/gprs_sndcp_vty.c b/src/sgsn/gprs_sndcp_vty.c similarity index 100% rename from src/gprs/gprs_sndcp_vty.c rename to src/sgsn/gprs_sndcp_vty.c diff --git a/src/gprs/gprs_sndcp_xid.c b/src/sgsn/gprs_sndcp_xid.c similarity index 100% rename from src/gprs/gprs_sndcp_xid.c rename to src/sgsn/gprs_sndcp_xid.c diff --git a/src/gprs/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c similarity index 100% rename from src/gprs/gprs_subscriber.c rename to src/sgsn/gprs_subscriber.c diff --git a/src/gprs/sgsn_auth.c b/src/sgsn/sgsn_auth.c similarity index 100% rename from src/gprs/sgsn_auth.c rename to src/sgsn/sgsn_auth.c diff --git a/src/gprs/sgsn_cdr.c b/src/sgsn/sgsn_cdr.c similarity index 100% rename from src/gprs/sgsn_cdr.c rename to src/sgsn/sgsn_cdr.c diff --git a/src/gprs/sgsn_ctrl.c b/src/sgsn/sgsn_ctrl.c similarity index 100% rename from src/gprs/sgsn_ctrl.c rename to src/sgsn/sgsn_ctrl.c diff --git a/src/gprs/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c similarity index 100% rename from src/gprs/sgsn_libgtp.c rename to src/sgsn/sgsn_libgtp.c diff --git a/src/gprs/sgsn_main.c b/src/sgsn/sgsn_main.c similarity index 100% rename from src/gprs/sgsn_main.c rename to src/sgsn/sgsn_main.c diff --git a/src/gprs/sgsn_vty.c b/src/sgsn/sgsn_vty.c similarity index 100% rename from src/gprs/sgsn_vty.c rename to src/sgsn/sgsn_vty.c diff --git a/src/gprs/slhc.c b/src/sgsn/slhc.c similarity index 100% rename from src/gprs/slhc.c rename to src/sgsn/slhc.c diff --git a/src/gprs/v42bis.c b/src/sgsn/v42bis.c similarity index 100% rename from src/gprs/v42bis.c rename to src/sgsn/v42bis.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 6c392af..a23d931 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -63,7 +63,7 @@ vty-transcript-test: osmo_verify_transcript_vty.py -v \ -n OsmoSGSN -p 4245 \ - -r "$(top_builddir)/src/gprs/osmo-sgsn -c $(top_srcdir)/doc/examples/osmo-sgsn/osmo-sgsn.cfg" \ + -r "$(top_builddir)/src/sgsn/osmo-sgsn -c $(top_srcdir)/doc/examples/osmo-sgsn/osmo-sgsn.cfg" \ $(U) $${T:-$(srcdir)/*.vty} rm -f $(builddir)/sms.db $(builddir)/gsn_restart diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py index 57ef82e..9c253fc 100755 --- a/tests/ctrl_test_runner.py +++ b/tests/ctrl_test_runner.py @@ -145,11 +145,11 @@ class TestCtrlSGSN(TestCtrlBase): def ctrl_command(self): - return ["./src/gprs/osmo-sgsn", "-c", + return ["./src/sgsn/osmo-sgsn", "-c", "doc/examples/osmo-sgsn/osmo-sgsn.cfg"] def ctrl_app(self): - return (4251, "./src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn") + return (4251, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn") def testListSubscribers(self): # TODO. Add command to mark a subscriber as active @@ -159,7 +159,7 @@ self.assertEquals(r['value'], None) def add_sgsn_test(suite, workdir): - if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-sgsn")): + if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")): print("Skipping the SGSN test") return test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlSGSN) diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 47189e5..7ba70eb 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -42,31 +42,31 @@ $(NULL) sgsn_test_LDADD = \ - $(top_builddir)/src/gprs/gprs_llc_parse.o \ - $(top_builddir)/src/gprs/gprs_llc.o \ - $(top_builddir)/src/gprs/crc24.o \ - $(top_builddir)/src/gprs/gprs_gb.o \ - $(top_builddir)/src/gprs/gprs_ranap.o \ - $(top_builddir)/src/gprs/gprs_sndcp.o \ - $(top_builddir)/src/gprs/gprs_gmm_attach.o \ - $(top_builddir)/src/gprs/gprs_gmm.o \ - $(top_builddir)/src/gprs/gprs_mm_state_gb_fsm.o \ - $(top_builddir)/src/gprs/gprs_mm_state_iu_fsm.o \ - $(top_builddir)/src/gprs/gprs_sgsn.o \ - $(top_builddir)/src/gprs/sgsn_vty.o \ - $(top_builddir)/src/gprs/sgsn_libgtp.o \ - $(top_builddir)/src/gprs/sgsn_auth.o \ - $(top_builddir)/src/gprs/sgsn_ares.o \ + $(top_builddir)/src/sgsn/gprs_llc.o \ + $(top_builddir)/src/sgsn/gprs_gb.o \ + $(top_builddir)/src/sgsn/gprs_ranap.o \ + $(top_builddir)/src/sgsn/gprs_sndcp.o \ + $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ + $(top_builddir)/src/sgsn/gprs_gmm.o \ + $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ + $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \ + $(top_builddir)/src/sgsn/gprs_sgsn.o \ + $(top_builddir)/src/sgsn/sgsn_vty.o \ + $(top_builddir)/src/sgsn/sgsn_libgtp.o \ + $(top_builddir)/src/sgsn/sgsn_auth.o \ + $(top_builddir)/src/sgsn/gprs_subscriber.o \ + $(top_builddir)/src/sgsn/gprs_llc_xid.o \ + $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ + $(top_builddir)/src/sgsn/slhc.o \ + $(top_builddir)/src/sgsn/gprs_sndcp_comp.o \ + $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \ + $(top_builddir)/src/sgsn/v42bis.o \ + $(top_builddir)/src/sgsn/gprs_sndcp_dcomp.o \ $(top_builddir)/src/gprs/gprs_utils.o \ - $(top_builddir)/src/gprs/gprs_subscriber.o \ + $(top_builddir)/src/gprs/gprs_llc_parse.o \ $(top_builddir)/src/gprs/gprs_gb_parse.o \ - $(top_builddir)/src/gprs/gprs_llc_xid.o \ - $(top_builddir)/src/gprs/gprs_sndcp_xid.o \ - $(top_builddir)/src/gprs/slhc.o \ - $(top_builddir)/src/gprs/gprs_sndcp_comp.o \ - $(top_builddir)/src/gprs/gprs_sndcp_pcomp.o \ - $(top_builddir)/src/gprs/v42bis.o \ - $(top_builddir)/src/gprs/gprs_sndcp_dcomp.o \ + $(top_builddir)/src/gprs/crc24.o \ + $(top_builddir)/src/gprs/sgsn_ares.o \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/slhc/Makefile.am b/tests/slhc/Makefile.am index 818ae2e..b6738c2 100644 --- a/tests/slhc/Makefile.am +++ b/tests/slhc/Makefile.am @@ -8,7 +8,7 @@ slhc_test_SOURCES = slhc_test.c slhc_test_LDADD = \ - $(top_builddir)/src/gprs/slhc.o \ + $(top_builddir)/src/sgsn/slhc.o \ $(LIBOSMOCORE_LIBS) diff --git a/tests/sndcp_xid/Makefile.am b/tests/sndcp_xid/Makefile.am index fbcb36c..24626b3 100644 --- a/tests/sndcp_xid/Makefile.am +++ b/tests/sndcp_xid/Makefile.am @@ -8,7 +8,7 @@ sndcp_xid_test_SOURCES = sndcp_xid_test.c sndcp_xid_test_LDADD = \ - $(top_builddir)/src/gprs/gprs_sndcp_xid.o \ + $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/v42bis/Makefile.am b/tests/v42bis/Makefile.am index 8e17b4a..7442392 100644 --- a/tests/v42bis/Makefile.am +++ b/tests/v42bis/Makefile.am @@ -8,7 +8,7 @@ v42bis_test_SOURCES = v42bis_test.c v42bis_test_LDADD = \ - $(top_builddir)/src/gprs/v42bis.o \ + $(top_builddir)/src/sgsn/v42bis.o \ $(LIBOSMOCORE_LIBS) diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py index a71865d..a925b6b 100755 --- a/tests/vty_test_runner.py +++ b/tests/vty_test_runner.py @@ -119,11 +119,11 @@ class TestVTYSGSN(TestVTYBase): def vty_command(self): - return ["./src/gprs/osmo-sgsn", "-c", + return ["./src/sgsn/osmo-sgsn", "-c", "doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg"] def vty_app(self): - return (4245, "./src/gprs/osmo-sgsn", "OsmoSGSN", "sgsn") + return (4245, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn") def testVtyTree(self): self.vty.enable() @@ -284,7 +284,7 @@ suite.addTest(test) def add_sgsn_test(suite, workdir): - if not os.path.isfile(os.path.join(workdir, "src/gprs/osmo-sgsn")): + if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")): print("Skipping the SGSN test") return test = unittest.TestLoader().loadTestsFromTestCase(TestVTYSGSN) diff --git a/tests/xid/Makefile.am b/tests/xid/Makefile.am index 92876ec..6f058f5 100644 --- a/tests/xid/Makefile.am +++ b/tests/xid/Makefile.am @@ -24,7 +24,7 @@ $(NULL) xid_test_LDADD = \ - $(top_builddir)/src/gprs/gprs_llc_xid.o \ + $(top_builddir)/src/sgsn/gprs_llc_xid.o \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737 Gerrit-Change-Number: 15363 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:01 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Attach Complete to its own function In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 ) Change subject: gmm: Move code handling GMM Attach Complete to its own function ...................................................................... gmm: Move code handling GMM Attach Complete to its own function Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6 --- M src/sgsn/gprs_gmm.c 1 file changed, 40 insertions(+), 33 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index edb7eea..b2c70aa 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1343,6 +1343,45 @@ } +/* 3GPP TS 24.008 ? 9.4.3 Attach complete */ +static int gsm48_rx_gmm_att_compl(struct sgsn_mm_ctx *mmctx) +{ + struct sgsn_signal_data sig_data; + /* only in case SGSN offered new P-TMSI */ + LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n"); + + #ifdef BUILD_IU + if (mmctx->iu.ue_ctx) { + ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL); + } + #endif + + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + mmctx->gmm_state = GMM_REGISTERED_NORMAL; + switch(mmctx->ran_type) { + case MM_CTX_T_UTRAN_Iu: + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); + break; + case MM_CTX_T_GERAN_Gb: + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + gprs_llme_copy_key(mmctx, mmctx->gb.llme); + gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, + mmctx->gb.tlli_new); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL); + break; + } + + osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0); + memset(&sig_data, 0, sizeof(sig_data)); + sig_data.mm = mmctx; + osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); + + return 0; +} /* Checks if two attach request contain the IEs and IE values * return 0 if equal @@ -1953,39 +1992,7 @@ case GSM48_MT_GMM_ATTACH_COMPL: if (!mmctx) goto null_mmctx; - /* only in case SGSN offered new P-TMSI */ - LOGMMCTXP(LOGL_INFO, mmctx, "-> ATTACH COMPLETE\n"); - -#ifdef BUILD_IU - if (mmctx->iu.ue_ctx) { - ranap_iu_tx_release(mmctx->iu.ue_ctx, NULL); - } -#endif - - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; - switch(mmctx->ran_type) { - case MM_CTX_T_UTRAN_Iu: - osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); - break; - case MM_CTX_T_GERAN_Gb: - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - gprs_llme_copy_key(mmctx, mmctx->gb.llme); - gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, - mmctx->gb.tlli_new); - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_GPRS_ATTACH, NULL); - break; - } - rc = 0; - - osmo_fsm_inst_dispatch(mmctx->gmm_att_req.fsm, E_ATTACH_COMPLETE_RECV, 0); - memset(&sig_data, 0, sizeof(sig_data)); - sig_data.mm = mmctx; - osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); + rc = gsm48_rx_gmm_att_compl(mmctx); break; case GSM48_MT_GMM_RA_UPD_COMPL: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6 Gerrit-Change-Number: 15380 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:01 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM Routing Area Update Complete to its own f... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 ) Change subject: gmm: Move code handling GMM Routing Area Update Complete to its own function ...................................................................... gmm: Move code handling GMM Routing Area Update Complete to its own function Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a --- M src/sgsn/gprs_gmm.c 1 file changed, 32 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index b2c70aa..ea6daae 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1758,6 +1758,37 @@ return rc; } +/* 3GPP TS 24.008 ? 9.4.16: Routing area update complete */ +static int gsm48_rx_gmm_ra_upd_compl(struct sgsn_mm_ctx *mmctx) +{ + struct sgsn_signal_data sig_data; + /* only in case SGSN offered new P-TMSI */ + LOGMMCTXP(LOGL_INFO, mmctx, "-> ROUTING AREA UPDATE COMPLETE\n"); + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + mmctx->gmm_state = GMM_REGISTERED_NORMAL; + switch(mmctx->ran_type) { + case MM_CTX_T_UTRAN_Iu: + osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); + break; + case MM_CTX_T_GERAN_Gb: + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, + mmctx->gb.tlli_new); + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_RA_UPDATE, NULL); + break; + } + + memset(&sig_data, 0, sizeof(sig_data)); + sig_data.mm = mmctx; + osmo_signal_dispatch(SS_SGSN, S_SGSN_UPDATE, &sig_data); + + return 0; +} + /* 3GPP TS 24.008 ? 9.4.20 Service request. * In Iu, a UE in PMM-IDLE mode can use GSM48_MT_GMM_SERVICE_REQ to switch back * to PMM-CONNECTED mode. */ @@ -1893,7 +1924,6 @@ int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) { - struct sgsn_signal_data sig_data; struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); int rc; @@ -1997,30 +2027,7 @@ case GSM48_MT_GMM_RA_UPD_COMPL: if (!mmctx) goto null_mmctx; - /* only in case SGSN offered new P-TMSI */ - LOGMMCTXP(LOGL_INFO, mmctx, "-> ROUTING AREA UPDATE COMPLETE\n"); - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; - switch(mmctx->ran_type) { - case MM_CTX_T_UTRAN_Iu: - osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); - break; - case MM_CTX_T_GERAN_Gb: - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, - mmctx->gb.tlli_new); - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_RA_UPDATE, NULL); - break; - } - rc = 0; - - memset(&sig_data, 0, sizeof(sig_data)); - sig_data.mm = mmctx; - osmo_signal_dispatch(SS_SGSN, S_SGSN_UPDATE, &sig_data); + rc = gsm48_rx_gmm_ra_upd_compl(mmctx); break; case GSM48_MT_GMM_PTMSI_REALL_COMPL: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a Gerrit-Change-Number: 15381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:01 +0000 Subject: Change in ...osmo-sgsn[master]: gmm: Move code handling GMM PTMSI Realloc Complete to its own function In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 ) Change subject: gmm: Move code handling GMM PTMSI Realloc Complete to its own function ...................................................................... gmm: Move code handling GMM PTMSI Realloc Complete to its own function Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21 --- M src/sgsn/gprs_gmm.c 1 file changed, 17 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index ea6daae..399f7bf 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1789,6 +1789,22 @@ return 0; } +/* 3GPP TS 24.008 ? 9.4.8: P-TMSI reallocation complete */ +static int gsm48_rx_gmm_ptmsi_reall_compl(struct sgsn_mm_ctx *mmctx) +{ + LOGMMCTXP(LOGL_INFO, mmctx, "-> PTMSI REALLOCATION COMPLETE\n"); + mmctx_timer_stop(mmctx, 3350); + mmctx->t3350_mode = GMM_T3350_MODE_NONE; + mmctx->p_tmsi_old = 0; + mmctx->pending_req = 0; + if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { + /* Unassign the old TLLI */ + mmctx->gb.tlli = mmctx->gb.tlli_new; + //gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new, GPRS_ALGO_GEA0, NULL); + } + return 0; +} + /* 3GPP TS 24.008 ? 9.4.20 Service request. * In Iu, a UE in PMM-IDLE mode can use GSM48_MT_GMM_SERVICE_REQ to switch back * to PMM-CONNECTED mode. */ @@ -2032,17 +2048,7 @@ case GSM48_MT_GMM_PTMSI_REALL_COMPL: if (!mmctx) goto null_mmctx; - LOGMMCTXP(LOGL_INFO, mmctx, "-> PTMSI REALLOCATION COMPLETE\n"); - mmctx_timer_stop(mmctx, 3350); - mmctx->t3350_mode = GMM_T3350_MODE_NONE; - mmctx->p_tmsi_old = 0; - mmctx->pending_req = 0; - if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { - /* Unassign the old TLLI */ - mmctx->gb.tlli = mmctx->gb.tlli_new; - //gprs_llgmm_assign(mmctx->gb.llme, TLLI_UNASSIGNED, mmctx->gb.tlli_new, GPRS_ALGO_GEA0, NULL); - } - rc = 0; + rc = gsm48_rx_gmm_ptmsi_reall_compl(mmctx); break; case GSM48_MT_GMM_AUTH_CIPH_RESP: if (!mmctx) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21 Gerrit-Change-Number: 15382 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:01 +0000 Subject: Change in ...osmo-sgsn[master]: enum gprs_gmm_state: Fix spec reference In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 ) Change subject: enum gprs_gmm_state: Fix spec reference ...................................................................... enum gprs_gmm_state: Fix spec reference Change-Id: I62121e46e5091e5b559397aa01f107ddc23e2c18 --- M include/osmocom/sgsn/gprs_sgsn.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 8e8b762..20e0e06 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -23,7 +23,7 @@ enum gsm48_gsm_cause; -/* TS 04.08 4.1.3.3 GMM mobility management states on the network side */ +/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ enum gprs_gmm_state { GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I62121e46e5091e5b559397aa01f107ddc23e2c18 Gerrit-Change-Number: 15383 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:02 +0000 Subject: Change in ...osmo-sgsn[master]: Implement GMM State using osmocom FSM In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 ) Change subject: Implement GMM State using osmocom FSM ...................................................................... Implement GMM State using osmocom FSM State machine inspired in the one from TS 24.008 4.1.3.3.1. Some state transitions are inroduced in the code but are still commented out since we lack some functionalitites or improvements in the code to handle different scenarios. Most of the logic is still outside of the FSM, but at least now the states are handled in a sane way triggered by events. Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 --- M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gprs_gmm_fsm.h M include/osmocom/sgsn/gprs_sgsn.h M src/sgsn/Makefile.am M src/sgsn/gprs_gmm.c A src/sgsn/gprs_gmm_fsm.c M src/sgsn/gprs_sgsn.c M src/sgsn/sgsn_libgtp.c M src/sgsn/sgsn_vty.c M tests/sgsn/Makefile.am M tests/sgsn/sgsn_test.c 11 files changed, 261 insertions(+), 53 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 0ab00fe..9ddc2bc 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -6,6 +6,7 @@ gprs_gb.h \ gprs_gb_parse.h \ gprs_gmm.h \ + gprs_gmm_fsm.h \ gprs_gmm_attach.h \ gprs_mm_state_gb_fsm.h \ gprs_mm_state_iu_fsm.h \ diff --git a/include/osmocom/sgsn/gprs_gmm_fsm.h b/include/osmocom/sgsn/gprs_gmm_fsm.h new file mode 100644 index 0000000..fd5b4bf --- /dev/null +++ b/include/osmocom/sgsn/gprs_gmm_fsm.h @@ -0,0 +1,34 @@ +#pragma once + +#include + +/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ +enum gmm_fsm_states { + ST_GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ + ST_GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ + ST_GMM_REGISTERED_NORMAL, /* 4.1.3.3.2.1 */ + ST_GMM_REGISTERED_SUSPENDED, /* 4.1.3.3.2.2 */ + ST_GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ +}; + +enum gmm_fsm_events { + E_GMM_COMMON_PROC_INIT_REQ, + /* E_GMM_COMMON_PROC_FAILED, NOT USED */ + /* E_GMM_LOWER_LAYER_FAILED, NOT USED */ + E_GMM_COMMON_PROC_SUCCESS, + E_GMM_ATTACH_SUCCESS, + /* E_GMM_NET_INIT_DETACH_REQ, NOT USED */ + /* E_GMM_MS_INIT_DETACH_REQ, NOT USED */ + /* E_GMM_DETACH_ACCEPTED, */ + E_GMM_SUSPEND, + E_GMM_RESUME, + E_GMM_CLEANUP, +}; + +static inline bool gmm_fsm_is_registered(struct osmo_fsm_inst *fi) +{ + return fi->state == ST_GMM_REGISTERED_NORMAL || + fi->state == ST_GMM_REGISTERED_SUSPENDED; +} + +extern struct osmo_fsm gmm_fsm; diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 20e0e06..0a52a7d 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -23,15 +23,6 @@ enum gsm48_gsm_cause; -/* 3GPP TS 24.008 ? 4.1.3.3 GMM mobility management states on the network side */ -enum gprs_gmm_state { - GMM_DEREGISTERED, /* 4.1.3.3.1.1 */ - GMM_COMMON_PROC_INIT, /* 4.1.3.3.1.2 */ - GMM_REGISTERED_NORMAL, /* 4.1.3.3.2.1 */ - GMM_REGISTERED_SUSPENDED, /* 4.1.3.3.2.2 */ - GMM_DEREGISTERED_INIT, /* 4.1.3.3.1.4 */ -}; - enum gprs_mm_ctr { GMM_CTR_PKTS_SIG_IN, GMM_CTR_PKTS_SIG_OUT, @@ -128,7 +119,7 @@ enum sgsn_ran_type ran_type; char imsi[GSM23003_IMSI_MAX_DIGITS+1]; - enum gprs_gmm_state gmm_state; + struct osmo_fsm_inst *gmm_fsm; uint32_t p_tmsi; uint32_t p_tmsi_old; /* old P-TMSI before new is confirmed */ uint32_t p_tmsi_sig; diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index a8da943..4402c9c 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -43,6 +43,7 @@ gprs_gb.c \ gprs_gmm_attach.c \ gprs_gmm.c \ + gprs_gmm_fsm.c \ gprs_mm_state_gb_fsm.c \ gprs_mm_state_iu_fsm.c \ gprs_ranap.c \ diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 399f7bf..3317a09 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -57,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -211,7 +212,7 @@ LOGMMCTXP(LOGL_INFO, ctx, "Cleaning MM context due to %s\n", log_text); /* Mark MM state as deregistered */ - ctx->gmm_state = GMM_DEREGISTERED; + osmo_fsm_inst_dispatch(ctx->gmm_fsm, E_GMM_CLEANUP, NULL); switch(ctx->ran_type) { case MM_CTX_T_UTRAN_Iu: @@ -967,7 +968,7 @@ memset(&sig_data, 0, sizeof(sig_data)); sig_data.mm = mmctx; osmo_signal_dispatch(SS_SGSN, S_SGSN_ATTACH, &sig_data); - ctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mm->gmm_fsm, E_GMM_ATTACH_SUCCESS, NULL); #endif return gsm48_tx_gmm_att_ack(ctx); @@ -1009,8 +1010,8 @@ void gsm0408_gprs_access_granted(struct sgsn_mm_ctx *ctx) { - switch (ctx->gmm_state) { - case GMM_COMMON_PROC_INIT: + switch (ctx->gmm_fsm->state) { + case ST_GMM_COMMON_PROC_INIT: LOGMMCTXP(LOGL_NOTICE, ctx, "Authorized, continuing procedure, IMSI=%s\n", ctx->imsi); @@ -1030,8 +1031,8 @@ if (gmm_cause == SGSN_ERROR_CAUSE_NONE) gmm_cause = GMM_CAUSE_GPRS_NOTALLOWED; - switch (ctx->gmm_state) { - case GMM_COMMON_PROC_INIT: + switch (ctx->gmm_fsm->state) { + case ST_GMM_COMMON_PROC_INIT: LOGMMCTXP(LOGL_NOTICE, ctx, "Not authorized, rejecting ATTACH REQUEST " "with cause '%s' (%d)\n", @@ -1040,8 +1041,8 @@ if (ctx->gmm_att_req.fsm->state != ST_INIT) osmo_fsm_inst_dispatch(ctx->gmm_att_req.fsm, E_REJECT, (void *) (long) gmm_cause); break; - case GMM_REGISTERED_NORMAL: - case GMM_REGISTERED_SUSPENDED: + case ST_GMM_REGISTERED_NORMAL: + case ST_GMM_REGISTERED_SUSPENDED: LOGMMCTXP(LOGL_NOTICE, ctx, "Authorization lost, detaching " "with cause '%s' (%d)\n", @@ -1142,7 +1143,7 @@ { uint32_t ptmsi; /* Don't change the P-TMSI if a P-TMSI re-assignment is under way */ - if (ctx->gmm_state != GMM_COMMON_PROC_INIT) { + if (ctx->gmm_fsm->state != ST_GMM_COMMON_PROC_INIT) { ptmsi = sgsn_alloc_ptmsi(); if (ptmsi != GSM_RESERVED_TMSI) { ctx->p_tmsi_old = ctx->p_tmsi; @@ -1150,7 +1151,7 @@ } else LOGMMCTXP(LOGL_ERROR, ctx, "P-TMSI allocation failure: using old one.\n"); } - ctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(ctx->gmm_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } /* 3GPP TS 24.008 ? 9.4.1 Attach request */ @@ -1360,7 +1361,7 @@ mmctx->t3350_mode = GMM_T3350_MODE_NONE; mmctx->p_tmsi_old = 0; mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_ATTACH_SUCCESS, NULL); switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); @@ -1658,11 +1659,10 @@ mmctx->p_tmsi, mmctx->p_tmsi_old, mmctx->gb.tlli, mmctx->gb.tlli_new, osmo_rai_name(&mmctx->ra)); - - mmctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } } else if (!gprs_ra_id_equals(&mmctx->ra, &old_ra_id) || - mmctx->gmm_state == GMM_DEREGISTERED) + mmctx->gmm_fsm->state == ST_GMM_DEREGISTERED) { /* We cannot use the mmctx */ LOGMMCTXP(LOGL_INFO, mmctx, @@ -1715,7 +1715,7 @@ mmctx_timer_start(mmctx, 3350); #else /* Make sure we are NORMAL (i.e. not SUSPENDED anymore) */ - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mm->gmm_fsm, E_GMM_ATTACH_SUCCESS, NULL); memset(&sig_data, 0, sizeof(sig_data)); sig_data.mm = mmctx; @@ -1768,7 +1768,7 @@ mmctx->t3350_mode = GMM_T3350_MODE_NONE; mmctx->p_tmsi_old = 0; mmctx->pending_req = 0; - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_COMMON_PROC_SUCCESS, NULL); switch(mmctx->ran_type) { case MM_CTX_T_UTRAN_Iu: osmo_fsm_inst_dispatch(mmctx->iu.mm_state_fsm, E_PMM_RA_UPDATE, NULL); @@ -1883,7 +1883,7 @@ goto rejected; } - ctx->gmm_state = GMM_COMMON_PROC_INIT; + osmo_fsm_inst_dispatch(ctx->gmm_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); ctx->iu.service.type = service_type; @@ -2832,15 +2832,14 @@ return -EINVAL; } - if (mmctx->gmm_state != GMM_REGISTERED_NORMAL && - mmctx->gmm_state != GMM_REGISTERED_SUSPENDED) { + if (!gmm_fsm_is_registered(mmctx->gmm_fsm)) { LOGMMCTXP(LOGL_NOTICE, mmctx, "SUSPEND request while state " "!= REGISTERED (TLLI=%08x)\n", tlli); return -EINVAL; } /* Transition from REGISTERED_NORMAL to REGISTERED_SUSPENDED */ - mmctx->gmm_state = GMM_REGISTERED_SUSPENDED; + osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_SUSPEND, NULL); return 0; } @@ -2858,8 +2857,7 @@ return -EINVAL; } - if (mmctx->gmm_state != GMM_REGISTERED_NORMAL && - mmctx->gmm_state != GMM_REGISTERED_SUSPENDED) { + if (!gmm_fsm_is_registered(mmctx->gmm_fsm)) { LOGMMCTXP(LOGL_NOTICE, mmctx, "RESUME request while state " "!= SUSPENDED (TLLI=%08x)\n", tlli); /* FIXME: should we not simply ignore it? */ @@ -2867,6 +2865,6 @@ } /* Transition from SUSPENDED to NORMAL */ - mmctx->gmm_state = GMM_REGISTERED_NORMAL; + osmo_fsm_inst_dispatch(mmctx->gmm_fsm, E_GMM_RESUME, NULL); return 0; } diff --git a/src/sgsn/gprs_gmm_fsm.c b/src/sgsn/gprs_gmm_fsm.c new file mode 100644 index 0000000..fac06f2 --- /dev/null +++ b/src/sgsn/gprs_gmm_fsm.c @@ -0,0 +1,187 @@ +#include + +#include + +#include +#include + +#define X(s) (1 << (s)) + +static const struct osmo_tdef_state_timeout gmm_fsm_timeouts[32] = { + [ST_GMM_DEREGISTERED] = { }, + [ST_GMM_COMMON_PROC_INIT] = { }, + [ST_GMM_REGISTERED_NORMAL] = { }, + [ST_GMM_REGISTERED_SUSPENDED] = { }, + [ST_GMM_DEREGISTERED_INIT] = { }, +}; + +#define gmm_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, gmm_fsm_timeouts, sgsn->cfg.T_defs, -1) + +static void st_gmm_deregistered(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + gmm_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT); + break; + case E_GMM_ATTACH_SUCCESS: + gmm_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_common_proc_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + /* TODO: events not used + case E_GMM_LOWER_LAYER_FAILED: + case E_GMM_COMMON_PROC_FAILED: + gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + */ + case E_GMM_COMMON_PROC_SUCCESS: + case E_GMM_ATTACH_SUCCESS: + gmm_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_registered_normal(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + gmm_fsm_state_chg(fi, ST_GMM_COMMON_PROC_INIT); + break; + /* case E_GMM_NET_INIT_DETACH_REQ: + gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED_INIT); + break; */ + /* case E_GMM_MS_INIT_DETACH_REQ: + gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; */ + case E_GMM_SUSPEND: + gmm_fsm_state_chg(fi, ST_GMM_REGISTERED_SUSPENDED); + break; + } +} + +static void st_gmm_registered_suspended(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + case E_GMM_RESUME: + gmm_fsm_state_chg(fi, ST_GMM_REGISTERED_NORMAL); + break; + } +} + +static void st_gmm_deregistered_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch(event) { + /* TODO: events not used in osmo-sgsn code + case E_GMM_DETACH_ACCEPTED: + case E_GMM_LOWER_LAYER_FAILED: + gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + */ + } +} + +static struct osmo_fsm_state gmm_fsm_states[] = { + [ST_GMM_DEREGISTERED] = { + .in_event_mask = + X(E_GMM_COMMON_PROC_INIT_REQ) | + X(E_GMM_ATTACH_SUCCESS), + .out_state_mask = X(ST_GMM_COMMON_PROC_INIT), + .name = "Deregistered", + .action = st_gmm_deregistered, + }, + [ST_GMM_COMMON_PROC_INIT] = { + .in_event_mask = + /* X(E_GMM_LOWER_LAYER_FAILED) | */ + /* X(E_GMM_COMMON_PROC_FAILED) | */ + X(E_GMM_COMMON_PROC_SUCCESS) | + X(E_GMM_ATTACH_SUCCESS), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_REGISTERED_NORMAL), + .name = "CommonProcedureInitiated", + .action = st_gmm_common_proc_init, + }, + [ST_GMM_REGISTERED_NORMAL] = { + .in_event_mask = + X(E_GMM_COMMON_PROC_INIT_REQ) | + /* X(E_GMM_NET_INIT_DETACH_REQ) | */ + /* X(E_GMM_MS_INIT_DETACH_REQ) | */ + X(E_GMM_SUSPEND), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_COMMON_PROC_INIT) | + X(ST_GMM_DEREGISTERED_INIT) | + X(ST_GMM_REGISTERED_SUSPENDED), + .name = "Registered.NORMAL", + .action = st_gmm_registered_normal, + }, + [ST_GMM_REGISTERED_SUSPENDED] = { + .in_event_mask = X(E_GMM_RESUME), + .out_state_mask = + X(ST_GMM_DEREGISTERED) | + X(ST_GMM_REGISTERED_NORMAL), + .name = "Registered.SUSPENDED", + .action = st_gmm_registered_suspended, + }, + [ST_GMM_DEREGISTERED_INIT] = { + .in_event_mask = 0 + /* X(E_GMM_DETACH_ACCEPTED) | */ + /* X(E_GMM_LOWER_LAYER_FAILED) */, + .out_state_mask = X(ST_GMM_DEREGISTERED), + .name = "DeregisteredInitiated", + .action = st_gmm_deregistered_init, + }, +}; + +const struct value_string gmm_fsm_event_names[] = { + OSMO_VALUE_STRING(E_GMM_COMMON_PROC_INIT_REQ), + /* OSMO_VALUE_STRING(E_GMM_COMMON_PROC_FAILED), */ + /* OSMO_VALUE_STRING(E_GMM_LOWER_LAYER_FAILED), */ + OSMO_VALUE_STRING(E_GMM_COMMON_PROC_SUCCESS), + OSMO_VALUE_STRING(E_GMM_ATTACH_SUCCESS), + /* OSMO_VALUE_STRING(E_GMM_NET_INIT_DETACH_REQ), */ + /* OSMO_VALUE_STRING(E_GMM_MS_INIT_DETACH_REQ), */ + /* OSMO_VALUE_STRING(E_GMM_DETACH_ACCEPTED), */ + OSMO_VALUE_STRING(E_GMM_SUSPEND), + OSMO_VALUE_STRING(E_GMM_CLEANUP), + { 0, NULL } +}; + +void gmm_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + switch (event) { + case E_GMM_CLEANUP: + switch (fi->state) { + case ST_GMM_DEREGISTERED: + break; + default: + gmm_fsm_state_chg(fi, ST_GMM_DEREGISTERED); + break; + } + } +} + +int gmm_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + return 0; +} + +struct osmo_fsm gmm_fsm = { + .name = "GMM", + .states = gmm_fsm_states, + .num_states = ARRAY_SIZE(gmm_fsm_states), + .event_names = gmm_fsm_event_names, + .allstate_event_mask = X(E_GMM_CLEANUP), + .allstate_action = gmm_fsm_allstate_action, + .log_subsys = DMM, + .timer_cb = gmm_fsm_timer_cb, +}; + +static __attribute__((constructor)) void gmm_fsm_init(void) +{ + osmo_fsm_register(&gmm_fsm); +} diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 387c0d5..1c23d06 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -234,7 +235,6 @@ if (!ctx) return NULL; - ctx->gmm_state = GMM_DEREGISTERED; ctx->auth_triplet.key_seq = GSM_KEY_SEQ_INVAL; ctx->ctrg = rate_ctr_group_alloc(ctx, &mmctx_ctrg_desc, rate_ctr_id); if (!ctx->ctrg) { @@ -242,6 +242,7 @@ talloc_free(ctx); return NULL; } + ctx->gmm_fsm = osmo_fsm_inst_alloc(&gmm_fsm, ctx, ctx, LOGL_DEBUG, "gmm_fsm"); ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); INIT_LLIST_HEAD(&ctx->pdp_list); @@ -368,6 +369,8 @@ osmo_fsm_inst_free(mm->gb.mm_state_fsm); if (mm->iu.mm_state_fsm) osmo_fsm_inst_free(mm->iu.mm_state_fsm); + if (mm->gmm_fsm) + osmo_fsm_inst_free(mm->gmm_fsm); sgsn_mm_ctx_free(mm); mm = NULL; @@ -736,7 +739,7 @@ { /* the MM context can be deleted while the GGSN is not reachable or * if has been crashed. */ - if (pctx->mm && pctx->mm->gmm_state == GMM_REGISTERED_NORMAL) { + if (pctx->mm && pctx->mm->gmm_fsm->state == ST_GMM_REGISTERED_NORMAL) { gsm48_tx_gsm_deact_pdp_req(pctx, GSM_CAUSE_NET_FAIL, true); sgsn_ggsn_ctx_remove_pdp(pctx->ggsn, pctx); } else { diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 5e3f48f..f6d7a69 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -655,8 +656,8 @@ msgb_bvci(msg) = mm->gb.bvci; msgb_nsei(msg) = mm->gb.nsei; - switch (mm->gmm_state) { - case GMM_REGISTERED_SUSPENDED: + switch (mm->gmm_fsm->state) { + case ST_GMM_REGISTERED_SUSPENDED: /* initiate PS PAGING procedure */ memset(&pinfo, 0, sizeof(pinfo)); pinfo.mode = BSSGP_PAGING_PS; @@ -670,11 +671,11 @@ rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PAGING_PS]); /* FIXME: queue the packet we received from GTP */ break; - case GMM_REGISTERED_NORMAL: + case ST_GMM_REGISTERED_NORMAL: break; default: LOGP(DGPRS, LOGL_ERROR, "GTP DATA IND for TLLI %08X in state " - "%u\n", mm->gb.tlli, mm->gmm_state); + "%s\n", mm->gb.tlli, osmo_fsm_inst_state_name(mm->gmm_fsm)); msgb_free(msg); return -1; } diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 184ece7..9200822 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -476,15 +476,6 @@ return add_apn_ggsn_mapping(vty, argv[0], argv[1], atoi(argv[2])); } -const struct value_string gprs_mm_st_strs[] = { - { GMM_DEREGISTERED, "DEREGISTERED" }, - { GMM_COMMON_PROC_INIT, "COMMON PROCEDURE (INIT)" }, - { GMM_REGISTERED_NORMAL, "REGISTERED (NORMAL)" }, - { GMM_REGISTERED_SUSPENDED, "REGISTERED (SUSPENDED)" }, - { GMM_DEREGISTERED_INIT, "DEREGISTERED (INIT)" }, - { 0, NULL } -}; - char *sgsn_gtp_ntoa(struct ul16_t *ul) { struct in_addr ia; @@ -546,7 +537,7 @@ vty_out(vty, "%s MSISDN: %s, TLLI: %08x%s HLR: %s", pfx, mm->msisdn, id, mm->hlr, VTY_NEWLINE); vty_out(vty, "%s GMM State: %s, Routeing Area: %s, Cell ID: %u%s", - pfx, get_value_string(gprs_mm_st_strs, mm->gmm_state), + pfx, osmo_fsm_inst_state_name(mm->gmm_fsm), osmo_rai_name(&mm->ra), mm->gb.cell_id, VTY_NEWLINE); vty_out(vty, "%s MM State: %s, RAN Type: %s%s", pfx, mm_state_name, get_value_string(sgsn_ran_type_names, mm->ran_type), VTY_NEWLINE); diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 7ba70eb..9afe0f7 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -48,6 +48,7 @@ $(top_builddir)/src/sgsn/gprs_sndcp.o \ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ $(top_builddir)/src/sgsn/gprs_gmm.o \ + $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \ $(top_builddir)/src/sgsn/gprs_sgsn.o \ diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c index cc25d47..7399573 100644 --- a/tests/sgsn/sgsn_test.c +++ b/tests/sgsn/sgsn_test.c @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -192,7 +193,6 @@ lle = gprs_lle_get_or_create(tlli, 3); ctx = sgsn_mm_ctx_alloc_gb(tlli, raid); - ctx->gmm_state = GMM_REGISTERED_NORMAL; ctx->gb.llme = lle->llme; ictx = sgsn_mm_ctx_by_tlli(tlli, raid); @@ -1286,7 +1286,7 @@ ctx = sgsn_mm_ctx_by_tlli(foreign_tlli, &raid); OSMO_ASSERT(ctx != NULL); - OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT); + OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_COMMON_PROC_INIT); /* we expect an identity request (IMEI) */ OSMO_ASSERT(sgsn_tx_counter == 1); @@ -1306,7 +1306,7 @@ * authorization */ OSMO_ASSERT(ctx == sgsn_mm_ctx_by_tlli(foreign_tlli, &raid)); - OSMO_ASSERT(ctx->gmm_state == GMM_COMMON_PROC_INIT); + OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_COMMON_PROC_INIT); /* we expect an attach accept/reject */ OSMO_ASSERT(sgsn_tx_counter == 1); @@ -1320,7 +1320,7 @@ send_0408_message(ctx->gb.llme, foreign_tlli, &raid, attach_compl, ARRAY_SIZE(attach_compl)); - OSMO_ASSERT(ctx->gmm_state == GMM_REGISTERED_NORMAL); + OSMO_ASSERT(ctx->gmm_fsm->state == ST_GMM_REGISTERED_NORMAL); /* we don't expect a response */ OSMO_ASSERT(sgsn_tx_counter == 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07 Gerrit-Change-Number: 15385 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:03 +0000 Subject: Change in ...osmo-sgsn[master]: Split out GPRS SM layer into its own file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 ) Change subject: Split out GPRS SM layer into its own file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d Gerrit-Change-Number: 15386 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:07:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:07:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 19:07:04 +0000 Subject: Change in ...osmo-sgsn[master]: Split out GPRS SM layer into its own file In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 ) Change subject: Split out GPRS SM layer into its own file ...................................................................... Split out GPRS SM layer into its own file Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d --- M include/osmocom/sgsn/Makefile.am M include/osmocom/sgsn/gprs_gmm.h A include/osmocom/sgsn/gprs_sm.h M src/sgsn/Makefile.am M src/sgsn/gprs_gb.c M src/sgsn/gprs_gmm.c M src/sgsn/gprs_ranap.c M src/sgsn/gprs_sgsn.c A src/sgsn/gprs_sm.c M src/sgsn/sgsn_libgtp.c M tests/sgsn/Makefile.am 11 files changed, 780 insertions(+), 709 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 9ddc2bc..3fdb6b3 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -14,6 +14,7 @@ gprs_llc_xid.h \ gprs_ranap.h \ gprs_sgsn.h \ + gprs_sm.h \ gprs_sndcp_comp.h \ gprs_sndcp_dcomp.h \ gprs_sndcp.h \ diff --git a/include/osmocom/sgsn/gprs_gmm.h b/include/osmocom/sgsn/gprs_gmm.h index 982cd93..e2b17d2 100644 --- a/include/osmocom/sgsn/gprs_gmm.h +++ b/include/osmocom/sgsn/gprs_gmm.h @@ -6,21 +6,16 @@ #include -int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown); -int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t cause, uint8_t pco_len, uint8_t *pco_v); -int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp); -int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp); int gsm48_tx_gmm_auth_ciph_req(struct sgsn_mm_ctx *mm, const struct osmo_auth_vector *vec, uint8_t key_seq, bool force_standby); int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); -int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, - struct gprs_llc_llme *llme); int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); +int gsm48_gmm_sendmsg(struct msgb *msg, int command, + struct sgsn_mm_ctx *mm, bool encryptable); int gsm0408_gprs_force_reattach(struct sgsn_mm_ctx *mmctx); int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg, struct gprs_llc_llme *llme); @@ -47,7 +42,6 @@ void extract_subscr_msisdn(struct sgsn_mm_ctx *ctx); void extract_subscr_hlr(struct sgsn_mm_ctx *ctx); -void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); - void msgid2mmctx(struct sgsn_mm_ctx *mm, const struct msgb *msg); +void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm); #endif /* _GPRS_GMM_H */ diff --git a/include/osmocom/sgsn/gprs_sm.h b/include/osmocom/sgsn/gprs_sm.h new file mode 100644 index 0000000..55c95b8 --- /dev/null +++ b/include/osmocom/sgsn/gprs_sm.h @@ -0,0 +1,15 @@ +#pragma once + +#include +#include + +int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown); +int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t cause, uint8_t pco_len, uint8_t *pco_v); +int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp); +int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp); + +void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp); + +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme); diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 4402c9c..8bc1abb 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -48,6 +48,7 @@ gprs_mm_state_iu_fsm.c \ gprs_ranap.c \ gprs_sgsn.c \ + gprs_sm.c \ gprs_sndcp.c \ gprs_sndcp_comp.c \ gprs_sndcp_dcomp.c \ diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 65342cf..2d9c25a 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -31,6 +31,7 @@ #include #include #include +#include #include /* Main entry point for incoming 04.08 GPRS messages from Gb */ diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 3317a09..afae369 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -29,7 +29,6 @@ #include #include #include -#include #include "bscconfig.h" @@ -42,7 +41,6 @@ #include #include #include -#include #include #include @@ -66,9 +64,6 @@ #define PTMSI_ALLOC -/* 3GPP TS 04.08 sec 6.1.3.4.3(.a) "Abnormal cases" */ -#define T339X_MAX_RETRANS 4 - extern struct sgsn_instance *sgsn; extern void *tall_sgsn_ctx; @@ -91,20 +86,6 @@ }, }; -static const struct tlv_definition gsm48_sm_att_tlvdef = { - .def = { - [GSM48_IE_GSM_APN] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_PROTO_CONF_OPT] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_PDP_ADDR] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_AA_TMR] = { TLV_TYPE_TV, 1 }, - [GSM48_IE_GSM_NAME_FULL] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_NAME_SHORT] = { TLV_TYPE_TLV, 0 }, - [GSM48_IE_GSM_TIMEZONE] = { TLV_TYPE_FIXED, 1 }, - [GSM48_IE_GSM_UTC_AND_TZ] = { TLV_TYPE_FIXED, 7 }, - [GSM48_IE_GSM_LSA_ID] = { TLV_TYPE_TLV, 0 }, - }, -}; - /* Our implementation, should be kept in SGSN */ static void mmctx_timer_cb(void *_mm); @@ -146,7 +127,7 @@ /* Send a message through the underlying layer. * For param encryptable, see 3GPP TS 24.008 ? 4.7.1.2 and * gsm48_hdr_gmm_cipherable(). Pass false for not cipherable messages. */ -static int gsm48_gmm_sendmsg(struct msgb *msg, int command, +int gsm48_gmm_sendmsg(struct msgb *msg, int command, struct sgsn_mm_ctx *mm, bool encryptable) { if (mm) { @@ -199,7 +180,7 @@ } /* Store BVCI/NSEI in MM context */ -static void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm) +void mmctx2msgid(struct msgb *msg, const struct sgsn_mm_ctx *mm) { msgb_tlli(msg) = mm->gb.tlli; msgb_bvci(msg) = mm->gb.bvci; @@ -228,7 +209,7 @@ /* Chapter 9.4.18 */ static int _tx_status(struct msgb *msg, uint8_t cause, - struct sgsn_mm_ctx *mmctx, int sm) + struct sgsn_mm_ctx *mmctx) { struct gsm48_hdr *gh; @@ -238,13 +219,8 @@ get_value_string(gsm48_gmm_cause_names, cause)); gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); - if (sm) { - gh->proto_discr = GSM48_PDISC_SM_GPRS; - gh->msg_type = GSM48_MT_GSM_STATUS; - } else { - gh->proto_discr = GSM48_PDISC_MM_GPRS; - gh->msg_type = GSM48_MT_GMM_STATUS; - } + gh->proto_discr = GSM48_PDISC_MM_GPRS; + gh->msg_type = GSM48_MT_GMM_STATUS; gh->data[0] = cause; return gsm48_gmm_sendmsg(msg, 0, mmctx, true); @@ -255,15 +231,7 @@ struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 GMM STATUS"); mmctx2msgid(msg, mmctx); - return _tx_status(msg, cause, mmctx, 0); -} - -static int gsm48_tx_sm_status(struct sgsn_mm_ctx *mmctx, uint8_t cause) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 SM STATUS"); - - mmctx2msgid(msg, mmctx); - return _tx_status(msg, cause, mmctx, 1); + return _tx_status(msg, cause, mmctx); } static int _tx_detach_req(struct msgb *msg, uint8_t detach_type, uint8_t cause, @@ -306,29 +274,6 @@ return _tx_detach_req(msg, detach_type, cause, NULL); } -static struct gsm48_qos default_qos = { - .delay_class = 4, /* best effort */ - .reliab_class = GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT, - .peak_tput = GSM48_QOS_PEAK_TPUT_32000bps, - .preced_class = GSM48_QOS_PC_NORMAL, - .mean_tput = GSM48_QOS_MEAN_TPUT_BEST_EFFORT, - .traf_class = GSM48_QOS_TC_INTERACTIVE, - .deliv_order = GSM48_QOS_DO_UNORDERED, - .deliv_err_sdu = GSM48_QOS_ERRSDU_YES, - .max_sdu_size = GSM48_QOS_MAXSDU_1520, - .max_bitrate_up = GSM48_QOS_MBRATE_63k, - .max_bitrate_down = GSM48_QOS_MBRATE_63k, - .resid_ber = GSM48_QOS_RBER_5e_2, - .sdu_err_ratio = GSM48_QOS_SERR_1e_2, - .handling_prio = 3, - .xfer_delay = 0x10, /* 200ms */ - .guar_bitrate_up = GSM48_QOS_MBRATE_0k, - .guar_bitrate_down = GSM48_QOS_MBRATE_0k, - .sig_ind = 0, /* not optimised for signalling */ - .max_bitrate_down_ext = 0, /* use octet 9 */ - .guar_bitrate_down_ext = 0, /* use octet 13 */ -}; - /* Chapter 9.4.2: Attach accept */ int gsm48_tx_gmm_att_ack(struct sgsn_mm_ctx *mm) { @@ -2155,645 +2100,6 @@ } } -/* GPRS SESSION MANAGEMENT */ - -static void pdpctx_timer_cb(void *_mm); - - -static void pdpctx_timer_rearm(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - unsigned long seconds; - if (osmo_timer_pending(&pdp->timer)) - LOGPDPCTXP(LOGL_ERROR, pdp, "Scheduling PDP timer %u while old " - "timer %u pending\n", T, pdp->T); - seconds = osmo_tdef_get(sgsn->cfg.T_defs, T, OSMO_TDEF_S, -1); - osmo_timer_schedule(&pdp->timer, seconds, 0); -} - -static void pdpctx_timer_start(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - if (osmo_timer_pending(&pdp->timer)) - LOGPDPCTXP(LOGL_ERROR, pdp, "Starting PDP timer %u while old " - "timer %u pending\n", T, pdp->T); - pdp->T = T; - pdp->num_T_exp = 0; - - osmo_timer_setup(&pdp->timer, pdpctx_timer_cb, pdp); - pdpctx_timer_rearm(pdp, pdp->T); -} - -static void pdpctx_timer_stop(struct sgsn_pdp_ctx *pdp, unsigned int T) -{ - if (pdp->T != T) - LOGPDPCTXP(LOGL_ERROR, pdp, "Stopping PDP timer %u but " - "%u is running\n", T, pdp->T); - osmo_timer_del(&pdp->timer); -} - -void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp) -{ - /* Detach from MM context */ - llist_del(&pdp->list); - pdp->mm = NULL; - - /* stop timer 3395 */ - pdpctx_timer_stop(pdp, 3395); -} - -#if 0 -static void msgb_put_pdp_addr_ipv4(struct msgb *msg, uint32_t ipaddr) -{ - uint8_t v[6]; - - v[0] = PDP_TYPE_ORG_IETF; - v[1] = PDP_TYPE_N_IETF_IPv4; - *(uint32_t *)(v+2) = htonl(ipaddr); - - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); -} - -static void msgb_put_pdp_addr_ppp(struct msgb *msg) -{ - uint8_t v[2]; - - v[0] = PDP_TYPE_ORG_ETSI; - v[1] = PDP_TYPE_N_ETSI_PPP; - - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); -} -#endif - -/* 3GPP TS 24.008 ? 9.5.2: Activate PDP Context Accept */ -int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP ACC"); - struct gsm48_hdr *gh; - uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ - - LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); - - mmctx2msgid(msg, pdp->mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_ACT_PDP_ACK; - - /* Negotiated LLC SAPI */ - msgb_v_put(msg, pdp->sapi); - - /* FIXME: copy QoS parameters from original request */ - //msgb_lv_put(msg, pdp->lib->qos_neg.l, pdp->lib->qos_neg.v); - msgb_lv_put(msg, sizeof(default_qos), (uint8_t *)&default_qos); - - /* Radio priority 10.5.7.2 */ - msgb_v_put(msg, pdp->lib->radio_pri); - - /* PDP address */ - /* Highest 4 bits of first byte need to be set to 1, otherwise - * the IE is identical with the 04.08 PDP Address IE */ - pdp->lib->eua.v[0] &= ~0xf0; - msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, - pdp->lib->eua.l, pdp->lib->eua.v); - pdp->lib->eua.v[0] |= 0xf0; - - /* Optional: Protocol configuration options (FIXME: why 'req') */ - if (pdp->lib->pco_req.l) - msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, - pdp->lib->pco_req.l, pdp->lib->pco_req.v); - - /* Optional: Packet Flow Identifier */ - - return gsm48_gmm_sendmsg(msg, 0, pdp->mm, true); -} - -/* 3GPP TS 24.008 ? 9.5.3: Activate PDP Context reject */ -int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t cause, uint8_t pco_len, uint8_t *pco_v) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP REJ"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - - LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", - get_value_string(gsm48_gsm_cause_names, cause)); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_ACT_PDP_REJ; - - msgb_v_put(msg, cause); - if (pco_len && pco_v) - msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, pco_len, pco_v); - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} - -/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ -static int _gsm48_tx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, uint8_t tid, - uint8_t sm_cause, bool teardown) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET REQ"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); - - LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_DEACT_PDP_REQ; - - msgb_v_put(msg, sm_cause); - msgb_v_put(msg, tear_down_ind); - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} -int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown) -{ - pdpctx_timer_start(pdp, 3395); - - return _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, sm_cause, teardown); -} - -/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ -static int _gsm48_tx_gsm_deact_pdp_acc(struct sgsn_mm_ctx *mm, uint8_t tid) -{ - struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET ACC"); - struct gsm48_hdr *gh; - uint8_t transaction_id = tid ^ 0x8; /* flip */ - - LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); - - mmctx2msgid(msg, mm); - - gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); - gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); - gh->msg_type = GSM48_MT_GSM_DEACT_PDP_ACK; - - return gsm48_gmm_sendmsg(msg, 0, mm, true); -} -int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp) -{ - return _gsm48_tx_gsm_deact_pdp_acc(pdp->mm, pdp->ti); -} - -static int activate_ggsn(struct sgsn_mm_ctx *mmctx, - struct sgsn_ggsn_ctx *ggsn, const uint8_t transaction_id, - const uint8_t req_nsapi, const uint8_t req_llc_sapi, - struct tlv_parsed *tp, int destroy_ggsn) -{ - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_DEBUG, mmctx, "Using GGSN %u\n", ggsn->id); - ggsn->gsn = sgsn->gsn; - pdp = sgsn_create_pdp_ctx(ggsn, mmctx, req_nsapi, tp); - if (!pdp) - return -1; - - /* Store SAPI and Transaction Identifier */ - pdp->sapi = req_llc_sapi; - pdp->ti = transaction_id; - pdp->destroy_ggsn = destroy_ggsn; - - return 0; -} - -static void ggsn_lookup_cb(void *arg, int status, int timeouts, struct hostent *hostent) -{ - struct sgsn_ggsn_ctx *ggsn; - struct sgsn_ggsn_lookup *lookup = arg; - struct in_addr *addr = NULL; - char buf[INET_ADDRSTRLEN]; - - /* The context is gone while we made a request */ - if (!lookup->mmctx) { - talloc_free(lookup->orig_msg); - talloc_free(lookup); - return; - } - - if (status != ARES_SUCCESS) { - struct sgsn_mm_ctx *mmctx = lookup->mmctx; - - LOGMMCTXP(LOGL_ERROR, mmctx, "DNS query failed.\n"); - - /* Need to try with three digits now */ - if (lookup->state == SGSN_GGSN_2DIGIT) { - char *hostname; - int rc; - - lookup->state = SGSN_GGSN_3DIGIT; - hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, - lookup->apn_str, 1); - LOGMMCTXP(LOGL_DEBUG, mmctx, - "Going to query %s\n", hostname); - rc = sgsn_ares_query(sgsn, hostname, - ggsn_lookup_cb, lookup); - if (rc != 0) { - LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't start GGSN\n"); - goto reject_due_failure; - } - return; - } - - LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't resolve GGSN\n"); - goto reject_due_failure; - } - - if (hostent->h_length != sizeof(struct in_addr)) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, - "Wrong addr size(%zu)\n", sizeof(struct in_addr)); - goto reject_due_failure; - } - - /* Get the first addr from the list */ - addr = (struct in_addr *) hostent->h_addr_list[0]; - if (!addr) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "No host address.\n"); - goto reject_due_failure; - } - - ggsn = sgsn_ggsn_ctx_alloc(UINT32_MAX); - if (!ggsn) { - LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "Failed to create ggsn.\n"); - goto reject_due_failure; - } - ggsn->remote_addr = *addr; - LOGMMCTXP(LOGL_NOTICE, lookup->mmctx, - "Selected %s as GGSN.\n", - inet_ntop(AF_INET, addr, buf, sizeof(buf))); - - /* forget about the ggsn look-up */ - lookup->mmctx->ggsn_lookup = NULL; - - activate_ggsn(lookup->mmctx, ggsn, lookup->ti, lookup->nsapi, - lookup->sapi, &lookup->tp, 1); - - /* Now free it */ - talloc_free(lookup->orig_msg); - talloc_free(lookup); - return; - -reject_due_failure: - gsm48_tx_gsm_act_pdp_rej(lookup->mmctx, lookup->ti, - GMM_CAUSE_NET_FAIL, 0, NULL); - lookup->mmctx->ggsn_lookup = NULL; - talloc_free(lookup->orig_msg); - talloc_free(lookup); -} - -static int do_act_pdp_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, bool *delete) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - struct gsm48_act_pdp_ctx_req *act_req = (struct gsm48_act_pdp_ctx_req *) gh->data; - uint8_t req_qos_len, req_pdpa_len; - uint8_t *req_qos, *req_pdpa; - struct tlv_parsed tp; - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_ggsn_ctx *ggsn; - struct sgsn_pdp_ctx *pdp; - enum gsm48_gsm_cause gsm_cause; - char apn_str[GSM_APN_LENGTH] = { 0, }; - char *hostname; - int rc; - struct gprs_llc_lle *lle; - char buf[INET_ADDRSTRLEN]; - - LOGMMCTXP(LOGL_INFO, mmctx, "-> ACTIVATE PDP CONTEXT REQ: SAPI=%u NSAPI=%u ", - act_req->req_llc_sapi, act_req->req_nsapi); - - /* FIXME: length checks! */ - req_qos_len = act_req->data[0]; - req_qos = act_req->data + 1; /* 10.5.6.5 */ - req_pdpa_len = act_req->data[1 + req_qos_len]; - req_pdpa = act_req->data + 1 + req_qos_len + 1; /* 10.5.6.4 */ - - switch (req_pdpa[0] & 0xf) { - case 0x0: - DEBUGPC(DMM, "ETSI "); - break; - case 0x1: - DEBUGPC(DMM, "IETF "); - break; - case 0xf: - DEBUGPC(DMM, "Empty "); - break; - } - - switch (req_pdpa[1]) { - case 0x21: - DEBUGPC(DMM, "IPv4 "); - if (req_pdpa_len >= 6) { - struct in_addr ia; - ia.s_addr = ntohl(*((uint32_t *) (req_pdpa+2))); - DEBUGPC(DMM, "%s ", inet_ntop(AF_INET, &ia, buf, sizeof(buf))); - } - break; - case 0x57: - DEBUGPC(DMM, "IPv6 "); - if (req_pdpa_len >= 18) { - /* FIXME: print IPv6 address */ - } - break; - default: - DEBUGPC(DMM, "0x%02x ", req_pdpa[1]); - break; - } - - LOGPC(DMM, LOGL_INFO, "\n"); - - /* Check if NSAPI is out of range (TS 04.65 / 7.2) */ - if (act_req->req_nsapi < 5 || act_req->req_nsapi > 15) { - /* Send reject with GSM_CAUSE_INV_MAND_INFO */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_INV_MAND_INFO, - 0, NULL); - } - - /* Optional: Access Point Name, Protocol Config Options */ - if (req_pdpa + req_pdpa_len < msg->data + msg->len) - tlv_parse(&tp, &gsm48_sm_att_tlvdef, req_pdpa + req_pdpa_len, - (msg->data + msg->len) - (req_pdpa + req_pdpa_len), 0, 0); - else - memset(&tp, 0, sizeof(tp)); - - - /* put the non-TLV elements in the TLV parser structure to - * pass them on to the SGSN / GTP code */ - tp.lv[OSMO_IE_GSM_REQ_QOS].len = req_qos_len; - tp.lv[OSMO_IE_GSM_REQ_QOS].val = req_qos; - tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].len = req_pdpa_len; - tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].val = req_pdpa; - - /* Check if NSAPI is already in use */ - pdp = sgsn_pdp_ctx_by_nsapi(mmctx, act_req->req_nsapi); - if (pdp) { - /* We already have a PDP context for this TLLI + NSAPI tuple */ - if (pdp->sapi == act_req->req_llc_sapi && - pdp->ti == transaction_id) { - /* This apparently is a re-transmission of a PDP CTX - * ACT REQ (our ACT ACK must have got dropped) */ - rc = gsm48_tx_gsm_act_pdp_acc(pdp); - if (rc < 0) - return rc; - - if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { - /* Also re-transmit the SNDCP XID message */ - lle = &pdp->mm->gb.llme->lle[pdp->sapi]; - rc = sndcp_sn_xid_req(lle,pdp->nsapi); - if (rc < 0) - return rc; - } - - return 0; - } - - /* Send reject with GSM_CAUSE_NSAPI_IN_USE */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_NSAPI_IN_USE, - 0, NULL); - } - - if (mmctx->ggsn_lookup) { - if (mmctx->ggsn_lookup->sapi == act_req->req_llc_sapi && - mmctx->ggsn_lookup->ti == transaction_id) { - LOGMMCTXP(LOGL_NOTICE, mmctx, - "Re-transmission while doing look-up. Ignoring.\n"); - return 0; - } - } - - /* Only increment counter for a real activation, after we checked - * for re-transmissions */ - rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); - - /* Determine GGSN based on APN and subscription options */ - ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); - if (ggsn) - return activate_ggsn(mmctx, ggsn, transaction_id, - act_req->req_nsapi, act_req->req_llc_sapi, - &tp, 0); - - if (strlen(apn_str) == 0) - goto no_context; - if (!sgsn->cfg.dynamic_lookup) - goto no_context; - - /* schedule a dynamic look-up */ - mmctx->ggsn_lookup = talloc_zero(tall_sgsn_ctx, struct sgsn_ggsn_lookup); - if (!mmctx->ggsn_lookup) - goto no_context; - - mmctx->ggsn_lookup->state = SGSN_GGSN_2DIGIT; - mmctx->ggsn_lookup->mmctx = mmctx; - strcpy(mmctx->ggsn_lookup->apn_str, apn_str); - - mmctx->ggsn_lookup->orig_msg = msg; - mmctx->ggsn_lookup->tp = tp; - - mmctx->ggsn_lookup->ti = transaction_id; - mmctx->ggsn_lookup->nsapi = act_req->req_nsapi; - mmctx->ggsn_lookup->sapi = act_req->req_llc_sapi; - - hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, - mmctx->ggsn_lookup->apn_str, 0); - - LOGMMCTXP(LOGL_DEBUG, mmctx, "Going to query %s\n", hostname); - rc = sgsn_ares_query(sgsn, hostname, - ggsn_lookup_cb, mmctx->ggsn_lookup); - if (rc != 0) { - LOGMMCTXP(LOGL_ERROR, mmctx, "Failed to start ares query.\n"); - goto no_context; - } - *delete = 0; - - return 0; - -no_context: - LOGMMCTXP(LOGL_ERROR, mmctx, "No GGSN context found!\n"); - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - gsm_cause, 0, NULL); -} - -/* 3GPP TS 24.008 ? 9.5.1: Activate PDP Context Request */ -static int gsm48_rx_gsm_act_pdp_req(struct sgsn_mm_ctx *mmctx, - struct msgb *_msg) -{ - bool delete = 1; - struct msgb *msg; - int rc; - - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); - - /* - * This is painful. We might not have a static GGSN - * configuration and then would need to copy the msg - * and re-do most of this routine (or call it again - * and make sure it only goes through the dynamic - * resolving. The question is what to optimize for - * and the dynamic resolution will be the right thing - * in the long run. - */ - msg = bssgp_msgb_copy(_msg, __func__); - if (!msg) { - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(_msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - - LOGMMCTXP(LOGL_ERROR, mmctx, "-> ACTIVATE PDP CONTEXT REQ failed copy.\n"); - /* Send reject with GSM_CAUSE_INV_MAND_INFO */ - return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, - GSM_CAUSE_NET_FAIL, - 0, NULL); - } - - rc = do_act_pdp_req(mmctx, msg, &delete); - if (delete) - msgb_free(msg); - return rc; -} - -/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ -static int gsm48_rx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, struct msgb *msg) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", - get_value_string(gsm48_gsm_cause_names, gh->data[0])); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); - - pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); - if (!pdp) { - LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Request for " - "non-existing PDP Context (IMSI=%s, TI=%u)\n", - mm->imsi, transaction_id); - return _gsm48_tx_gsm_deact_pdp_acc(mm, transaction_id); - } - - return sgsn_delete_pdp_ctx(pdp); -} - -/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ -static int gsm48_rx_gsm_deact_pdp_ack(struct sgsn_mm_ctx *mm, struct msgb *msg) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - uint8_t transaction_id = gsm48_hdr_trans_id(gh); - struct sgsn_pdp_ctx *pdp; - - LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); - rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); - - pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); - if (!pdp) { - LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Accept for " - "non-existing PDP Context (IMSI=%s, TI=%u)\n", - mm->imsi, transaction_id); - return 0; - } - /* stop timer 3395 */ - pdpctx_timer_stop(pdp, 3395); - if (pdp->ggsn) - return sgsn_delete_pdp_ctx(pdp); - /* GTP side already detached, freeing */ - sgsn_pdp_ctx_free(pdp); - return 0; -} - -static int gsm48_rx_gsm_status(struct sgsn_mm_ctx *ctx, struct msgb *msg) -{ - struct gsm48_hdr *gh = msgb_l3(msg); - - LOGMMCTXP(LOGL_INFO, ctx, "-> GPRS SM STATUS (cause: %s)\n", - get_value_string(gsm48_gsm_cause_names, gh->data[0])); - - return 0; -} - -static void pdpctx_timer_cb(void *_pdp) -{ - struct sgsn_pdp_ctx *pdp = _pdp; - - pdp->num_T_exp++; - - switch (pdp->T) { - case 3395: /* waiting for PDP CTX DEACT ACK */ - if (pdp->num_T_exp > T339X_MAX_RETRANS) { - LOGPDPCTXP(LOGL_NOTICE, pdp, "T3395 expired > %d times\n", T339X_MAX_RETRANS); - pdp->state = PDP_STATE_INACTIVE; - if (pdp->ggsn) - sgsn_delete_pdp_ctx(pdp); - else - sgsn_pdp_ctx_free(pdp); - break; - } - _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, GSM_CAUSE_NET_FAIL, true); - pdpctx_timer_rearm(pdp, 3395); - break; - default: - LOGPDPCTXP(LOGL_ERROR, pdp, "timer expired in unknown mode %u\n", - pdp->T); - } -} - - -/* GPRS Session Management */ -int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, - struct gprs_llc_llme *llme) -{ - struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); - int rc; - - /* MMCTX can be NULL when called */ - - if (!mmctx) { - LOGGBIUP(llme, msg, LOGL_NOTICE, "Cannot handle SM for unknown MM CTX\n"); - /* 6.1.3.6 */ - if (gh->msg_type == GSM48_MT_GSM_STATUS) - return 0; - - return gsm0408_gprs_force_reattach_oldmsg(msg, llme); - } - - switch (gh->msg_type) { - case GSM48_MT_GSM_ACT_PDP_REQ: - rc = gsm48_rx_gsm_act_pdp_req(mmctx, msg); - break; - case GSM48_MT_GSM_DEACT_PDP_REQ: - rc = gsm48_rx_gsm_deact_pdp_req(mmctx, msg); - break; - case GSM48_MT_GSM_DEACT_PDP_ACK: - rc = gsm48_rx_gsm_deact_pdp_ack(mmctx, msg); - break; - case GSM48_MT_GSM_STATUS: - rc = gsm48_rx_gsm_status(mmctx, msg); - break; - case GSM48_MT_GSM_REQ_PDP_ACT_REJ: - case GSM48_MT_GSM_ACT_AA_PDP_REQ: - case GSM48_MT_GSM_DEACT_AA_PDP_REQ: - LOGMMCTXP(LOGL_NOTICE, mmctx, "Unimplemented GSM 04.08 GSM msg type 0x%02x: %s\n", - gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); - break; - default: - LOGMMCTXP(LOGL_NOTICE, mmctx, "Unknown GSM 04.08 GSM msg type 0x%02x: %s\n", - gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); - rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); - break; - - } - - return rc; -} - int gsm0408_gprs_force_reattach_oldmsg(struct msgb *msg, struct gprs_llc_llme *llme) { diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 027b666..27b9641 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 1c23d06..189f7bb 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c new file mode 100644 index 0000000..8cf5c5d --- /dev/null +++ b/src/sgsn/gprs_sm.c @@ -0,0 +1,749 @@ +/* Section "9.5 GPRS Session Management Messages" + * 3GPP TS 04.08 version 7.21.0 Release 1998 / ETSI TS 100 940 V7.21.0 */ + +/* (C) 2009-2015 by Harald Welte + * (C) 2010 by On-Waves + * (C) 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include + +#include "bscconfig.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +extern void *tall_sgsn_ctx; + +/* 3GPP TS 04.08 sec 6.1.3.4.3(.a) "Abnormal cases" */ +#define T339X_MAX_RETRANS 4 + +static const struct tlv_definition gsm48_sm_att_tlvdef = { + .def = { + [GSM48_IE_GSM_APN] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_PROTO_CONF_OPT] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_PDP_ADDR] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_AA_TMR] = { TLV_TYPE_TV, 1 }, + [GSM48_IE_GSM_NAME_FULL] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_NAME_SHORT] = { TLV_TYPE_TLV, 0 }, + [GSM48_IE_GSM_TIMEZONE] = { TLV_TYPE_FIXED, 1 }, + [GSM48_IE_GSM_UTC_AND_TZ] = { TLV_TYPE_FIXED, 7 }, + [GSM48_IE_GSM_LSA_ID] = { TLV_TYPE_TLV, 0 }, + }, +}; + +static struct gsm48_qos default_qos = { + .delay_class = 4, /* best effort */ + .reliab_class = GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT, + .peak_tput = GSM48_QOS_PEAK_TPUT_32000bps, + .preced_class = GSM48_QOS_PC_NORMAL, + .mean_tput = GSM48_QOS_MEAN_TPUT_BEST_EFFORT, + .traf_class = GSM48_QOS_TC_INTERACTIVE, + .deliv_order = GSM48_QOS_DO_UNORDERED, + .deliv_err_sdu = GSM48_QOS_ERRSDU_YES, + .max_sdu_size = GSM48_QOS_MAXSDU_1520, + .max_bitrate_up = GSM48_QOS_MBRATE_63k, + .max_bitrate_down = GSM48_QOS_MBRATE_63k, + .resid_ber = GSM48_QOS_RBER_5e_2, + .sdu_err_ratio = GSM48_QOS_SERR_1e_2, + .handling_prio = 3, + .xfer_delay = 0x10, /* 200ms */ + .guar_bitrate_up = GSM48_QOS_MBRATE_0k, + .guar_bitrate_down = GSM48_QOS_MBRATE_0k, + .sig_ind = 0, /* not optimised for signalling */ + .max_bitrate_down_ext = 0, /* use octet 9 */ + .guar_bitrate_down_ext = 0, /* use octet 13 */ +}; + +/* GPRS SESSION MANAGEMENT */ + +static void pdpctx_timer_cb(void *_mm); + +static void pdpctx_timer_rearm(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + unsigned long seconds; + if (osmo_timer_pending(&pdp->timer)) + LOGPDPCTXP(LOGL_ERROR, pdp, "Scheduling PDP timer %u while old " + "timer %u pending\n", T, pdp->T); + seconds = osmo_tdef_get(sgsn->cfg.T_defs, T, OSMO_TDEF_S, -1); + osmo_timer_schedule(&pdp->timer, seconds, 0); +} + +static void pdpctx_timer_start(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + if (osmo_timer_pending(&pdp->timer)) + LOGPDPCTXP(LOGL_ERROR, pdp, "Starting PDP timer %u while old " + "timer %u pending\n", T, pdp->T); + pdp->T = T; + pdp->num_T_exp = 0; + + osmo_timer_setup(&pdp->timer, pdpctx_timer_cb, pdp); + pdpctx_timer_rearm(pdp, pdp->T); +} + +static void pdpctx_timer_stop(struct sgsn_pdp_ctx *pdp, unsigned int T) +{ + if (pdp->T != T) + LOGPDPCTXP(LOGL_ERROR, pdp, "Stopping PDP timer %u but " + "%u is running\n", T, pdp->T); + osmo_timer_del(&pdp->timer); +} + +void pdp_ctx_detach_mm_ctx(struct sgsn_pdp_ctx *pdp) +{ + /* Detach from MM context */ + llist_del(&pdp->list); + pdp->mm = NULL; + + /* stop timer 3395 */ + pdpctx_timer_stop(pdp, 3395); +} + +#if 0 +static void msgb_put_pdp_addr_ipv4(struct msgb *msg, uint32_t ipaddr) +{ + uint8_t v[6]; + + v[0] = PDP_TYPE_ORG_IETF; + v[1] = PDP_TYPE_N_IETF_IPv4; + *(uint32_t *)(v+2) = htonl(ipaddr); + + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); +} + +static void msgb_put_pdp_addr_ppp(struct msgb *msg) +{ + uint8_t v[2]; + + v[0] = PDP_TYPE_ORG_ETSI; + v[1] = PDP_TYPE_N_ETSI_PPP; + + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, sizeof(v), v); +} +#endif + +/* Chapter 9.4.18 */ +static int _tx_status(struct msgb *msg, uint8_t cause, + struct sgsn_mm_ctx *mmctx) +{ + struct gsm48_hdr *gh; + + /* MMCTX might be NULL! */ + + DEBUGP(DMM, "<- GPRS MM STATUS (cause: %s)\n", + get_value_string(gsm48_gmm_cause_names, cause)); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh) + 1); + gh->proto_discr = GSM48_PDISC_SM_GPRS; + gh->msg_type = GSM48_MT_GSM_STATUS; + gh->data[0] = cause; + + return gsm48_gmm_sendmsg(msg, 0, mmctx, true); +} + +static int gsm48_tx_sm_status(struct sgsn_mm_ctx *mmctx, uint8_t cause) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 SM STATUS"); + + mmctx2msgid(msg, mmctx); + return _tx_status(msg, cause, mmctx); +} + +/* 3GPP TS 24.008 ? 9.5.2: Activate PDP Context Accept */ +int gsm48_tx_gsm_act_pdp_acc(struct sgsn_pdp_ctx *pdp) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP ACC"); + struct gsm48_hdr *gh; + uint8_t transaction_id = pdp->ti ^ 0x8; /* flip */ + + LOGPDPCTXP(LOGL_INFO, pdp, "<- ACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_ACCEPT]); + + mmctx2msgid(msg, pdp->mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_ACT_PDP_ACK; + + /* Negotiated LLC SAPI */ + msgb_v_put(msg, pdp->sapi); + + /* FIXME: copy QoS parameters from original request */ + //msgb_lv_put(msg, pdp->lib->qos_neg.l, pdp->lib->qos_neg.v); + msgb_lv_put(msg, sizeof(default_qos), (uint8_t *)&default_qos); + + /* Radio priority 10.5.7.2 */ + msgb_v_put(msg, pdp->lib->radio_pri); + + /* PDP address */ + /* Highest 4 bits of first byte need to be set to 1, otherwise + * the IE is identical with the 04.08 PDP Address IE */ + pdp->lib->eua.v[0] &= ~0xf0; + msgb_tlv_put(msg, GSM48_IE_GSM_PDP_ADDR, + pdp->lib->eua.l, pdp->lib->eua.v); + pdp->lib->eua.v[0] |= 0xf0; + + /* Optional: Protocol configuration options (FIXME: why 'req') */ + if (pdp->lib->pco_req.l) + msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, + pdp->lib->pco_req.l, pdp->lib->pco_req.v); + + /* Optional: Packet Flow Identifier */ + + return gsm48_gmm_sendmsg(msg, 0, pdp->mm, true); +} + +/* 3GPP TS 24.008 ? 9.5.3: Activate PDP Context reject */ +int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t cause, uint8_t pco_len, uint8_t *pco_v) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP REJ"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + + LOGMMCTXP(LOGL_NOTICE, mm, "<- ACTIVATE PDP CONTEXT REJ: %s\n", + get_value_string(gsm48_gsm_cause_names, cause)); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REJECT]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_ACT_PDP_REJ; + + msgb_v_put(msg, cause); + if (pco_len && pco_v) + msgb_tlv_put(msg, GSM48_IE_GSM_PROTO_CONF_OPT, pco_len, pco_v); + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} + +/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ +static int _gsm48_tx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, uint8_t tid, + uint8_t sm_cause, bool teardown) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET REQ"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + uint8_t tear_down_ind = (0x9 << 4) | (!!teardown); + + LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT REQ\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_REQUEST]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_DEACT_PDP_REQ; + + msgb_v_put(msg, sm_cause); + msgb_v_put(msg, tear_down_ind); + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} +int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause, bool teardown) +{ + pdpctx_timer_start(pdp, 3395); + + return _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, sm_cause, teardown); +} + +/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ +static int _gsm48_tx_gsm_deact_pdp_acc(struct sgsn_mm_ctx *mm, uint8_t tid) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 PDP DET ACC"); + struct gsm48_hdr *gh; + uint8_t transaction_id = tid ^ 0x8; /* flip */ + + LOGMMCTXP(LOGL_INFO, mm, "<- DEACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_DL_DEACTIVATE_ACCEPT]); + + mmctx2msgid(msg, mm); + + gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + gh->proto_discr = GSM48_PDISC_SM_GPRS | (transaction_id << 4); + gh->msg_type = GSM48_MT_GSM_DEACT_PDP_ACK; + + return gsm48_gmm_sendmsg(msg, 0, mm, true); +} +int gsm48_tx_gsm_deact_pdp_acc(struct sgsn_pdp_ctx *pdp) +{ + return _gsm48_tx_gsm_deact_pdp_acc(pdp->mm, pdp->ti); +} + +static int activate_ggsn(struct sgsn_mm_ctx *mmctx, + struct sgsn_ggsn_ctx *ggsn, const uint8_t transaction_id, + const uint8_t req_nsapi, const uint8_t req_llc_sapi, + struct tlv_parsed *tp, int destroy_ggsn) +{ + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_DEBUG, mmctx, "Using GGSN %u\n", ggsn->id); + ggsn->gsn = sgsn->gsn; + pdp = sgsn_create_pdp_ctx(ggsn, mmctx, req_nsapi, tp); + if (!pdp) + return -1; + + /* Store SAPI and Transaction Identifier */ + pdp->sapi = req_llc_sapi; + pdp->ti = transaction_id; + pdp->destroy_ggsn = destroy_ggsn; + + return 0; +} + +static void ggsn_lookup_cb(void *arg, int status, int timeouts, struct hostent *hostent) +{ + struct sgsn_ggsn_ctx *ggsn; + struct sgsn_ggsn_lookup *lookup = arg; + struct in_addr *addr = NULL; + char buf[INET_ADDRSTRLEN]; + + /* The context is gone while we made a request */ + if (!lookup->mmctx) { + talloc_free(lookup->orig_msg); + talloc_free(lookup); + return; + } + + if (status != ARES_SUCCESS) { + struct sgsn_mm_ctx *mmctx = lookup->mmctx; + + LOGMMCTXP(LOGL_ERROR, mmctx, "DNS query failed.\n"); + + /* Need to try with three digits now */ + if (lookup->state == SGSN_GGSN_2DIGIT) { + char *hostname; + int rc; + + lookup->state = SGSN_GGSN_3DIGIT; + hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, + lookup->apn_str, 1); + LOGMMCTXP(LOGL_DEBUG, mmctx, + "Going to query %s\n", hostname); + rc = sgsn_ares_query(sgsn, hostname, + ggsn_lookup_cb, lookup); + if (rc != 0) { + LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't start GGSN\n"); + goto reject_due_failure; + } + return; + } + + LOGMMCTXP(LOGL_ERROR, mmctx, "Couldn't resolve GGSN\n"); + goto reject_due_failure; + } + + if (hostent->h_length != sizeof(struct in_addr)) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, + "Wrong addr size(%zu)\n", sizeof(struct in_addr)); + goto reject_due_failure; + } + + /* Get the first addr from the list */ + addr = (struct in_addr *) hostent->h_addr_list[0]; + if (!addr) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "No host address.\n"); + goto reject_due_failure; + } + + ggsn = sgsn_ggsn_ctx_alloc(UINT32_MAX); + if (!ggsn) { + LOGMMCTXP(LOGL_ERROR, lookup->mmctx, "Failed to create ggsn.\n"); + goto reject_due_failure; + } + ggsn->remote_addr = *addr; + LOGMMCTXP(LOGL_NOTICE, lookup->mmctx, + "Selected %s as GGSN.\n", + inet_ntop(AF_INET, addr, buf, sizeof(buf))); + + /* forget about the ggsn look-up */ + lookup->mmctx->ggsn_lookup = NULL; + + activate_ggsn(lookup->mmctx, ggsn, lookup->ti, lookup->nsapi, + lookup->sapi, &lookup->tp, 1); + + /* Now free it */ + talloc_free(lookup->orig_msg); + talloc_free(lookup); + return; + +reject_due_failure: + gsm48_tx_gsm_act_pdp_rej(lookup->mmctx, lookup->ti, + GMM_CAUSE_NET_FAIL, 0, NULL); + lookup->mmctx->ggsn_lookup = NULL; + talloc_free(lookup->orig_msg); + talloc_free(lookup); +} + +static int do_act_pdp_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, bool *delete) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + struct gsm48_act_pdp_ctx_req *act_req = (struct gsm48_act_pdp_ctx_req *) gh->data; + uint8_t req_qos_len, req_pdpa_len; + uint8_t *req_qos, *req_pdpa; + struct tlv_parsed tp; + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_ggsn_ctx *ggsn; + struct sgsn_pdp_ctx *pdp; + enum gsm48_gsm_cause gsm_cause; + char apn_str[GSM_APN_LENGTH] = { 0, }; + char *hostname; + int rc; + struct gprs_llc_lle *lle; + char buf[INET_ADDRSTRLEN]; + + LOGMMCTXP(LOGL_INFO, mmctx, "-> ACTIVATE PDP CONTEXT REQ: SAPI=%u NSAPI=%u ", + act_req->req_llc_sapi, act_req->req_nsapi); + + /* FIXME: length checks! */ + req_qos_len = act_req->data[0]; + req_qos = act_req->data + 1; /* 10.5.6.5 */ + req_pdpa_len = act_req->data[1 + req_qos_len]; + req_pdpa = act_req->data + 1 + req_qos_len + 1; /* 10.5.6.4 */ + + switch (req_pdpa[0] & 0xf) { + case 0x0: + DEBUGPC(DMM, "ETSI "); + break; + case 0x1: + DEBUGPC(DMM, "IETF "); + break; + case 0xf: + DEBUGPC(DMM, "Empty "); + break; + } + + switch (req_pdpa[1]) { + case 0x21: + DEBUGPC(DMM, "IPv4 "); + if (req_pdpa_len >= 6) { + struct in_addr ia; + ia.s_addr = ntohl(*((uint32_t *) (req_pdpa+2))); + DEBUGPC(DMM, "%s ", inet_ntop(AF_INET, &ia, buf, sizeof(buf))); + } + break; + case 0x57: + DEBUGPC(DMM, "IPv6 "); + if (req_pdpa_len >= 18) { + /* FIXME: print IPv6 address */ + } + break; + default: + DEBUGPC(DMM, "0x%02x ", req_pdpa[1]); + break; + } + + LOGPC(DMM, LOGL_INFO, "\n"); + + /* Check if NSAPI is out of range (TS 04.65 / 7.2) */ + if (act_req->req_nsapi < 5 || act_req->req_nsapi > 15) { + /* Send reject with GSM_CAUSE_INV_MAND_INFO */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_INV_MAND_INFO, + 0, NULL); + } + + /* Optional: Access Point Name, Protocol Config Options */ + if (req_pdpa + req_pdpa_len < msg->data + msg->len) + tlv_parse(&tp, &gsm48_sm_att_tlvdef, req_pdpa + req_pdpa_len, + (msg->data + msg->len) - (req_pdpa + req_pdpa_len), 0, 0); + else + memset(&tp, 0, sizeof(tp)); + + + /* put the non-TLV elements in the TLV parser structure to + * pass them on to the SGSN / GTP code */ + tp.lv[OSMO_IE_GSM_REQ_QOS].len = req_qos_len; + tp.lv[OSMO_IE_GSM_REQ_QOS].val = req_qos; + tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].len = req_pdpa_len; + tp.lv[OSMO_IE_GSM_REQ_PDP_ADDR].val = req_pdpa; + + /* Check if NSAPI is already in use */ + pdp = sgsn_pdp_ctx_by_nsapi(mmctx, act_req->req_nsapi); + if (pdp) { + /* We already have a PDP context for this TLLI + NSAPI tuple */ + if (pdp->sapi == act_req->req_llc_sapi && + pdp->ti == transaction_id) { + /* This apparently is a re-transmission of a PDP CTX + * ACT REQ (our ACT ACK must have got dropped) */ + rc = gsm48_tx_gsm_act_pdp_acc(pdp); + if (rc < 0) + return rc; + + if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { + /* Also re-transmit the SNDCP XID message */ + lle = &pdp->mm->gb.llme->lle[pdp->sapi]; + rc = sndcp_sn_xid_req(lle,pdp->nsapi); + if (rc < 0) + return rc; + } + + return 0; + } + + /* Send reject with GSM_CAUSE_NSAPI_IN_USE */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_NSAPI_IN_USE, + 0, NULL); + } + + if (mmctx->ggsn_lookup) { + if (mmctx->ggsn_lookup->sapi == act_req->req_llc_sapi && + mmctx->ggsn_lookup->ti == transaction_id) { + LOGMMCTXP(LOGL_NOTICE, mmctx, + "Re-transmission while doing look-up. Ignoring.\n"); + return 0; + } + } + + /* Only increment counter for a real activation, after we checked + * for re-transmissions */ + rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PDP_CTX_ACT]); + + /* Determine GGSN based on APN and subscription options */ + ggsn = sgsn_mm_ctx_find_ggsn_ctx(mmctx, &tp, &gsm_cause, apn_str); + if (ggsn) + return activate_ggsn(mmctx, ggsn, transaction_id, + act_req->req_nsapi, act_req->req_llc_sapi, + &tp, 0); + + if (strlen(apn_str) == 0) + goto no_context; + if (!sgsn->cfg.dynamic_lookup) + goto no_context; + + /* schedule a dynamic look-up */ + mmctx->ggsn_lookup = talloc_zero(tall_sgsn_ctx, struct sgsn_ggsn_lookup); + if (!mmctx->ggsn_lookup) + goto no_context; + + mmctx->ggsn_lookup->state = SGSN_GGSN_2DIGIT; + mmctx->ggsn_lookup->mmctx = mmctx; + strcpy(mmctx->ggsn_lookup->apn_str, apn_str); + + mmctx->ggsn_lookup->orig_msg = msg; + mmctx->ggsn_lookup->tp = tp; + + mmctx->ggsn_lookup->ti = transaction_id; + mmctx->ggsn_lookup->nsapi = act_req->req_nsapi; + mmctx->ggsn_lookup->sapi = act_req->req_llc_sapi; + + hostname = osmo_apn_qualify_from_imsi(mmctx->imsi, + mmctx->ggsn_lookup->apn_str, 0); + + LOGMMCTXP(LOGL_DEBUG, mmctx, "Going to query %s\n", hostname); + rc = sgsn_ares_query(sgsn, hostname, + ggsn_lookup_cb, mmctx->ggsn_lookup); + if (rc != 0) { + LOGMMCTXP(LOGL_ERROR, mmctx, "Failed to start ares query.\n"); + goto no_context; + } + *delete = 0; + + return 0; + +no_context: + LOGMMCTXP(LOGL_ERROR, mmctx, "No GGSN context found!\n"); + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + gsm_cause, 0, NULL); +} + +/* 3GPP TS 24.008 ? 9.5.1: Activate PDP Context Request */ +static int gsm48_rx_gsm_act_pdp_req(struct sgsn_mm_ctx *mmctx, + struct msgb *_msg) +{ + bool delete = 1; + struct msgb *msg; + int rc; + + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_ACTIVATE_REQUEST]); + + /* + * This is painful. We might not have a static GGSN + * configuration and then would need to copy the msg + * and re-do most of this routine (or call it again + * and make sure it only goes through the dynamic + * resolving. The question is what to optimize for + * and the dynamic resolution will be the right thing + * in the long run. + */ + msg = bssgp_msgb_copy(_msg, __func__); + if (!msg) { + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(_msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + + LOGMMCTXP(LOGL_ERROR, mmctx, "-> ACTIVATE PDP CONTEXT REQ failed copy.\n"); + /* Send reject with GSM_CAUSE_INV_MAND_INFO */ + return gsm48_tx_gsm_act_pdp_rej(mmctx, transaction_id, + GSM_CAUSE_NET_FAIL, + 0, NULL); + } + + rc = do_act_pdp_req(mmctx, msg, &delete); + if (delete) + msgb_free(msg); + return rc; +} + +/* 3GPP TS 24.008 ? 9.5.8: Deactivate PDP Context Request */ +static int gsm48_rx_gsm_deact_pdp_req(struct sgsn_mm_ctx *mm, struct msgb *msg) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT REQ (cause: %s)\n", + get_value_string(gsm48_gsm_cause_names, gh->data[0])); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_REQUEST]); + + pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); + if (!pdp) { + LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Request for " + "non-existing PDP Context (IMSI=%s, TI=%u)\n", + mm->imsi, transaction_id); + return _gsm48_tx_gsm_deact_pdp_acc(mm, transaction_id); + } + + return sgsn_delete_pdp_ctx(pdp); +} + +/* 3GPP TS 24.008 ? 9.5.9: Deactivate PDP Context Accept */ +static int gsm48_rx_gsm_deact_pdp_ack(struct sgsn_mm_ctx *mm, struct msgb *msg) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + uint8_t transaction_id = gsm48_hdr_trans_id(gh); + struct sgsn_pdp_ctx *pdp; + + LOGMMCTXP(LOGL_INFO, mm, "-> DEACTIVATE PDP CONTEXT ACK\n"); + rate_ctr_inc(&sgsn->rate_ctrs->ctr[CTR_PDP_UL_DEACTIVATE_ACCEPT]); + + pdp = sgsn_pdp_ctx_by_tid(mm, transaction_id); + if (!pdp) { + LOGMMCTXP(LOGL_NOTICE, mm, "Deactivate PDP Context Accept for " + "non-existing PDP Context (IMSI=%s, TI=%u)\n", + mm->imsi, transaction_id); + return 0; + } + /* stop timer 3395 */ + pdpctx_timer_stop(pdp, 3395); + if (pdp->ggsn) + return sgsn_delete_pdp_ctx(pdp); + /* GTP side already detached, freeing */ + sgsn_pdp_ctx_free(pdp); + return 0; +} + +static int gsm48_rx_gsm_status(struct sgsn_mm_ctx *ctx, struct msgb *msg) +{ + struct gsm48_hdr *gh = msgb_l3(msg); + + LOGMMCTXP(LOGL_INFO, ctx, "-> GPRS SM STATUS (cause: %s)\n", + get_value_string(gsm48_gsm_cause_names, gh->data[0])); + + return 0; +} + +static void pdpctx_timer_cb(void *_pdp) +{ + struct sgsn_pdp_ctx *pdp = _pdp; + + pdp->num_T_exp++; + + switch (pdp->T) { + case 3395: /* waiting for PDP CTX DEACT ACK */ + if (pdp->num_T_exp > T339X_MAX_RETRANS) { + LOGPDPCTXP(LOGL_NOTICE, pdp, "T3395 expired > %d times\n", T339X_MAX_RETRANS); + pdp->state = PDP_STATE_INACTIVE; + if (pdp->ggsn) + sgsn_delete_pdp_ctx(pdp); + else + sgsn_pdp_ctx_free(pdp); + break; + } + _gsm48_tx_gsm_deact_pdp_req(pdp->mm, pdp->ti, GSM_CAUSE_NET_FAIL, true); + pdpctx_timer_rearm(pdp, 3395); + break; + default: + LOGPDPCTXP(LOGL_ERROR, pdp, "timer expired in unknown mode %u\n", + pdp->T); + } +} + +/* GPRS Session Management */ +int gsm0408_rcv_gsm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, + struct gprs_llc_llme *llme) +{ + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_gmmh(msg); + int rc; + + /* MMCTX can be NULL when called */ + + if (!mmctx) { + LOGGBIUP(llme, msg, LOGL_NOTICE, "Cannot handle SM for unknown MM CTX\n"); + /* 6.1.3.6 */ + if (gh->msg_type == GSM48_MT_GSM_STATUS) + return 0; + + return gsm0408_gprs_force_reattach_oldmsg(msg, llme); + } + + switch (gh->msg_type) { + case GSM48_MT_GSM_ACT_PDP_REQ: + rc = gsm48_rx_gsm_act_pdp_req(mmctx, msg); + break; + case GSM48_MT_GSM_DEACT_PDP_REQ: + rc = gsm48_rx_gsm_deact_pdp_req(mmctx, msg); + break; + case GSM48_MT_GSM_DEACT_PDP_ACK: + rc = gsm48_rx_gsm_deact_pdp_ack(mmctx, msg); + break; + case GSM48_MT_GSM_STATUS: + rc = gsm48_rx_gsm_status(mmctx, msg); + break; + case GSM48_MT_GSM_REQ_PDP_ACT_REJ: + case GSM48_MT_GSM_ACT_AA_PDP_REQ: + case GSM48_MT_GSM_DEACT_AA_PDP_REQ: + LOGMMCTXP(LOGL_NOTICE, mmctx, "Unimplemented GSM 04.08 GSM msg type 0x%02x: %s\n", + gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); + break; + default: + LOGMMCTXP(LOGL_NOTICE, mmctx, "Unknown GSM 04.08 GSM msg type 0x%02x: %s\n", + gh->msg_type, osmo_hexdump((uint8_t *)gh, msgb_l3len(msg))); + rc = gsm48_tx_sm_status(mmctx, GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL); + break; + + } + + return rc; +} diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index f6d7a69..c5bc5b8 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index 9afe0f7..bdcd9b4 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -59,6 +59,7 @@ $(top_builddir)/src/sgsn/gprs_llc_xid.o \ $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ $(top_builddir)/src/sgsn/slhc.o \ + $(top_builddir)/src/sgsn/gprs_sm.o \ $(top_builddir)/src/sgsn/gprs_sndcp_comp.o \ $(top_builddir)/src/sgsn/gprs_sndcp_pcomp.o \ $(top_builddir)/src/sgsn/v42bis.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d Gerrit-Change-Number: 15386 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:22:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 19:22:39 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15425/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15425/2//COMMIT_MSG at 9 PS2, Line 9: even : overwriting whatever came from BTS > I actually consider that rather problematic. [?] Ok I'll block those specific timers in the VTY function then. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:22:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:36:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 6 Sep 2019 19:36:15 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Reject PdpActReq if no GTP pdp ctx exists In-Reply-To: References: Message-ID: Hello lynxis lazus, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 to look at the new patch set (#2). Change subject: sgsn: Reject PdpActReq if no GTP pdp ctx exists ...................................................................... sgsn: Reject PdpActReq if no GTP pdp ctx exists It could happen that SGSN drops GTP side of a pdp ctx (pdp->lib=NULL) while still maintaing the other side (to notify about the entire pdp ctx being torn down). If a PdpActReq arrives during that time, we need to account for that situation, otherwise osmo-sgsn crashes accessing pdp->lib. If no pdp->lib is found at that time, let's reject the request and expect at some point later in time the entire pdp context will be destroyed and reestablished. Related: OS#4173 Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 --- M src/sgsn/gprs_sm.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/30/15330/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 Gerrit-Change-Number: 15330 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:36:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 19:36:25 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 ) Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/#/c/15436/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/#/c/15436/1/Transceiver52M/Transceiver.cpp at a613 PS1, Line 613: No need to move this line, just leave it here. https://gerrit.osmocom.org/#/c/15436/1/Transceiver52M/Transceiver.cpp at a618 PS1, Line 618: Huh, looks like a bug to me: bi->tn is not (yet) assigned at this point. Not sure why are you moving this block as a part of this change, but I would prefer to see the fix in a separate change. A simple solution is to assign fi->fn and bi->tn just before this block. https://gerrit.osmocom.org/#/c/15436/1/Transceiver52M/Transceiver.cpp at 591 PS1, Line 591: -1: timeslot is off (fn and tn in bi are filled), You could use the macros from errno.h here: -1: ENODATA, ENODEV, ENOENT, or ENOMSG; -2: EIO; so the would be no need to explain their meaning. Just an idea, not a merge blocker. https://gerrit.osmocom.org/#/c/15436/1/Transceiver52M/Transceiver.cpp at 1042 PS1, Line 1042: NOTICE This looks like a normal event to me when one or more timeslots are disabled. Not sure if we should log anything at all... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 19:36:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:44:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 19:44:51 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15418 ) Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 19:44:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 19:45:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 19:45:10 +0000 Subject: Change in ...libosmocore[master]: tdef_vty.h: Add missing header dependencies In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15419 ) Change subject: tdef_vty.h: Add missing header dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc Gerrit-Change-Number: 15419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 19:45:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 20:09:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 20:09:32 +0000 Subject: Change in ...osmo-bsc[master]: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15406 ) Change subject: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15406/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15406/1//COMMIT_MSG at 14 PS1, Line 14: 1ms LOL, I first read it as 'lms' :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 Gerrit-Change-Number: 15406 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 20:09:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 20:10:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 20:10:10 +0000 Subject: Change in ...osmo-bsc[master]: bsc: gsm_08_08.c: Remove repeated conn not null check In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15407 ) Change subject: bsc: gsm_08_08.c: Remove repeated conn not null check ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 Gerrit-Change-Number: 15407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 20:10:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 20:38:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 20:38:31 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Reject PdpActReq if no GTP pdp ctx exists In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 ) Change subject: sgsn: Reject PdpActReq if no GTP pdp ctx exists ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 Gerrit-Change-Number: 15330 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Sep 2019 20:38:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 21:10:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 21:10:41 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS primary warning message via all dedicated channels Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15437 Change subject: SMSCB: Send ETWS primary warning message via all dedicated channels ...................................................................... SMSCB: Send ETWS primary warning message via all dedicated channels As soon as we have received an ETWS primary notification message from the CBC, we should transmit it as "RR Application Information" to all dedicated channels. Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e --- M include/osmocom/bsc/gsm_04_08_rr.h M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/smscb.c 3 files changed, 85 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/15437/1 diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index 8e4f787..f0c0f42 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -29,6 +29,8 @@ int gsm48_send_ho_cmd(struct gsm_lchan *old_lchan, struct gsm_lchan *new_lchan, uint8_t power_command, uint8_t ho_ref); int gsm48_send_rr_ass_cmd(struct gsm_lchan *dest_lchan, struct gsm_lchan *lchan, uint8_t power_command); +int gsm48_send_rr_app_info(struct gsm_lchan *lchan, uint8_t apdu_id, uint8_t apdu_flags, + const uint8_t *apdu_data, ssize_t apdu_data_len); int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode); int gsm48_rx_rr_modif_ack(struct msgb *msg); int gsm48_parse_meas_rep(struct gsm_meas_rep *rep, struct msgb *msg); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 7ff94ad..1fbbb57 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -592,6 +592,28 @@ return gsm48_sendmsg(msg); } +/* TS 44.018 section 9.1.53 */ +int gsm48_send_rr_app_info(struct gsm_lchan *lchan, uint8_t apdu_id, uint8_t apdu_flags, + const uint8_t *apdu_data, ssize_t apdu_data_len) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 APP INFO"); + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + + if ((apdu_id & 0xF0) || (apdu_flags & 0xF0)) { + msgb_free(msg); + return -EINVAL; + } + + msg->lchan = lchan; + gh->proto_discr = GSM48_PDISC_RR; + gh->msg_type = GSM48_MT_RR_APP_INFO; + + msgb_put_u8(msg, (apdu_flags << 4) | apdu_id); + msgb_lv_put(msg, apdu_data_len, apdu_data); + + return gsm48_sendmsg(msg); +} + /* 9.1.5 Channel mode modify: Modify the mode on the MS side */ int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode) { diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 6b96086..319ef21 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -25,10 +25,12 @@ #include #include #include +#include #include #include #include +#include #include @@ -36,6 +38,8 @@ #include #include #include +#include +#include /********************************************************************************* * Helper Functions @@ -52,6 +56,26 @@ INIT_LLIST_HEAD(old); } +#define ETWS_PRIM_NOTIF_SIZE 56 + +/* Build a ETWS Primary Notification message as per TS 23.041 9.4.1.3 */ +static int gen_etws_primary_notification(uint8_t *out, uint16_t serial_nr, uint16_t msg_id, + uint16_t warn_type, const uint8_t *sec_info) +{ + struct gsm341_etws_message *etws = (struct gsm341_etws_message *)out; + + memset(out, 0, ETWS_PRIM_NOTIF_SIZE); + + osmo_store16be(serial_nr, out); + etws->msg_id = osmo_htons(msg_id); + etws->warning_type = osmo_htons(warn_type); + + if (sec_info) + memcpy(etws->data, sec_info, ETWS_PRIM_NOTIF_SIZE - sizeof(*etws)); + + return ETWS_PRIM_NOTIF_SIZE; +} + /*! Obtain SMSCB Channel State for given BTS (basic or extended CBCH) */ struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended) { @@ -437,6 +461,39 @@ * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() *********************************************************************************/ +static void etws_primary_to_dedicated(struct gsm_bts *bts, + const struct osmo_cbsp_write_replace *wrepl) +{ + uint8_t etws_primary[ETWS_PRIM_NOTIF_SIZE]; + struct gsm_bts_trx *trx; + unsigned int count = 0; + int i, j; + + gen_etws_primary_notification(etws_primary, wrepl->new_serial_nr, wrepl->msg_id, + wrepl->u.emergency.warning_type, + wrepl->u.emergency.warning_sec_info); + + /* iterate over all lchan in each TS in each TRX of this BTS */ + llist_for_each_entry(trx, &bts->trx_list, list) { + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + for (j = 0; j < ARRAY_SIZE(ts->lchan); j++) { + struct gsm_lchan *lchan = &ts->lchan[j]; + if (!lchan_may_receive_data(lchan)) + continue; + gsm48_send_rr_app_info(lchan, 0x1, 0x0, etws_primary, + sizeof(etws_primary)); + count++; + } + } + } + + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via %u dedicated channels\n", + count); + + /* FIXME: Notify BTS of primary ETWS notification via vendor-specific Abis message */ +} + /*! Try to execute a write-replace operation; roll-back if it fails. * \param[in] chan_state BTS CBCH channel state * \param[in] extended_cbch Basic (false) or Extended (true) CBCH @@ -506,8 +563,10 @@ int rc; if (!wrepl->is_cbs) { - LOG_BTS(bts, DCBS, LOGL_ERROR, "(Primary) Emergency Message not supported\n"); - return -CBSP_CAUSE_CB_NOT_SUPPORTED; + /* send through any active dedicated channels of this BTS */ + etws_primary_to_dedicated(bts, wrepl); + /* TODO: send via RSL to BTS for transmission on PCH */ + return 0; } /* check if cell has a CBCH at all */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e Gerrit-Change-Number: 15437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 21:10:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 21:10:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Fix receive templates if channel_ind == omit Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 Change subject: CBSP: Fix receive templates if channel_ind == omit ...................................................................... CBSP: Fix receive templates if channel_ind == omit Change-Id: I6e15a7499b5da6f63a517f303576a877ea038788 --- M library/CBSP_Templates.ttcn 1 file changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/15438/1 diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 2283e6f..7c73d7c 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -375,7 +375,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); } @@ -416,7 +418,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); } @@ -467,7 +471,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e15a7499b5da6f63a517f303576a877ea038788 Gerrit-Change-Number: 15438 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 21:17:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 21:17:23 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp at 71 PS2, Line 71: #define T3142_SECS 20 : #define T3169_SECS 5 : #define T3191_SECS 5 : #define T3193_MSECS 100 : #define T3195_SECS 5 : #define X2000_MSECS 2 : #define X2001_SECS 2 : #define X2002_MSECS 200 Do we really need these macros? I don't see they're used anywhere else... https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp at 87 PS2, Line 87: timeout Cosmetic: timeout happens when timer expires, not sure if this word is applicable here. https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp at 595 PS2, Line 595: -2002 Looks odd to me, could you please add a comment? Why exactly -2002? https://gerrit.osmocom.org/#/c/15425/2/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15425/2/src/pcu_l1_if.cpp at a211 PS2, Line 211: Unrelated ws fix. https://gerrit.osmocom.org/#/c/15425/2/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/#/c/15425/2/src/tbf.cpp at 664 PS2, Line 664: enum tbf_timers t, Do you think we still need this parameter? Most of the time I see: T_START(tbf, TXXX, XXX, ...), but I also see confusing T_START(tbf, TXXX, -XXX, ...), so it's getting even more confusing. I am definitely missing something... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 21:17:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 21:20:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 21:20:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Fix receive templates if channel_ind == omit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 ) Change subject: CBSP: Fix receive templates if channel_ind == omit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e15a7499b5da6f63a517f303576a877ea038788 Gerrit-Change-Number: 15438 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Sep 2019 21:20:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 21:20:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Sep 2019 21:20:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CBSP: Fix receive templates if channel_ind == omit In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 ) Change subject: CBSP: Fix receive templates if channel_ind == omit ...................................................................... CBSP: Fix receive templates if channel_ind == omit Change-Id: I6e15a7499b5da6f63a517f303576a877ea038788 --- M library/CBSP_Templates.ttcn 1 file changed, 9 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 2283e6f..7c73d7c 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -375,7 +375,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); } @@ -416,7 +418,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := tr_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_COMPL, ies); } @@ -467,7 +471,9 @@ } else if (not istemplatekind(cell_list, "omit")) { ies[lengthof(ies)] := tr_CbspCellList(cell_list); } - ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + if (not istemplatekind(channel_ind, "omit")) { + ies[lengthof(ies)] := ts_CbspChannelInd(channel_ind); + } return tr_CBSP(CBSP_MSGT_WRITE_REPLACE_FAIL, ies); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e15a7499b5da6f63a517f303576a877ea038788 Gerrit-Change-Number: 15438 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 6 21:38:02 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 21:38:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d72d1cfda745_36d82b1be80725f428927a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 411s] ar: `u' modifier ignored since `D' is the default (see `U') [ 411s] libtool: link: ranlib .libs/libtransceiver_common.a [ 411s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 411s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 411s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 411s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 411s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 411s] collect2: error: ld returned 1 exit status [ 411s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] make[1]: *** [Makefile:444: all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] make: *** [debian/rules:6: build] Error 255 [ 411s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 411s] [ 411s] lamb06 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 21:37:47 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 414s] [ 396.963579] sysrq: SysRq : Power Off [ 414s] [ 396.972393] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] lamb06 failed "build osmo-trx_1.1.1.10.77f3.dsc" at Fri Sep 6 21:37:50 UTC 2019. [ 414s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 6 21:39:45 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 06 Sep 2019 21:39:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d72d22923305_36d82b1be80725f42894b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 545s] ar: `u' modifier ignored since `D' is the default (see `U') [ 545s] libtool: link: ranlib .libs/libtransceiver_common.a [ 545s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 545s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 545s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 545s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 545s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 545s] collect2: error: ld returned 1 exit status [ 545s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 545s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 545s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 545s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 545s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 545s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 545s] make[1]: *** [Makefile:444: all] Error 2 [ 545s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 545s] dh_auto_build: make -j1 returned exit code 2 [ 545s] make: *** [debian/rules:6: build] Error 255 [ 545s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 545s] [ 545s] cloud128 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 21:39:29 UTC 2019. [ 545s] [ 545s] ### VM INTERACTION START ### [ 548s] [ 498.250009] sysrq: SysRq : Power Off [ 548s] [ 498.259246] reboot: Power down [ 550s] ### VM INTERACTION END ### [ 550s] [ 550s] cloud128 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 6 21:39:34 UTC 2019. [ 550s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 6 22:01:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 22:01:48 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: fix possible NULL-pointer dereference Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15439 Change subject: common/rsl.c: fix possible NULL-pointer dereference ...................................................................... common/rsl.c: fix possible NULL-pointer dereference Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Fixes: CID#203810 --- M src/common/rsl.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15439/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 0bcad4c..c9a5869 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1740,10 +1740,14 @@ /* 8.5.8 CBCH Load Information */ int rsl_tx_cbch_load_indication(struct gsm_bts *bts, bool ext_cbch, bool overflow, uint8_t amount) { - struct gsm_lchan *lchan = gsm_bts_get_cbch(bts); + struct gsm_lchan *lchan; struct msgb *msg; uint8_t load_info; + lchan = gsm_bts_get_cbch(bts); + if (!lchan) + return -ENODEV; + msg = rsl_msgb_alloc(sizeof(struct abis_rsl_cchan_hdr)); if (!msg) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Gerrit-Change-Number: 15439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 22:08:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 22:08:41 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 06 Sep 2019 22:08:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 22:51:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 22:51:18 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: prevent uninitialized memory access In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-bts/+/14876 ) Change subject: osmo-bts-trx/scheduler: prevent uninitialized memory access ...................................................................... osmo-bts-trx/scheduler: prevent uninitialized memory access When sending an AMR BFI, we need to call osmo_amr_rtp_enc() with AMR_BAD as the last parameter. This function returns the length of encoded payload, which needs to be at least 2 octets long. If osmo_amr_rtp_enc() returns a length value lower than 2 octets (what should not happen in general), we should neither call memset() on it, nor call _sched_compose_tch_ind(). Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Related: CID#178643 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 18 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/14876/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Gerrit-Change-Number: 14876 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 22:51:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 22:51:18 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15440 Change subject: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice ...................................................................... osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice We call _sched_compose_tch_ind() after the switch statement, so there is no need to send it from case 'GSM48_CMODE_SPEECH_AMR'. Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/15440/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 1a60443..57eb138 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -389,7 +389,6 @@ return; } memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len); break; default: inval_mode1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 Gerrit-Change-Number: 15440 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 23:53:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 23:53:43 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15441 Change subject: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame ...................................................................... osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame BFI (Bad Frame Indication) needs to be sent: - when failed to decode a speech (or FACCH) frame, or - when decoded frame is FACCH frame (23 octets long), if the current channel mode is RSL_CMOD_SPD_SPEECH. Since we (re)use the same buffer as used for non-BFI frames, we need to avoid resetting the ECU (Error Cancellation Unit) with a bad frame indication. We used a boolean flag for that, but it was not set in the second case - when a FACCH frame is decoded. Let's get rid of that flag and use 'goto' operator to step over the ECU resetting code. Let's also modify rx_tchh_fn(), which does not (yet) deal with ECU, but most likely will in the future. Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/41/15441/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 57eb138..5b31387 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1138,7 +1138,6 @@ uint8_t tch_data[128]; /* just to be safe */ int rc, amr = 0; int n_errors, n_bits_total; - bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); @@ -1235,14 +1234,12 @@ LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); - bfi_flag = true; goto bfi; } if (rc < 4) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); - bfi_flag = true; goto bfi; } @@ -1300,6 +1297,9 @@ "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } + + /* Step over resetting ECU */ + goto compose_l1sap; } } @@ -1307,7 +1307,7 @@ return 0; /* Reset ECU with a good frame */ - if (!bfi_flag && tch_mode == GSM48_CMODE_SPEECH_V1) + if (tch_mode == GSM48_CMODE_SPEECH_V1) osmo_ecu_fr_reset(&lchan->ecu_state.fr, tch_data); /* TCH or BFI */ @@ -1497,6 +1497,9 @@ "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } + + /* Step over resetting ECU */ + goto compose_l1sap; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 Gerrit-Change-Number: 15441 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 6 23:57:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 6 Sep 2019 23:57:53 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15442 Change subject: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI ...................................................................... osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/42/15442/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 5b31387..e4a6693 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1466,6 +1466,8 @@ 0 /* FIXME: AVG C/I */, ber10k, PRES_INFO_UNKNOWN); bfi: + /* FIXME: a FACCH/H frame replaces two speech frames, + * so we actually need to send two bad frame indications! */ if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ switch (tch_mode) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 Gerrit-Change-Number: 15442 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 00:08:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 00:08:22 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS primary warning message via all dedicated channels In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15437 ) Change subject: SMSCB: Send ETWS primary warning message via all dedicated channels ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e Gerrit-Change-Number: 15437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 07 Sep 2019 00:08:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 00:11:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 00:11:11 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: prevent uninitialized memory access In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-bts/+/14876 ) Change subject: osmo-bts-trx/scheduler: prevent uninitialized memory access ...................................................................... osmo-bts-trx/scheduler: prevent uninitialized memory access When sending an AMR BFI, we need to call osmo_amr_rtp_enc() with AMR_BAD as the last parameter. This function returns the length of encoded payload, which needs to be at least 2 octets long. If osmo_amr_rtp_enc() returns a length value lower than 2 octets (what should not happen in general), we should neither call memset() on it, nor call _sched_compose_tch_ind(). Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Fixes: CID#178648, CID#178637, CID#178651 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 18 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/14876/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Gerrit-Change-Number: 14876 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 00:11:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 00:11:11 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 to look at the new patch set (#2). Change subject: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice ...................................................................... osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice We call _sched_compose_tch_ind() after the switch statement, so there is no need to send it from case 'GSM48_CMODE_SPEECH_AMR'. Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/15440/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 Gerrit-Change-Number: 15440 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 00:11:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 00:11:11 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15441 to look at the new patch set (#2). Change subject: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame ...................................................................... osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame BFI (Bad Frame Indication) needs to be sent: - when failed to decode a speech (or FACCH) frame, or - when decoded frame is FACCH frame (23 octets long), if the current channel mode is RSL_CMOD_SPD_SPEECH. Since we (re)use the same buffer as used for non-BFI frames, we need to avoid resetting the ECU (Error Cancellation Unit) with a bad frame indication. We used a boolean flag for that, but it was not set in the second case - when a FACCH frame is decoded. Let's get rid of that flag and use 'goto' operator to step over the ECU resetting code. Let's also modify rx_tchh_fn(), which does not (yet) deal with ECU, but most likely will in the future. Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/41/15441/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 Gerrit-Change-Number: 15441 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 00:11:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 00:11:11 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 to look at the new patch set (#2). Change subject: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI ...................................................................... osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/42/15442/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 Gerrit-Change-Number: 15442 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 7 01:43:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 07 Sep 2019 01:43:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d730b4e7258f_36d82b1be80725f4301184@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 235s] ar: `u' modifier ignored since `D' is the default (see `U') [ 235s] libtool: link: ranlib .libs/libtransceiver_common.a [ 235s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 235s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 235s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 235s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 235s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 235s] collect2: error: ld returned 1 exit status [ 235s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 235s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 235s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 235s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 235s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 235s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 235s] make[1]: *** [Makefile:444: all] Error 2 [ 235s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 235s] dh_auto_build: make -j1 returned exit code 2 [ 235s] make: *** [debian/rules:6: build] Error 255 [ 235s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 235s] [ 235s] build85 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 01:43:16 UTC 2019. [ 235s] [ 235s] ### VM INTERACTION START ### [ 238s] [ 226.830156] sysrq: SysRq : Power Off [ 238s] [ 226.832624] reboot: Power down [ 238s] ### VM INTERACTION END ### [ 238s] [ 238s] build85 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 01:43:19 UTC 2019. [ 238s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 7 01:45:12 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 07 Sep 2019 01:45:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d730bacbea2_36d82b1be80725f4301354@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 316s] ar: `u' modifier ignored since `D' is the default (see `U') [ 316s] libtool: link: ranlib .libs/libtransceiver_common.a [ 316s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 316s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 316s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 316s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 316s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 316s] collect2: error: ld returned 1 exit status [ 316s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 316s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 316s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 316s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 316s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 316s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 316s] make[1]: *** [Makefile:444: all] Error 2 [ 316s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 316s] dh_auto_build: make -j1 returned exit code 2 [ 316s] make: *** [debian/rules:6: build] Error 255 [ 316s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 316s] [ 316s] sheep82 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 01:44:50 UTC 2019. [ 316s] [ 316s] ### VM INTERACTION START ### [ 319s] [ 307.034527] sysrq: SysRq : Power Off [ 319s] [ 307.040359] reboot: Power down [ 319s] ### VM INTERACTION END ### [ 319s] [ 319s] sheep82 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 01:44:54 UTC 2019. [ 319s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 7 03:37:34 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 07 Sep 2019 03:37:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7326163ad77_36d82b1be80725f43073f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 317s] ar: `u' modifier ignored since `D' is the default (see `U') [ 317s] libtool: link: ranlib .libs/libtransceiver_common.a [ 317s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 317s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 318s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 318s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 318s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 318s] collect2: error: ld returned 1 exit status [ 318s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 318s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 318s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 318s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 318s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 318s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 318s] make[1]: *** [Makefile:444: all] Error 2 [ 318s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 318s] dh_auto_build: make -j1 returned exit code 2 [ 318s] make: *** [debian/rules:6: build] Error 255 [ 318s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 318s] [ 318s] sheep83 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 7 03:37:21 UTC 2019. [ 318s] [ 318s] ### VM INTERACTION START ### [ 321s] [ 308.633267] sysrq: SysRq : Power Off [ 321s] [ 308.639474] reboot: Power down [ 321s] ### VM INTERACTION END ### [ 321s] [ 321s] sheep83 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 7 03:37:25 UTC 2019. [ 321s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 7 03:45:30 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 07 Sep 2019 03:45:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7327e48013b_36d82b1be80725f430807c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 420s] ar: `u' modifier ignored since `D' is the default (see `U') [ 420s] libtool: link: ranlib .libs/libtransceiver_common.a [ 420s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 420s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 420s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 420s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 420s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 420s] collect2: error: ld returned 1 exit status [ 420s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 420s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 420s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 420s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 420s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 420s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 420s] make[1]: *** [Makefile:444: all] Error 2 [ 420s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 420s] dh_auto_build: make -j1 returned exit code 2 [ 420s] make: *** [debian/rules:6: build] Error 255 [ 420s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 421s] [ 421s] lamb51 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 03:45:08 UTC 2019. [ 421s] [ 421s] ### VM INTERACTION START ### [ 424s] [ 405.751858] sysrq: SysRq : Power Off [ 424s] [ 405.758505] reboot: Power down [ 424s] ### VM INTERACTION END ### [ 424s] [ 424s] lamb51 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sat Sep 7 03:45:12 UTC 2019. [ 424s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:40:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:40:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification is passed via RSL to PCH Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 Change subject: bsc: Test that ETWS Primary Notification is passed via RSL to PCH ...................................................................... bsc: Test that ETWS Primary Notification is passed via RSL to PCH The BSC must not only pass the ETWS Primary Notification from CBSP down every dedicated channel, but it must also send it via an Osmocom-specific RSL message to enable the BTS to brodcast it via the PCH (P1 Rest Octets) and pass it to the PCU for PACCH. Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Related: #4046 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/15443/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 792b771..9474563 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -561,6 +561,32 @@ } } +/* Write ETWS PN to single BTS; verify it arrives on CCHAN */ +testcase TC_cbsp_emerg_write_bts_cgi_cchan() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + var ASP_RSL_Unitdata rx_rsl_ud; + + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + + f_cbsp_write_emerg(16, 1016, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + timer T := 5.0; + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, + tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + setverdict(pass); + } + [] IPA_RSL[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL_OSMO_ETWS_CMD"); + } + } +} + + control { execute( TC_cbsp_bsc_server() ); @@ -585,6 +611,7 @@ execute( TC_cbsp_write_then_reset() ); execute( TC_cbsp_emerg_write_bts_cgi_dchan() ); + execute( TC_cbsp_emerg_write_bts_cgi_cchan() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Gerrit-Change-Number: 15443 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:52:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:52:08 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... SMSCB: Send ETWS Primary Notifiation via RSL to BTS In addition to transmission of the ETWS Primary Notification via all dedicated channels, we also need to send it to the BTS for transmission via PCH (P1 Rest Octets) and for fordwarding to PCU for PACCH transmission. Change-Id: I7e45b0373458a4348b12b92dd92861062532548b --- M include/osmocom/bsc/abis_rsl.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/smscb.c 3 files changed, 29 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/44/15444/1 diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index ec63090..4ccfd14 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -91,6 +91,7 @@ int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, struct rsl_ie_cb_cmd_type cb_command, bool use_extended_cbch, const uint8_t *data, int len); +int rsl_etws_pn_command(struct gsm_bts *bts, uint8_t chan_nr, const uint8_t *data, int len); /* some Nokia specific stuff */ int rsl_nokia_si_begin(struct gsm_bts_trx *trx); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 06d19a5..4a7d104 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2203,6 +2203,25 @@ return rc; } +/* Send an Osmocom-specific Abis RSL message for ETWS Primary Notification */ +int rsl_etws_pn_command(struct gsm_bts *bts, uint8_t chan_nr, const uint8_t *data, int len) +{ + struct abis_rsl_dchan_hdr *dh; + struct msgb *msg = rsl_msgb_alloc(); + if (!msg) + return -1; + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); + init_dchan_hdr(dh, RSL_MT_OSMO_ETWS_CMD); + dh->c.msg_discr = ABIS_RSL_MDISC_COM_CHAN; + dh->chan_nr = chan_nr; + + msgb_tlv_put(msg, RSL_IE_SMSCB_MSG, len, data); + + msg->dst = bts->c0->rsl_link; + + return abis_rsl_sendmsg(msg); +} + int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, struct rsl_ie_cb_cmd_type cb_command, bool use_extended_cbch, const uint8_t *data, int len) diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 319ef21..1b065a8 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -40,6 +40,7 @@ #include #include #include +#include /********************************************************************************* * Helper Functions @@ -461,8 +462,7 @@ * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() *********************************************************************************/ -static void etws_primary_to_dedicated(struct gsm_bts *bts, - const struct osmo_cbsp_write_replace *wrepl) +static void etws_primary_to_bts(struct gsm_bts *bts, const struct osmo_cbsp_write_replace *wrepl) { uint8_t etws_primary[ETWS_PRIM_NOTIF_SIZE]; struct gsm_bts_trx *trx; @@ -491,7 +491,12 @@ LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via %u dedicated channels\n", count); - /* FIXME: Notify BTS of primary ETWS notification via vendor-specific Abis message */ + /* Notify BTS of primary ETWS notification via vendor-specific Abis message */ + if (osmo_bts_has_feature(&bts->features, BTS_FEAT_ETWS_PN)) { + rsl_etws_pn_command(bts, RSL_CHAN_PCH_AGCH, etws_primary, sizeof(etws_primary)); + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via common channel\n"); + } else + LOG_BTS(bts, DCBS, LOGL_ERROR, "BTS doesn't support RSL command for ETWS PN\n"); } /*! Try to execute a write-replace operation; roll-back if it fails. @@ -563,9 +568,7 @@ int rc; if (!wrepl->is_cbs) { - /* send through any active dedicated channels of this BTS */ - etws_primary_to_dedicated(bts, wrepl); - /* TODO: send via RSL to BTS for transmission on PCH */ + etws_primary_to_bts(bts, wrepl); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:54:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:54:21 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: fix possible NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15439 ) Change subject: common/rsl.c: fix possible NULL-pointer dereference ...................................................................... Patch Set 1: Code-Review+1 I think this is highly theoretical, as the function is not called from any path where a BTS wouldn't have CBCH. but well... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Gerrit-Change-Number: 15439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 06:54:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:54:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:54:50 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: prevent uninitialized memory access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14876 ) Change subject: osmo-bts-trx/scheduler: prevent uninitialized memory access ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Gerrit-Change-Number: 14876 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 06:54:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:55:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:55:30 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15440 ) Change subject: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 Gerrit-Change-Number: 15440 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 06:55:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:56:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:56:19 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15441 ) Change subject: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame ...................................................................... Patch Set 2: Code-Review+1 pleae note there is a patch pending for new libosmocore-based ECU handling -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 Gerrit-Change-Number: 15441 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 06:56:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 06:56:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 06:56:31 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15442 ) Change subject: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 Gerrit-Change-Number: 15442 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 06:56:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 07:33:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 07:33:22 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Sat, 07 Sep 2019 07:33:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 07:33:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 07:33:23 +0000 Subject: Change in ...osmo-bts[master]: pcu_interface: Forward ETWS Primary Notification to PCU In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15420 ) Change subject: pcu_interface: Forward ETWS Primary Notification to PCU ...................................................................... pcu_interface: Forward ETWS Primary Notification to PCU All MS/UE must be notified of ETWS Primary Notifiations. Depending on their state, the notification goes different paths: * CS dedicated mode: BSC sends it as L3 message over LAPDm / DCCH * CS/PS idle mode: BTS sends paging messages on PCH * PS TBF active: PCU send Packet Application Info This enables the last of the three methods by passing any ETWS Primary Notifications received over RSL via the PCU socket into the PCU. Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Related: OS#4047, OS#4048 --- M include/osmo-bts/pcu_if.h M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c M src/common/rsl.c 4 files changed, 36 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 6253c84..114f87d 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -5,6 +5,7 @@ int pcu_tx_info_ind(void); int pcu_tx_si13(const struct gsm_bts *bts, bool enable); +int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data); int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, uint16_t arfcn, uint8_t block_nr); int pcu_tx_data_ind(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 144fba6..2d24c43 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -13,6 +13,7 @@ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ #define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ +#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to tranmit APP INFO via PACCH */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -172,6 +173,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU to [once] send given application data via PACCH to all UE with active TBF */ +struct gsm_pcu_if_app_info_req { + uint8_t application_type; /* 4bit field, see TS 44.060 11.2.47 */ + uint8_t len; /* length of data */ + uint8_t data[162]; /* random size choice; ETWS needs 56 bytes */ +} __attribute__ ((packed)); + /* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ struct gsm_pcu_if_susp_req { uint32_t tlli; @@ -198,6 +206,7 @@ struct gsm_pcu_if_act_req act_req; struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; + struct gsm_pcu_if_app_info_req app_info_req; } u; } __attribute__ ((packed)); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 84a98f5..ba9e172 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -290,6 +290,27 @@ return 0; } +int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data) +{ + struct gsm_pcu_if_app_info_req *ai_req; + struct gsm_pcu_if *pcu_prim; + struct msgb *msg; + + if (app_type & 0xF0 || len > sizeof(ai_req->data)) + return -EINVAL; + + msg = pcu_msgb_alloc(PCU_IF_MSG_APP_INFO_REQ, bts->nr); + if (!msg) + return -ENOMEM; + pcu_prim = (struct gsm_pcu_if *) msg->data; + ai_req = &pcu_prim->u.app_info_req; + + ai_req->application_type = app_type; + ai_req->len = len; + memcpy(ai_req->data, app_data, ai_req->len); + + return pcu_sock_send(&bts_gsmnet, msg); +} int pcu_tx_rts_req(struct gsm_bts_trx_ts *ts, uint8_t is_ptcch, uint32_t fn, uint16_t arfcn, uint8_t block_nr) diff --git a/src/common/rsl.c b/src/common/rsl.c index 0bcad4c..056c16d 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -558,6 +558,11 @@ /* toggle the PNI to allow phones to distinguish new from old primary notification */ bts->etws.pni = !bts->etws.pni; + + /* forward the request to the PCU, so the PCU can send it over any active TBF + * to phones which currently don't listen to the paging channel */ + pcu_tx_app_info_req(bts, 0, TLVP_LEN(&tp, RSL_IE_SMSCB_MSG), + TLVP_VAL(&tp, RSL_IE_SMSCB_MSG)); } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0b3f38b400a0ca7e4089061ceb6548b0695faa6 Gerrit-Change-Number: 15420 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 09:32:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 09:32:55 +0000 Subject: Change in ...osmo-bts[master]: doc: Update Abis manual RSL section with ETWS related infomration Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15445 Change subject: doc: Update Abis manual RSL section with ETWS related infomration ...................................................................... doc: Update Abis manual RSL section with ETWS related infomration Change-Id: I969153a204c167783ba394c9a911ff4484ded759 --- M doc/manuals/abis/rsl.adoc 1 file changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/45/15445/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index f66142d..86beaa2 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -81,6 +81,8 @@ .3+.| <> | <> | RSL PDCH Deactivation | <- | Received | <> | RSL PDCH Deactivation ACK | -> | Sent | <> | RSL PDCH Deactivation NACK | -> | Sent +5+<| *COMMON CHANNEL MANAGEMENT MESSAGES* +.3+.| <> | <> | Osmocom ETWS Command | <- | Received |=== ==== Messages Not Implemented by OsmoBTS @@ -455,6 +457,25 @@ include::dyn_ts_osmocom_style2.msc[] ---- +[[etws]] +=== ETWS (Earthquake and Tsunami Warning System) + +ETWS as specified in 3GPP TS 23.041 includes not only notification via +SMSCB, but also so-called Primary Notifications (PN). The ETWS PN are +transmitted + + * by the BSC to all subscribers with active dedicated channels + * by the BTS on the PCH to all subscribers in idle mode + * by the PCU on the PACCH to all subscribers with active TBF + +Unfortunately, 3GPP forgot to update their specifications with any +information as to how the ETWS PN is transmitted from BSC to BTS in +a portable way, and Osmocom had to invent their own non-standard +signaling for it. + +See <> for the Osmocom implementation. + + === Message Formats and Contents [[rsl_crcx_msg]] @@ -754,6 +775,32 @@ NOTE:: This message is *not* used by Osmocom style dynamic channels +[[OSMO_ETWS_CMD]] +==== Osmocom ETWS Command + +This message is sent by the BSC to transfer the ETWS Primary Notification (PN) +from BSC to BTS and enable/disable transmission of ETWS PN by the BTS. For more +information about ETWS, see 3GPP TS 23.041. + +If the ETWS PN length is > 0, the BTS will immediately start transmission +of the received ETWS PN on the PCH using P1 Rest Octets. It will also forward +he ETWS PN to the PCU to enable the PCU to transmit it via PACCH on active TBF. + +If the ETWS PN length is 0, the BTS will stop any ETWS PN broadcast via the PCH. + +The Channel Number IE is set to the Downlink CCCH (PCH). + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| SMSCB Message | 08.58 9.3.42 | M | TLV | 2-58 +|=== + + === Information Element Codings [[own_msg_types]] @@ -776,6 +823,7 @@ | 0x77 | Delete Connection (DLCX) | <> | 0x78 | Delete Connection (DLCX) ACK | <> | 0x79 | Delete Connection (DLCX) NACK | <> +| 0x7f | Osmocom ETWS Command | <> | 0x48 | PDCH Activate | <> | 0x49 | PDCH Activate ACK | <> | 0x4a | PDCH Activate NACK | <> -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I969153a204c167783ba394c9a911ff4484ded759 Gerrit-Change-Number: 15445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 09:38:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 09:38:46 +0000 Subject: Change in ...osmo-bts[master]: doc: Update Abis manual RSL section with ETWS related infomration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15445 ) Change subject: doc: Update Abis manual RSL section with ETWS related infomration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I969153a204c167783ba394c9a911ff4484ded759 Gerrit-Change-Number: 15445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 09:38:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 09:38:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 09:38:56 +0000 Subject: Change in ...osmo-bts[master]: doc: Update Abis manual RSL section with ETWS related infomration In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15445 ) Change subject: doc: Update Abis manual RSL section with ETWS related infomration ...................................................................... doc: Update Abis manual RSL section with ETWS related infomration Change-Id: I969153a204c167783ba394c9a911ff4484ded759 --- M doc/manuals/abis/rsl.adoc 1 file changed, 48 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index f66142d..86beaa2 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -81,6 +81,8 @@ .3+.| <> | <> | RSL PDCH Deactivation | <- | Received | <> | RSL PDCH Deactivation ACK | -> | Sent | <> | RSL PDCH Deactivation NACK | -> | Sent +5+<| *COMMON CHANNEL MANAGEMENT MESSAGES* +.3+.| <> | <> | Osmocom ETWS Command | <- | Received |=== ==== Messages Not Implemented by OsmoBTS @@ -455,6 +457,25 @@ include::dyn_ts_osmocom_style2.msc[] ---- +[[etws]] +=== ETWS (Earthquake and Tsunami Warning System) + +ETWS as specified in 3GPP TS 23.041 includes not only notification via +SMSCB, but also so-called Primary Notifications (PN). The ETWS PN are +transmitted + + * by the BSC to all subscribers with active dedicated channels + * by the BTS on the PCH to all subscribers in idle mode + * by the PCU on the PACCH to all subscribers with active TBF + +Unfortunately, 3GPP forgot to update their specifications with any +information as to how the ETWS PN is transmitted from BSC to BTS in +a portable way, and Osmocom had to invent their own non-standard +signaling for it. + +See <> for the Osmocom implementation. + + === Message Formats and Contents [[rsl_crcx_msg]] @@ -754,6 +775,32 @@ NOTE:: This message is *not* used by Osmocom style dynamic channels +[[OSMO_ETWS_CMD]] +==== Osmocom ETWS Command + +This message is sent by the BSC to transfer the ETWS Primary Notification (PN) +from BSC to BTS and enable/disable transmission of ETWS PN by the BTS. For more +information about ETWS, see 3GPP TS 23.041. + +If the ETWS PN length is > 0, the BTS will immediately start transmission +of the received ETWS PN on the PCH using P1 Rest Octets. It will also forward +he ETWS PN to the PCU to enable the PCU to transmit it via PACCH on active TBF. + +If the ETWS PN length is 0, the BTS will stop any ETWS PN broadcast via the PCH. + +The Channel Number IE is set to the Downlink CCCH (PCH). + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| SMSCB Message | 08.58 9.3.42 | M | TLV | 2-58 +|=== + + === Information Element Codings [[own_msg_types]] @@ -776,6 +823,7 @@ | 0x77 | Delete Connection (DLCX) | <> | 0x78 | Delete Connection (DLCX) ACK | <> | 0x79 | Delete Connection (DLCX) NACK | <> +| 0x7f | Osmocom ETWS Command | <> | 0x48 | PDCH Activate | <> | 0x49 | PDCH Activate ACK | <> | 0x4a | PDCH Activate NACK | <> -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I969153a204c167783ba394c9a911ff4484ded759 Gerrit-Change-Number: 15445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 09:41:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 09:41:08 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS primary warning message via all dedicated channels In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15437 ) Change subject: SMSCB: Send ETWS primary warning message via all dedicated channels ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e Gerrit-Change-Number: 15437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 09:41:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 09:41:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 09:41:10 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS primary warning message via all dedicated channels In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15437 ) Change subject: SMSCB: Send ETWS primary warning message via all dedicated channels ...................................................................... SMSCB: Send ETWS primary warning message via all dedicated channels As soon as we have received an ETWS primary notification message from the CBC, we should transmit it as "RR Application Information" to all dedicated channels. Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e --- M include/osmocom/bsc/gsm_04_08_rr.h M src/osmo-bsc/gsm_04_08_rr.c M src/osmo-bsc/smscb.c 3 files changed, 85 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index 8e4f787..f0c0f42 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -29,6 +29,8 @@ int gsm48_send_ho_cmd(struct gsm_lchan *old_lchan, struct gsm_lchan *new_lchan, uint8_t power_command, uint8_t ho_ref); int gsm48_send_rr_ass_cmd(struct gsm_lchan *dest_lchan, struct gsm_lchan *lchan, uint8_t power_command); +int gsm48_send_rr_app_info(struct gsm_lchan *lchan, uint8_t apdu_id, uint8_t apdu_flags, + const uint8_t *apdu_data, ssize_t apdu_data_len); int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode); int gsm48_rx_rr_modif_ack(struct msgb *msg); int gsm48_parse_meas_rep(struct gsm_meas_rep *rep, struct msgb *msg); diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 7ff94ad..1fbbb57 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -592,6 +592,28 @@ return gsm48_sendmsg(msg); } +/* TS 44.018 section 9.1.53 */ +int gsm48_send_rr_app_info(struct gsm_lchan *lchan, uint8_t apdu_id, uint8_t apdu_flags, + const uint8_t *apdu_data, ssize_t apdu_data_len) +{ + struct msgb *msg = gsm48_msgb_alloc_name("GSM 04.08 APP INFO"); + struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); + + if ((apdu_id & 0xF0) || (apdu_flags & 0xF0)) { + msgb_free(msg); + return -EINVAL; + } + + msg->lchan = lchan; + gh->proto_discr = GSM48_PDISC_RR; + gh->msg_type = GSM48_MT_RR_APP_INFO; + + msgb_put_u8(msg, (apdu_flags << 4) | apdu_id); + msgb_lv_put(msg, apdu_data_len, apdu_data); + + return gsm48_sendmsg(msg); +} + /* 9.1.5 Channel mode modify: Modify the mode on the MS side */ int gsm48_lchan_modify(struct gsm_lchan *lchan, uint8_t mode) { diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 6b96086..319ef21 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -25,10 +25,12 @@ #include #include #include +#include #include #include #include +#include #include @@ -36,6 +38,8 @@ #include #include #include +#include +#include /********************************************************************************* * Helper Functions @@ -52,6 +56,26 @@ INIT_LLIST_HEAD(old); } +#define ETWS_PRIM_NOTIF_SIZE 56 + +/* Build a ETWS Primary Notification message as per TS 23.041 9.4.1.3 */ +static int gen_etws_primary_notification(uint8_t *out, uint16_t serial_nr, uint16_t msg_id, + uint16_t warn_type, const uint8_t *sec_info) +{ + struct gsm341_etws_message *etws = (struct gsm341_etws_message *)out; + + memset(out, 0, ETWS_PRIM_NOTIF_SIZE); + + osmo_store16be(serial_nr, out); + etws->msg_id = osmo_htons(msg_id); + etws->warning_type = osmo_htons(warn_type); + + if (sec_info) + memcpy(etws->data, sec_info, ETWS_PRIM_NOTIF_SIZE - sizeof(*etws)); + + return ETWS_PRIM_NOTIF_SIZE; +} + /*! Obtain SMSCB Channel State for given BTS (basic or extended CBCH) */ struct bts_smscb_chan_state *bts_get_smscb_chan(struct gsm_bts *bts, bool extended) { @@ -437,6 +461,39 @@ * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() *********************************************************************************/ +static void etws_primary_to_dedicated(struct gsm_bts *bts, + const struct osmo_cbsp_write_replace *wrepl) +{ + uint8_t etws_primary[ETWS_PRIM_NOTIF_SIZE]; + struct gsm_bts_trx *trx; + unsigned int count = 0; + int i, j; + + gen_etws_primary_notification(etws_primary, wrepl->new_serial_nr, wrepl->msg_id, + wrepl->u.emergency.warning_type, + wrepl->u.emergency.warning_sec_info); + + /* iterate over all lchan in each TS in each TRX of this BTS */ + llist_for_each_entry(trx, &bts->trx_list, list) { + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + for (j = 0; j < ARRAY_SIZE(ts->lchan); j++) { + struct gsm_lchan *lchan = &ts->lchan[j]; + if (!lchan_may_receive_data(lchan)) + continue; + gsm48_send_rr_app_info(lchan, 0x1, 0x0, etws_primary, + sizeof(etws_primary)); + count++; + } + } + } + + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via %u dedicated channels\n", + count); + + /* FIXME: Notify BTS of primary ETWS notification via vendor-specific Abis message */ +} + /*! Try to execute a write-replace operation; roll-back if it fails. * \param[in] chan_state BTS CBCH channel state * \param[in] extended_cbch Basic (false) or Extended (true) CBCH @@ -506,8 +563,10 @@ int rc; if (!wrepl->is_cbs) { - LOG_BTS(bts, DCBS, LOGL_ERROR, "(Primary) Emergency Message not supported\n"); - return -CBSP_CAUSE_CB_NOT_SUPPORTED; + /* send through any active dedicated channels of this BTS */ + etws_primary_to_dedicated(bts, wrepl); + /* TODO: send via RSL to BTS for transmission on PCH */ + return 0; } /* check if cell has a CBCH at all */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I913d0237cffdcb95037da8489acef5f32a7fc02e Gerrit-Change-Number: 15437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 10:07:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 10:07:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification is passed via RSL to PCH In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 to look at the new patch set (#2). Change subject: bsc: Test that ETWS Primary Notification is passed via RSL to PCH ...................................................................... bsc: Test that ETWS Primary Notification is passed via RSL to PCH The BSC must not only pass the ETWS Primary Notification from CBSP down every dedicated channel, but it must also send it via an Osmocom-specific RSL message to enable the BTS to brodcast it via the PCH (P1 Rest Octets) and pass it to the PCU for PACCH. Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Related: #4046 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/15443/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Gerrit-Change-Number: 15443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 10:08:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 10:08:40 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 ) Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 10:08:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 12:01:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 12:01:13 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15441 ) Change subject: osmo-bts-trx/scheduler: fix: do not reset ECU with BFI frame ...................................................................... Abandoned In favor of I001005aae6de76d4e045b8dc572239f057bb150d. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8bdc7483f524006a86ff1fee7cdefafe3db899d8 Gerrit-Change-Number: 15441 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 13:13:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 13:13:10 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 ) Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15444/2/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/#/c/15444/2/src/osmo-bsc/smscb.c at 513 PS2, Line 513: LOGL_ERROR Looks more like a NOTICE. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 13:13:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 13:23:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 13:23:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/15430/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15430/1//COMMIT_MSG at 26 PS1, Line 26: TDMA clock timer generates tons of logging messages, so : we probably want to move it into a separate component. > yes, it should be a separate component. And the . [?] Done in the next patch version. https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn at 515 PS1, Line 515: FIXME: make sure to use parameters from mp_gb_cfg.cell_id > this should be fixed, I guess? Most likely in a separate change, not that critical for now. https://gerrit.osmocom.org/#/c/15430/1/pcu/PCU_Tests_RAW.ttcn at 552 PS1, Line 552: tuwat > Maybe give it a more descriptive name like "selftest"? ;) This testcase is just for demo purposes, I will remove it in the end :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 07 Sep 2019 13:23:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 16:04:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 7 Sep 2019 16:04:02 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 ) Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15444/2/src/osmo-bsc/smscb.c File src/osmo-bsc/smscb.c: https://gerrit.osmocom.org/#/c/15444/2/src/osmo-bsc/smscb.c at 513 PS2, Line 513: LOGL_ERROR > Looks more like a NOTICE. I think it deserves ERROR level. Basically this means that the CBC is asking us to broadcast an emergency message in a BTS which doesn't support it. It shouldn't do that, and as this is about emergency notification in case of natural desasters, anything that goes wrong is an error. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 07 Sep 2019 16:04:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:28:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:28:54 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15418 ) Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:28:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:29:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:29:02 +0000 Subject: Change in ...libosmocore[master]: tdef_vty.h: Add missing header dependencies In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15419 ) Change subject: tdef_vty.h: Add missing header dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc Gerrit-Change-Number: 15419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:29:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:29:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:29:07 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce API osmo_tdef_set() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15418 ) Change subject: tdef: Introduce API osmo_tdef_set() ...................................................................... tdef: Introduce API osmo_tdef_set() This API is already useful for users willing to set a given timer to a given value. It will also contain code later that checks for value being inside valid range for that timer. Related: OS#4190 Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c --- M include/osmocom/core/tdef.h M src/tdef.c 2 files changed, 21 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index 566f5dd..a1ad4cc 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -97,6 +97,7 @@ unsigned long osmo_tdef_get(const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit, long val_if_not_present); struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T); +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit as_unit); /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ diff --git a/src/tdef.c b/src/tdef.c index 40a9900..dfb47f6 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -25,6 +25,7 @@ */ #include +#include #include #include @@ -210,6 +211,25 @@ return NULL; } +/*! Set value in entry matching T, converting val from val_unit to unit of T. + * \param[in] tdefs Array of timer definitions, last entry being fully zero. + * \param[in] T Timer number to set the value for. + * \param[in] val The new timer value to set. + * \param[in] val_unit Units of value in parameter val. + * \return 0 on success, negative on error. + */ +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit) +{ + struct osmo_tdef *t; + osmo_tdef_for_each(t, tdefs) { + if (t->T == T) { + t->val = osmo_tdef_round(val, val_unit, t->unit); + return 0; + } + } + return -EEXIST; +} + /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. * * The timeouts_array shall contain exactly 32 elements, regardless whether only some of them are actually populated -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id56a1226d724a374f04231df85fe5b49ffd2c43c Gerrit-Change-Number: 15418 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:29:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:29:07 +0000 Subject: Change in ...libosmocore[master]: tdef_vty.h: Add missing header dependencies In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15419 ) Change subject: tdef_vty.h: Add missing header dependencies ...................................................................... tdef_vty.h: Add missing header dependencies enum node_type is defined in osmocom/vty/command.h va_list is defined in stdarg.h Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc --- M include/osmocom/vty/tdef_vty.h 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/vty/tdef_vty.h b/include/osmocom/vty/tdef_vty.h index 3027913..6334d5b 100644 --- a/include/osmocom/vty/tdef_vty.h +++ b/include/osmocom/vty/tdef_vty.h @@ -25,6 +25,9 @@ #pragma once #include +#include + +#include struct vty; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia439a7097ae7a9765e229e5f66e07af3fe490ecc Gerrit-Change-Number: 15419 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:33:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:33:47 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: fix possible NULL-pointer dereference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15439 ) Change subject: common/rsl.c: fix possible NULL-pointer dereference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Gerrit-Change-Number: 15439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:33:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:35:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:35:22 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: prevent uninitialized memory access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14876 ) Change subject: osmo-bts-trx/scheduler: prevent uninitialized memory access ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Gerrit-Change-Number: 14876 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:36:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:36:39 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15440 ) Change subject: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 Gerrit-Change-Number: 15440 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:36:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 22:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 22:39:06 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15442 ) Change subject: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 Gerrit-Change-Number: 15442 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 22:39:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:05:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 23:05:22 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: fix possible NULL-pointer dereference In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15439 ) Change subject: common/rsl.c: fix possible NULL-pointer dereference ...................................................................... common/rsl.c: fix possible NULL-pointer dereference Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Fixes: CID#203810 --- M src/common/rsl.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/rsl.c b/src/common/rsl.c index 056c16d..c0d43d0 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1745,10 +1745,14 @@ /* 8.5.8 CBCH Load Information */ int rsl_tx_cbch_load_indication(struct gsm_bts *bts, bool ext_cbch, bool overflow, uint8_t amount) { - struct gsm_lchan *lchan = gsm_bts_get_cbch(bts); + struct gsm_lchan *lchan; struct msgb *msg; uint8_t load_info; + lchan = gsm_bts_get_cbch(bts); + if (!lchan) + return -ENODEV; + msg = rsl_msgb_alloc(sizeof(struct abis_rsl_cchan_hdr)); if (!msg) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I11a35a8f500fafa7b3c93d2f2244cc4d42f09f1b Gerrit-Change-Number: 15439 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:05:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 23:05:23 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: prevent uninitialized memory access In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14876 ) Change subject: osmo-bts-trx/scheduler: prevent uninitialized memory access ...................................................................... osmo-bts-trx/scheduler: prevent uninitialized memory access When sending an AMR BFI, we need to call osmo_amr_rtp_enc() with AMR_BAD as the last parameter. This function returns the length of encoded payload, which needs to be at least 2 octets long. If osmo_amr_rtp_enc() returns a length value lower than 2 octets (what should not happen in general), we should neither call memset() on it, nor call _sched_compose_tch_ind(). Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Fixes: CID#178648, CID#178637, CID#178651 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 18 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ef24119..1a60443 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -382,8 +382,12 @@ len = osmo_amr_rtp_enc(tch_data, chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); - if (len < 2) - break; + if (len < 2) { + LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + "Failed to encode AMR_BAD frame (rc=%d), " + "not sending BFI\n", len); + return; + } memset(tch_data + 2, 0, len - 2); _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len); break; @@ -1284,8 +1288,12 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); - if (rc < 2) - break; + if (rc < 2) { + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "Failed to encode AMR_BAD frame (rc=%d), " + "not sending BFI\n", rc); + return -EINVAL; + } memset(tch_data + 2, 0, rc - 2); break; default: @@ -1477,8 +1485,12 @@ chan_state->codec[chan_state->dl_cmr], chan_state->codec[chan_state->dl_ft], AMR_BAD); - if (rc < 2) - break; + if (rc < 2) { + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "Failed to encode AMR_BAD frame (rc=%d), " + "not sending BFI\n", rc); + return -EINVAL; + } memset(tch_data + 2, 0, rc - 2); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I70ce98c5697b9ce6fac7ab57a5d70f3201db29d9 Gerrit-Change-Number: 14876 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:05:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 23:05:24 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15440 ) Change subject: osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice ...................................................................... osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice We call _sched_compose_tch_ind() after the switch statement, so there is no need to send it from case 'GSM48_CMODE_SPEECH_AMR'. Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 1a60443..57eb138 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -389,7 +389,6 @@ return; } memset(tch_data + 2, 0, len - 2); - _sched_compose_tch_ind(l1t, tn, fn, chan, tch_data, len); break; default: inval_mode1: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0488082494120157ac438d7763b52e3998f0eac7 Gerrit-Change-Number: 15440 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:27:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 7 Sep 2019 23:27:54 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15442 ) Change subject: osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI ...................................................................... osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 57eb138..1249053 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1466,6 +1466,8 @@ 0 /* FIXME: AVG C/I */, ber10k, PRES_INFO_UNKNOWN); bfi: + /* FIXME: a FACCH/H frame replaces two speech frames, + * so we actually need to send two bad frame indications! */ if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ switch (tch_mode) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie006cd46cb574d272fbe3b38595a3087617c79d1 Gerrit-Change-Number: 15442 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:30:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 23:30:45 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Patch Set 1: If I understood the fix correctly, I really think this patch should be splitted into two patches: * Fix second loop to use complex(fsrc[0], fsrc[1]) instead of complex(fdst[0], fdst[1]) * rearrange code to have 1 loop. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 1 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 23:30:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:40:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 23:40:15 +0000 Subject: Change in ...osmo-bsc[master]: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15406 ) Change subject: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 Gerrit-Change-Number: 15406 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 07 Sep 2019 23:40:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:40:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 23:40:33 +0000 Subject: Change in ...osmo-bsc[master]: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15406 ) Change subject: a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET ...................................................................... a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET Function fsm_reset_ack_timeout_cb() could be called directly from within a_reset_alloc(), but it's still desirable to deferr the BSSMAP RESET to be sent asynchronously by the timer upon next main loop step as soon as possible, so whole process is already configured properly. 1ms needs to be set instead of 0 (immediate asynchronous) because value 0 actually disables the timer. As a result, moving the state_chg() after the msc->a.reset_fsm assignment is not really needed, but still makes it more clear that the pointer will be set upon call of the timer callback. Related: OS#4188 Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 --- M src/osmo-bsc/a_reset.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index fc59ff4..b75272f 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -161,11 +161,10 @@ reset_ctx->conn_loss_counter = 0; reset_fsm = osmo_fsm_inst_alloc(&fsm, msc, reset_ctx, LOGL_DEBUG, name); OSMO_ASSERT(reset_fsm); - - /* kick off reset-ack sending mechanism */ - osmo_fsm_inst_state_chg(reset_fsm, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); - msc->a.reset_fsm = reset_fsm; + + /* Immediatelly (1ms) kick off reset sending mechanism */ + osmo_fsm_inst_state_chg_ms(reset_fsm, ST_DISC, 1, RESET_RESEND_TIMER_NO); } /* Confirm that we sucessfully received a reset acknowlege message */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I68d76a4050d4dec7d53b0031d67e0dd35ddd8764 Gerrit-Change-Number: 15406 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 7 23:40:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 7 Sep 2019 23:40:34 +0000 Subject: Change in ...osmo-bsc[master]: bsc: gsm_08_08.c: Remove repeated conn not null check In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15407 ) Change subject: bsc: gsm_08_08.c: Remove repeated conn not null check ...................................................................... bsc: gsm_08_08.c: Remove repeated conn not null check msc_is_connected() already checks against NULL. Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 43117a8..4b0752f 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -128,7 +128,7 @@ int rc; struct msgb *resp; - if (!conn || !msc_connected(conn)) + if (!msc_connected(conn)) return; LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie9635cd2c6149cd0f8c017cfcb47481f91c4bed1 Gerrit-Change-Number: 15407 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 8 00:58:05 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 00:58:05 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d745235d3b2b_36d82b1be80725f4648376@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 512s] ar: `u' modifier ignored since `D' is the default (see `U') [ 512s] libtool: link: ranlib .libs/libtransceiver_common.a [ 512s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 512s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 512s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 512s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 512s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 512s] collect2: error: ld returned 1 exit status [ 512s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 512s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 512s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 512s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 512s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 512s] make[1]: *** [Makefile:444: all] Error 2 [ 512s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 512s] dh_auto_build: make -j1 returned exit code 2 [ 512s] make: *** [debian/rules:6: build] Error 255 [ 512s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 512s] [ 512s] build75 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 00:57:49 UTC 2019. [ 512s] [ 512s] ### VM INTERACTION START ### [ 516s] [ 497.572834] sysrq: SysRq : Power Off [ 516s] [ 497.576093] reboot: Power down [ 516s] ### VM INTERACTION END ### [ 516s] [ 516s] build75 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 00:57:54 UTC 2019. [ 516s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 00:58:39 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 00:58:39 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d745252223d3_36d82b1be80725f4648554@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 329s] ar: `u' modifier ignored since `D' is the default (see `U') [ 329s] libtool: link: ranlib .libs/libtransceiver_common.a [ 329s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 329s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 330s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 330s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 330s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 330s] collect2: error: ld returned 1 exit status [ 330s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 330s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 330s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 330s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 330s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 330s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 330s] make[1]: *** [Makefile:444: all] Error 2 [ 330s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 330s] dh_auto_build: make -j1 returned exit code 2 [ 330s] make: *** [debian/rules:6: build] Error 255 [ 330s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 330s] [ 330s] sheep84 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 00:58:22 UTC 2019. [ 330s] [ 330s] ### VM INTERACTION START ### [ 333s] [ 320.095326] sysrq: SysRq : Power Off [ 333s] [ 320.100834] reboot: Power down [ 333s] ### VM INTERACTION END ### [ 333s] [ 333s] sheep84 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 00:58:26 UTC 2019. [ 333s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 00:59:48 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 00:59:48 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d745293bb5d5_36d82b1be80725f4648735@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 436s] ar: `u' modifier ignored since `D' is the default (see `U') [ 436s] libtool: link: ranlib .libs/libtransceiver_common.a [ 436s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 436s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 437s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 437s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 437s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 437s] collect2: error: ld returned 1 exit status [ 437s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 437s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 437s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 437s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 437s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 437s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 437s] make[1]: *** [Makefile:444: all] Error 2 [ 437s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 437s] dh_auto_build: make -j1 returned exit code 2 [ 437s] make: *** [debian/rules:6: build] Error 255 [ 437s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 437s] [ 437s] lamb70 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 00:59:30 UTC 2019. [ 437s] [ 437s] ### VM INTERACTION START ### [ 440s] [ 421.669092] sysrq: SysRq : Power Off [ 440s] [ 421.677706] reboot: Power down [ 440s] ### VM INTERACTION END ### [ 440s] [ 440s] lamb70 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 00:59:33 UTC 2019. [ 440s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 01:22:05 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 01:22:05 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d7457d6b12e3_36d82b1be80725f46526fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Raspbian_10/armv7l Package network:osmocom:nightly/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 742s] [ 81%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o [ 742s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlLimeSDR.cpp [ 745s] [ 82%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o [ 745s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 754s] [ 83%] Linking CXX executable ../bin/LimeSuiteGUI [ 754s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 755s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/lms7002m_novena_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/RFSpark/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/HPM7/HPM7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/myriad7/myriad7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.19.04.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 758s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 758s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 758s] collect2: error: ld returned 1 exit status [ 758s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:975: bin/LimeSuiteGUI] Error 1 [ 758s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 758s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 758s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 758s] make[1]: *** [Makefile:133: all] Error 2 [ 758s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 758s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j2 returned exit code 2 [ 758s] make: *** [debian/rules:28: binary] Error 2 [ 758s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 758s] [ 758s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 8 01:21:56 UTC 2019. [ 758s] [ 758s] ### VM INTERACTION START ### [ 761s] [ 734.700839] sysrq: SysRq : Power Off [ 761s] [ 734.702051] reboot: Power down [ 761s] ### VM INTERACTION END ### [ 761s] [ 761s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 8 01:21:59 UTC 2019. [ 761s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 01:30:39 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 01:30:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7459d31a3c4_36d82b1be80725f46538b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 467s] ar: `u' modifier ignored since `D' is the default (see `U') [ 467s] libtool: link: ranlib .libs/libtransceiver_common.a [ 468s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 468s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 468s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 468s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 468s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 468s] collect2: error: ld returned 1 exit status [ 468s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 468s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 468s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 468s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 468s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 468s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 468s] make[1]: *** [Makefile:444: all] Error 2 [ 468s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 468s] dh_auto_build: make -j1 returned exit code 2 [ 468s] make: *** [debian/rules:6: build] Error 255 [ 468s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 468s] [ 468s] lamb02 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:30:29 UTC 2019. [ 468s] [ 468s] ### VM INTERACTION START ### [ 471s] [ 443.557495] sysrq: SysRq : Power Off [ 471s] [ 443.565175] reboot: Power down [ 471s] ### VM INTERACTION END ### [ 471s] [ 471s] lamb02 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:30:32 UTC 2019. [ 471s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 01:52:22 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 01:52:22 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d745edd6e3f3_36d82b1be80725f465571f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 566s] ar: `u' modifier ignored since `D' is the default (see `U') [ 566s] libtool: link: ranlib .libs/libtransceiver_common.a [ 566s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 566s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 567s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 567s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 567s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 567s] collect2: error: ld returned 1 exit status [ 567s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 567s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 567s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 567s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 567s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 567s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 567s] make[1]: *** [Makefile:444: all] Error 2 [ 567s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 567s] dh_auto_build: make -j1 returned exit code 2 [ 567s] make: *** [debian/rules:6: build] Error 255 [ 567s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 567s] [ 567s] lamb53 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:52:02 UTC 2019. [ 567s] [ 567s] ### VM INTERACTION START ### [ 570s] [ 546.062255] sysrq: SysRq : Power Off [ 570s] [ 546.069053] reboot: Power down [ 570s] ### VM INTERACTION END ### [ 570s] [ 570s] lamb53 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:52:05 UTC 2019. [ 570s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 01:59:48 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 01:59:48 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d74609f93c44_36d82b1be80725f4656471@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 600s] ar: `u' modifier ignored since `D' is the default (see `U') [ 600s] libtool: link: ranlib .libs/libtransceiver_common.a [ 601s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 601s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 601s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 602s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 602s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 602s] collect2: error: ld returned 1 exit status [ 602s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 602s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 602s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 602s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 602s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 602s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 602s] make[1]: *** [Makefile:444: all] Error 2 [ 602s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 602s] dh_auto_build: make -j1 returned exit code 2 [ 602s] make: *** [debian/rules:6: build] Error 255 [ 602s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 602s] [ 602s] build31 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:59:38 UTC 2019. [ 602s] [ 602s] ### VM INTERACTION START ### [ 605s] [ 579.487585] sysrq: SysRq : Power Off [ 605s] [ 579.495249] reboot: Power down [ 605s] ### VM INTERACTION END ### [ 605s] [ 605s] build31 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 01:59:41 UTC 2019. [ 605s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 03:51:14 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 03:51:14 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d747ac42cfdb_36d82b1be80725f46757c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_10/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 1004s] [ 81%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o [ 1004s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlLimeSDR.cpp [ 1004s] [ 82%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o [ 1004s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 1018s] [ 83%] Linking CXX executable ../bin/LimeSuiteGUI [ 1018s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 1018s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/lms7002m_novena_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/RFSpark/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/HPM7/HPM7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/myriad7/myriad7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.19.04.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 1025s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 1025s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 1025s] collect2: error: ld returned 1 exit status [ 1025s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:975: bin/LimeSuiteGUI] Error 1 [ 1025s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1025s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 1025s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1025s] make[1]: *** [Makefile:133: all] Error 2 [ 1025s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1025s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j2 returned exit code 2 [ 1025s] make: *** [debian/rules:28: binary] Error 2 [ 1025s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 1025s] [ 1025s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 8 03:50:55 UTC 2019. [ 1025s] [ 1025s] ### VM INTERACTION START ### [ 1028s] [ 998.649868] sysrq: SysRq : Power Off [ 1028s] [ 998.670448] reboot: Power down [ 1029s] ### VM INTERACTION END ### [ 1029s] [ 1029s] armbuild01 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 8 03:50:59 UTC 2019. [ 1029s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 05:13:57 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 05:13:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d748e1b19548_36d82b1be80725f46853dd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 439s] ar: `u' modifier ignored since `D' is the default (see `U') [ 439s] libtool: link: ranlib .libs/libtransceiver_common.a [ 439s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 439s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 440s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 440s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 440s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 440s] collect2: error: ld returned 1 exit status [ 440s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 440s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 440s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 440s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 440s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 440s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 440s] make[1]: *** [Makefile:444: all] Error 2 [ 440s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 440s] dh_auto_build: make -j1 returned exit code 2 [ 440s] make: *** [debian/rules:6: build] Error 255 [ 440s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 440s] [ 440s] lamb58 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 05:13:40 UTC 2019. [ 440s] [ 440s] ### VM INTERACTION START ### [ 443s] [ 424.242120] sysrq: SysRq : Power Off [ 443s] [ 424.248378] reboot: Power down [ 443s] ### VM INTERACTION END ### [ 443s] [ 443s] lamb58 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 05:13:44 UTC 2019. [ 443s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 05:27:57 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 05:27:57 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7491611cca3_36d82b1be80725f4685711@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 439s] ar: `u' modifier ignored since `D' is the default (see `U') [ 439s] libtool: link: ranlib .libs/libtransceiver_common.a [ 439s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 439s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 439s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 439s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 439s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 439s] collect2: error: ld returned 1 exit status [ 439s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 439s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 439s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 439s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 439s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 439s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 439s] make[1]: *** [Makefile:444: all] Error 2 [ 439s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 439s] dh_auto_build: make -j1 returned exit code 2 [ 439s] make: *** [debian/rules:6: build] Error 255 [ 439s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 439s] [ 439s] lamb51 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 05:27:48 UTC 2019. [ 439s] [ 439s] ### VM INTERACTION START ### [ 442s] [ 423.850512] sysrq: SysRq : Power Off [ 442s] [ 423.868211] reboot: Power down [ 442s] ### VM INTERACTION END ### [ 442s] [ 442s] lamb51 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 05:27:51 UTC 2019. [ 442s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:37:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:37:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification is passed via RSL to PCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 ) Change subject: bsc: Test that ETWS Primary Notification is passed via RSL to PCH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Gerrit-Change-Number: 15443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Sep 2019 08:37:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:38:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:38:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification are sent via dedicated channels In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 ) Change subject: bsc: Test that ETWS Primary Notification are sent via dedicated channels ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 Gerrit-Change-Number: 15414 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 08 Sep 2019 08:38:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:39:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification are sent via dedicated channels In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 ) Change subject: bsc: Test that ETWS Primary Notification are sent via dedicated channels ...................................................................... bsc: Test that ETWS Primary Notification are sent via dedicated channels When the BSC receives an ETWS PN via CBSP, it must send it through all established dedicated channels of the matching BTSs. Related: OS#4046 Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 --- M bsc/BSC_Tests_CBSP.ttcn M library/CBSP_Templates.ttcn M library/L3_Templates.ttcn 3 files changed, 108 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 3d6040e..792b771 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -25,6 +25,10 @@ import from IPA_CodecPort all; import from IPA_Types all; +import from MobileL3_Types all; +import from MobileL3_RRM_Types all; +import from L3_Templates all; + import from RSL_Types all; import from RSL_Emulation all; @@ -155,6 +159,35 @@ } /* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ +function f_cbsp_write_emerg(uint16_t msg_id, uint16_t ser_no, + template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, + template (value) uint8_t emerg_ind := 1, + template (value) uint16_t warn_type := oct2int('0780'O), + template (value) uint16_t warn_per := 5, + template BSSMAP_FIELD_CellIdentificationList success_list := ?, + template CBSP_FailureListItems fail_list := omit) runs on cbsp_test_CT { + var template (value) CBSP_PDU tx; + var template CBSP_PDU rx; + var CBSP_IEs pages := {f_gen_page()}; + + tx := ts_CBSP_WRITE_EMERG(msg_id, ser_no, cell_list, emerg_ind, warn_type, warn_per); + CBSP[0].send(ts_CBSP_Send(g_cbsp_conn_id[0], tx)); + if (istemplatekind(fail_list, "omit")) { + rx := tr_CBSP_WRITE_CBS_COMPL(msg_id, ser_no, success_list, omit); + } else { + rx := tr_CBSP_WRITE_CBS_FAIL(msg_id, ser_no, fail_list, *, success_list, omit); + } + alt { + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], rx)) { + setverdict(pass); + } + [] CBSP[0].receive(tr_CBSP_Recv(g_cbsp_conn_id[0], ?)) { + setverdict(fail, "Received unexpected CBSP"); + } + } +} + +/* send a WRITE CBS to the BSC; expect either COMPLETE or FAILURE in response*/ function f_cbsp_write(uint16_t msg_id, uint16_t ser_no, template (value) BSSMAP_FIELD_CellIdentificationList cell_list := ts_BSSMAP_CIL_BSS, template (value) CBSP_Category category := CBSP_CATEG_NORMAL, @@ -478,6 +511,57 @@ f_cbsp_reset_bss(0); } +private const octetstring c_ETWS_sec_default := + '00000000000000000000000000000000000000000000000000'O & + '00000000000000000000000000000000000000000000000000'O; +function f_gen_etws_pn(uint16_t ser_nr, uint16_t msg_id, OCT2 msg_type := '0780'O, + octetstring sec_inf := c_ETWS_sec_default) return octetstring { + return int2oct(ser_nr, 2) & int2oct(msg_id, 2) & msg_type & sec_inf; +} + +/* Write ETWS PN to single BTS; verify it arrives on DCHAN */ +testcase TC_cbsp_emerg_write_bts_cgi_dchan() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + var ASP_RSL_Unitdata rx_rsl_ud; + + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + + /* first establish a dedicated channel */ + var DchanTuple dt := f_est_dchan('23'O, 23, '00010203040506'O); + + /* then send ETWS PN */ + f_cbsp_write_emerg(15, 1015, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(1015, 15); + timer T := 5.0; + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(dt.rsl_chan_nr, ?, ?))) -> value rx_rsl_ud { + var RSL_IE_Body l3_ie; + if (f_rsl_find_ie(rx_rsl_ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { + setverdict(fail, "RSL DATA REQ without L3?"); + mtc.stop; + } + var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(l3_ie.l3_info.payload); + var template (present) APDU_Flags_V tr_flags := { + lastSeg := '0'B, + firstSeg := '0'B, + cR := '0'B, + spare := '0'B + }; + if (match(l3, tr_RR_APP_INFO('0001'B, tr_apdu, tr_flags))) { + setverdict(pass); + } + } + [] IPA_RSL[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Waiting for APP INFO"); + } + } +} + + control { execute( TC_cbsp_bsc_server() ); execute( TC_cbsp_bsc_client() ); @@ -499,6 +583,8 @@ execute( TC_cbsp_kill_nonexist() ); execute( TC_cbsp_write_then_kill() ); execute( TC_cbsp_write_then_reset() ); + + execute( TC_cbsp_emerg_write_bts_cgi_dchan() ); } diff --git a/library/CBSP_Templates.ttcn b/library/CBSP_Templates.ttcn index 7c73d7c..57e87e2 100644 --- a/library/CBSP_Templates.ttcn +++ b/library/CBSP_Templates.ttcn @@ -283,7 +283,6 @@ template (value) BSSMAP_FIELD_CellIdentificationList cell_list, template (value) uint8_t emerg_ind, template (value) uint16_t warn_type, - template (value) uint16_t num_bcast_req, template (value) uint8_t warn_per ) := ts_CBSP(CBSP_MSGT_WRITE_REPLACE, { diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index bc0e797..2fb86d0 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -523,6 +523,28 @@ } } +template (present) PDU_ML3_NW_MS tr_RR_APP_INFO(template (present) BIT4 apdu_id, + template (present) octetstring data, + template (present) APDU_Flags_V flags := ?) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + rrm := { + applicationInformation := { + messageType := '00111000'B, + aPDU_ID := apdu_id, + aPDU_Flags := flags, + aPDU_Data := { + lengthIndicator := ?, + aPDU_DataValue := data + } + } + } + } +} + template (value) PDU_ML3_NW_MS ts_RR_HandoverCommand := { discriminator := '0110'B, tiOrSkip := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib057bd251604e9bae968e71de245b3bbf737a356 Gerrit-Change-Number: 15414 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:39:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:39:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test that ETWS Primary Notification is passed via RSL to PCH In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 ) Change subject: bsc: Test that ETWS Primary Notification is passed via RSL to PCH ...................................................................... bsc: Test that ETWS Primary Notification is passed via RSL to PCH The BSC must not only pass the ETWS Primary Notification from CBSP down every dedicated channel, but it must also send it via an Osmocom-specific RSL message to enable the BTS to brodcast it via the PCH (P1 Rest Octets) and pass it to the PCU for PACCH. Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Related: #4046 --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 77 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index 792b771..bf1d99e 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -561,6 +561,81 @@ } } +/* Write ETWS PN to single BTS; verify it arrives on CCHAN */ +testcase TC_cbsp_emerg_write_bts_cgi_cchan() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + var ASP_RSL_Unitdata rx_rsl_ud; + + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + + f_cbsp_write_emerg(16, 1016, cell_list); + var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + timer T := 5.0; + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, + tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + setverdict(pass); + } + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); + } + [] IPA_RSL[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL_OSMO_ETWS_CMD"); + } + } +} + +/* Write ETWS PN to single BTS; verify it arrives on CCHAN */ +testcase TC_cbsp_emerg_write_bts_cgi_cchan_disable() runs on cbsp_test_CT { + var CBSP_IEs pages := {f_gen_page()}; + var template (value) BSSMAP_FIELD_CellIdentificationList cell_list; + var ASP_RSL_Unitdata rx_rsl_ud; + + cell_list := ts_BSSMAP_CIL_CGI({bssmap_cgi(mp_cgi_bts0)}); + f_cbsp_init_server(); + + f_cbsp_write_emerg(16, 1016, cell_list); + + /* first expect the PN to be enabled */ + var template (present) octetstring tr_apdu := f_gen_etws_pn(1016, 16); + timer T := 5.0; + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, + tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + setverdict(pass); + } + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); + } + [] IPA_RSL[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL_OSMO_ETWS_CMD (enable)"); + } + } + + /* then expect it to be disabled after the warning period (5s) */ + T.start; + alt { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, + tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O))) { + setverdict(pass); + } + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); + } + [] IPA_RSL[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL_OSMO_ETWS_CMD (disable)"); + } + } +} + + control { execute( TC_cbsp_bsc_server() ); @@ -585,6 +660,8 @@ execute( TC_cbsp_write_then_reset() ); execute( TC_cbsp_emerg_write_bts_cgi_dchan() ); + execute( TC_cbsp_emerg_write_bts_cgi_cchan() ); + execute( TC_cbsp_emerg_write_bts_cgi_cchan_disable() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia418095844aaa418a4e2ff6fd75d8a4b3c8bb9c0 Gerrit-Change-Number: 15443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:39:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:39:16 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 ) Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Sep 2019 08:39:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 08:39:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 08:39:18 +0000 Subject: Change in ...osmo-bsc[master]: SMSCB: Send ETWS Primary Notifiation via RSL to BTS In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15444 ) Change subject: SMSCB: Send ETWS Primary Notifiation via RSL to BTS ...................................................................... SMSCB: Send ETWS Primary Notifiation via RSL to BTS In addition to transmission of the ETWS Primary Notification via all dedicated channels, we also need to send it to the BTS for transmission via PCH (P1 Rest Octets) and for forwarding to PCU for PACCH transmission. Change-Id: I7e45b0373458a4348b12b92dd92861062532548b --- M include/osmocom/bsc/abis_rsl.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/smscb.c 4 files changed, 44 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h index ec63090..4ccfd14 100644 --- a/include/osmocom/bsc/abis_rsl.h +++ b/include/osmocom/bsc/abis_rsl.h @@ -91,6 +91,7 @@ int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, struct rsl_ie_cb_cmd_type cb_command, bool use_extended_cbch, const uint8_t *data, int len); +int rsl_etws_pn_command(struct gsm_bts *bts, uint8_t chan_nr, const uint8_t *data, int len); /* some Nokia specific stuff */ int rsl_nokia_si_begin(struct gsm_bts_trx *trx); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 8dfbc64..f6d6d5e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1266,6 +1266,7 @@ struct osmo_timer_list cbch_timer; struct bts_smscb_chan_state cbch_basic; struct bts_smscb_chan_state cbch_extended; + struct osmo_timer_list etws_timer; /* when to stop ETWS PN */ }; /* One rejected BTS */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 06d19a5..4a7d104 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2203,6 +2203,25 @@ return rc; } +/* Send an Osmocom-specific Abis RSL message for ETWS Primary Notification */ +int rsl_etws_pn_command(struct gsm_bts *bts, uint8_t chan_nr, const uint8_t *data, int len) +{ + struct abis_rsl_dchan_hdr *dh; + struct msgb *msg = rsl_msgb_alloc(); + if (!msg) + return -1; + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); + init_dchan_hdr(dh, RSL_MT_OSMO_ETWS_CMD); + dh->c.msg_discr = ABIS_RSL_MDISC_COM_CHAN; + dh->chan_nr = chan_nr; + + msgb_tlv_put(msg, RSL_IE_SMSCB_MSG, len, data); + + msg->dst = bts->c0->rsl_link; + + return abis_rsl_sendmsg(msg); +} + int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, struct rsl_ie_cb_cmd_type cb_command, bool use_extended_cbch, const uint8_t *data, int len) diff --git a/src/osmo-bsc/smscb.c b/src/osmo-bsc/smscb.c index 319ef21..8d48af9 100644 --- a/src/osmo-bsc/smscb.c +++ b/src/osmo-bsc/smscb.c @@ -40,6 +40,7 @@ #include #include #include +#include /********************************************************************************* * Helper Functions @@ -461,8 +462,15 @@ * Per-BTS Processing of CBSP from CBC, called via cbsp_per_bts() *********************************************************************************/ -static void etws_primary_to_dedicated(struct gsm_bts *bts, - const struct osmo_cbsp_write_replace *wrepl) +/* timer call-back once ETWS warning period has expired */ +static void etws_pn_cb(void *data) +{ + struct gsm_bts *bts = (struct gsm_bts *)data; + LOG_BTS(bts, DCBS, LOGL_NOTICE, "ETWS PN Timeout; disabling broadcast via PCH\n"); + rsl_etws_pn_command(bts, RSL_CHAN_PCH_AGCH, NULL, 0); +} + +static void etws_primary_to_bts(struct gsm_bts *bts, const struct osmo_cbsp_write_replace *wrepl) { uint8_t etws_primary[ETWS_PRIM_NOTIF_SIZE]; struct gsm_bts_trx *trx; @@ -491,7 +499,18 @@ LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via %u dedicated channels\n", count); - /* FIXME: Notify BTS of primary ETWS notification via vendor-specific Abis message */ + /* Notify BTS of primary ETWS notification via vendor-specific Abis message */ + if (osmo_bts_has_feature(&bts->features, BTS_FEAT_ETWS_PN)) { + rsl_etws_pn_command(bts, RSL_CHAN_PCH_AGCH, etws_primary, sizeof(etws_primary)); + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Sent ETWS Primary Notification via common channel\n"); + if (wrepl->u.emergency.warning_period != 0xffffffff) { + osmo_timer_setup(&bts->etws_timer, etws_pn_cb, bts); + osmo_timer_schedule(&bts->etws_timer, wrepl->u.emergency.warning_period, 0); + } else + LOG_BTS(bts, DCBS, LOGL_NOTICE, "Unlimited ETWS PN broadcast, this breaks " + "normal network operation due to PCH blockage\n"); + } else + LOG_BTS(bts, DCBS, LOGL_ERROR, "BTS doesn't support RSL command for ETWS PN\n"); } /*! Try to execute a write-replace operation; roll-back if it fails. @@ -563,9 +582,7 @@ int rc; if (!wrepl->is_cbs) { - /* send through any active dedicated channels of this BTS */ - etws_primary_to_dedicated(bts, wrepl); - /* TODO: send via RSL to BTS for transmission on PCH */ + etws_primary_to_bts(bts, wrepl); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e45b0373458a4348b12b92dd92861062532548b Gerrit-Change-Number: 15444 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 8 08:46:18 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 08:46:18 +0000 Subject: Build failure of network:osmocom:latest/libosmo-netif in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d74c004768fe_36d82b1be80725f4712547@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-netif/Raspbian_10/armv7l Package network:osmocom:latest/libosmo-netif failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest libosmo-netif Last lines of build log: [ 269s] | configure:9487: result: -lsctp [ 269s] | configure:9512: checking dahdi/user.h usability [ 269s] | configure:9512: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -Wall conftest.c >&5 [ 269s] | conftest.c:63:10: fatal error: dahdi/user.h: No such file or directory [ 269s] | #include [ 269s] | ^~~~~~~~~~~~~~ [ 269s] | compilation terminated. [ 269s] | configure:9512: $? = 1 [ 269s] | configure: failed program was: [ 269s] | | /* confdefs.h */ [ 269s] | | #define PACKAGE_NAME "libosmo-netif" [ 269s] | | #define PACKAGE_TARNAME "libosmo-netif" [ 269s] | | #define PACKAGE_VERSION "0.6.0" [ 269s] | | #define PACKAGE_STRING "libosmo-netif 0.6.0" [ 269s] | | #define PACKAGE_BUGREPORT "openbsc-devel at lists.openbsc.org" [ 269s] | | #define PACKAGE_URL "" [ 269s] | | #define PACKAGE "libosmo-netif" [ 269s] | | #define VERSION "0.6.0" [ 269s] | | #define STDC_HEADERS 1 [ 269s] | | #define HAVE_SYS_TYPES_H 1 [ 269s] | | #define HAVE_SYS_STAT_H 1 [ 269s] | | #define HAVE_STDLIB_H 1 [ 269s] | | #define HAVE_STRING_H 1 [ 272s] | | #define HAVE_MEMOR[ 229.749536] sysrq: SysRq : Power Off [ 272s] [ 229.752076] reboot: Power down [ 272s] ### VM INTERACTION END ### [ 272s] [ 272s] armbuild13 failed "build libosmo-netif_0.6.0.dsc" at Sun Sep 8 08:46:12 UTC 2019. [ 272s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 13:44:18 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 13:44:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7505bf37b08_36d82b1be80725f47591d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 447s] ar: `u' modifier ignored since `D' is the default (see `U') [ 447s] libtool: link: ranlib .libs/libtransceiver_common.a [ 447s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 447s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 448s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 448s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 448s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 448s] collect2: error: ld returned 1 exit status [ 448s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 448s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 448s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 448s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 448s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 448s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 448s] make[1]: *** [Makefile:444: all] Error 2 [ 448s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 448s] dh_auto_build: make -j1 returned exit code 2 [ 448s] make: *** [debian/rules:6: build] Error 255 [ 448s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 448s] [ 448s] lamb57 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 13:44:02 UTC 2019. [ 448s] [ 448s] ### VM INTERACTION START ### [ 451s] [ 432.171371] sysrq: SysRq : Power Off [ 451s] [ 432.179252] reboot: Power down [ 451s] ### VM INTERACTION END ### [ 451s] [ 451s] lamb57 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Sun Sep 8 13:44:06 UTC 2019. [ 451s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 8 13:45:09 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 08 Sep 2019 13:45:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7505f7c9068_36d82b1be80725f47592af@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 417s] ar: `u' modifier ignored since `D' is the default (see `U') [ 417s] libtool: link: ranlib .libs/libtransceiver_common.a [ 417s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 417s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 418s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 418s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 418s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 418s] collect2: error: ld returned 1 exit status [ 418s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 418s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 418s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 418s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 418s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 418s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 418s] make[1]: *** [Makefile:444: all] Error 2 [ 418s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 418s] dh_auto_build: make -j1 returned exit code 2 [ 418s] make: *** [debian/rules:6: build] Error 255 [ 418s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 418s] [ 418s] lamb07 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 13:44:48 UTC 2019. [ 418s] [ 418s] ### VM INTERACTION START ### [ 421s] [ 402.421956] sysrq: SysRq : Power Off [ 421s] [ 402.429626] reboot: Power down [ 421s] ### VM INTERACTION END ### [ 421s] [ 421s] lamb07 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 8 13:44:52 UTC 2019. [ 421s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 8 13:58:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Sep 2019 13:58:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 Change subject: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions ...................................................................... library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions Since I403d2141536303a966be7ff51b06c3de202412e6, IA Rest Octets is a mandatory IE. When changing the definition of ts_IMM_ASS, I forgot to mark its optional 'lh', 'hl', and 'hh' as omitted explicitly. As a result, many of our TTCN-3 test cases were broken: Dynamic test case error: Using an unbound optional field. Also, in Ifdcdcf50709fcc03195cb8ef6092977e26f910ec I added an optional field 'pad' to record 'IaRestOctets'. That was not the best solution, because padding should be handled transparently. Let's get rid of that dummy field and equip both 'ImmediateAssignment' and 'IaRestOctets' records with proper padding attributes. The later one needs to be marked with 'CSN.1 L/H' attribute in the future, but for now we should keep it octet-aligned. Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 --- M library/GSM_RR_Types.ttcn 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/15446/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index f313e23..b098118 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -543,13 +543,13 @@ IaRestOctLL ll optional, IaRestOctLH lh optional, IaRestOctHL hl optional, - IaRestOctHH hh optional, - bitstring pad optional + IaRestOctHH hh optional } with { variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" variant (hl) "PRESENCE(presence = '10'B)" variant (hh) "PRESENCE(presence = '11'B)" + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; type record MeasurementResults { @@ -590,7 +590,8 @@ /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" + variant "PADDING(168), PADDING_PATTERN('00101011'B)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -744,7 +745,8 @@ /* Compressed INTER RAT HO INFO: shall not be used (L) * TODO: use variant "CSN.1 L/H" to avoid confusion. */ compressed_irat_ho_info_ind := '1'B - } + }, + lh := omit, hl := omit, hh := omit } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 Gerrit-Change-Number: 15446 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 17:08:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Sep 2019 17:08:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 ) Change subject: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 Gerrit-Change-Number: 15446 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Sep 2019 17:08:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 17:08:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 8 Sep 2019 17:08:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 ) Change subject: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 Gerrit-Change-Number: 15446 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 08 Sep 2019 17:08:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 8 19:21:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Sep 2019 19:21:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 ) Change subject: library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions ...................................................................... library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions Since I403d2141536303a966be7ff51b06c3de202412e6, IA Rest Octets is a mandatory IE. When changing the definition of ts_IMM_ASS, I forgot to mark its optional 'lh', 'hl', and 'hh' as omitted explicitly. As a result, many of our TTCN-3 test cases were broken: Dynamic test case error: Using an unbound optional field. Also, in Ifdcdcf50709fcc03195cb8ef6092977e26f910ec I added an optional field 'pad' to record 'IaRestOctets'. That was not the best solution, because padding should be handled transparently. Let's get rid of that dummy field and equip both 'ImmediateAssignment' and 'IaRestOctets' records with proper padding attributes. The later one needs to be marked with 'CSN.1 L/H' attribute in the future, but for now we should keep it octet-aligned. Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 --- M library/GSM_RR_Types.ttcn 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index f313e23..b098118 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -543,13 +543,13 @@ IaRestOctLL ll optional, IaRestOctLH lh optional, IaRestOctHL hl optional, - IaRestOctHH hh optional, - bitstring pad optional + IaRestOctHH hh optional } with { variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" variant (hl) "PRESENCE(presence = '10'B)" variant (hh) "PRESENCE(presence = '11'B)" + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; type record MeasurementResults { @@ -590,7 +590,8 @@ /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" + variant "PADDING(168), PADDING_PATTERN('00101011'B)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -744,7 +745,8 @@ /* Compressed INTER RAT HO INFO: shall not be used (L) * TODO: use variant "CSN.1 L/H" to avoid confusion. */ compressed_irat_ho_info_ind := '1'B - } + }, + lh := omit, hl := omit, hh := omit } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640 Gerrit-Change-Number: 15446 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 00:55:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 00:55:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 Change subject: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' ...................................................................... library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' This is a TITAN specific attribute that allows to indicate that a field of type 'charstring' is '\0'-terminated. Without that attribute, 'PCUIF_Text' is mixed with the padding characters: "0.7.0.5-df0f" & char(0, 0, 0, 0) & char(0, 0, 0, 0) & ... Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/15447/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 721eb64..ce745b5 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -70,7 +70,7 @@ PCU_OML_ALERT (1) } with { variant "FIELDLENGTH(8)" }; -type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(128)" }; +type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(null_terminated)" }; type record PCUIF_txt_ind { PCUIF_TextType txt_type, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 Gerrit-Change-Number: 15447 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 00:55:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 00:55:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 Change subject: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding ...................................................................... library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding According to 3GPP TS 44.018, section 10.5.2.16, IA Rest Octets IE starting with 'HH' bits may contain one of the following CSN.1 encoded components: 7 6 5 4 3 2 1 0 Bit Numbers H H 0 0 . . . . Packet Uplink Assignment H H 0 1 . . . . Packet Downlink Assignment H H 1 . . . . . Second Part Packet Assignment We already have (partial) support for the first two, while the last type has not been supported so far. Let's add it. Also, this change introduces several templates for IA Rest Octets IE and some of its components mentioned above. This would allow us to abstract the API users from dealing with further changes, e.g. adding a coding attribute 'CSN.1 L/H' and missing fields. Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 --- M library/GSM_RR_Types.ttcn M library/LAPDm_RAW_PT.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 120 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/15448/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b098118..480a12b 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -445,13 +445,37 @@ variant (mobile_allocation) "PRESENCE(freq_par_len != 0)" */ }; - type record IaRestOctHH { - BIT2 presence, - PacketUlAssign ul optional, - PacketDlAssign dl optional + type record SecondPartAssign { + BIT1 r99, /* H / L */ + BIT1 presence optional, + BIT5 ext_ra optional } with { - variant (ul) "PRESENCE(presence = '00'B)" - variant (dl) "PRESENCE(presence = '01'B)" + /* TODO: use 'CSN.1 L/H' attribute here */ + variant (presence) "PRESENCE(r99 = '1'B)" /* H */ + variant (ext_ra) "PRESENCE(presence = '1'B)" + }; + type union PacketUlDlAssignUnion { + PacketUlAssign ul, + PacketDlAssign dl + }; + type record PacketUlDlAssign { + BIT1 ass_disc, + PacketUlDlAssignUnion ass + } with { + variant (ass) "CROSSTAG(dl, ass_disc = '1'B; ul, ass_disc = '0'B)" + }; + type union PacketAssignUnion { + SecondPartAssign spa, + PacketUlDlAssign uldl + }; + type record IaRestOctHH { + /* Packet Assignment discriminator: + * Packet Uplink / Downlink Assignment (0) + * Second Part Packet Assignment (1) */ + BIT1 pa_disc, + PacketAssignUnion pa + } with { + variant (pa) "CROSSTAG(spa, pa_disc = '1'B; uldl, pa_disc = '0'B)" }; type record PacketUlAssignDyn { uint5_t tfi_assignment, @@ -722,6 +746,88 @@ with { extension "prototype(convert) decode(RAW)" }; + template PacketDlAssign tr_PacketDlAssign(template GprsTlli tlli) := { + tlli := tlli, + group1_present := ?, + group1 := *, + ta_index_present := ?, + ta_index := *, + tbf_starting_time_present := ?, + tbf_starting_time := *, + p0_present := ?, + p0 := *, + pr_mode := * + }; + + template IaRestOctets tr_IaRestOctets_DLAss(template PacketDlAssign dl_ass) := { + presence := '11'B, /* HH */ + ll := omit, lh := omit, hl := omit, + hh := { + pa_disc := '0'B, /* Packet Assignment (0) */ + pa := { + uldl := { + ass_disc := '1'B, /* Downlink Assignment (1) */ + ass := { dl := dl_ass } + } + } + } + }; + + template PacketUlAssign tr_PacketUlDynAssign(template uint5_t tfi := ?, + template BIT1 polling := ?, + template uint3_t usf := ?, + template BIT1 usf_granularity := ?, + template ChCodingCommand cs := ?) := { + presence := '1'B, /* Dynamic Assignment */ + dynamic := { + tfi_assignment := tfi, + polling := polling, + spare := '0'B, /* Dynamic Assignment (mandatory after Rel-4) */ + usf := usf, + usf_granularity := usf_granularity, + p0_present := ?, + p0 := *, + pr_mode := *, + ch_coding_cmd := cs, + tlli_block_chan_coding := ?, + alpha_present := ?, + alpha := *, + gamma := ?, + /* TODO: add to parameters */ + ta_index_present := ?, + ta_index := *, + tbf_starting_time_present := ?, + tbf_starting_time := * + }, + single := omit + }; + + template PacketUlAssign tr_PacketUlSglAssign := { + presence := '1'B, /* Single Block Assignment */ + dynamic := omit, + single := { + alpha_present := ?, + alpha := *, + gamma := ?, + padding := '01'B, + tbf_starting_time := ? + } + }; + + template IaRestOctets tr_IaRestOctets_ULAss(template PacketUlAssign ul_ass) := { + presence := '11'B, /* HH */ + ll := omit, lh := omit, hl := omit, + hh := { + pa_disc := '0'B, /* Packet Assignment (0) */ + pa := { + uldl := { + ass_disc := '0'B, /* Uplink Assignment (0) */ + ass := { ul := ul_ass } + } + } + } + }; + template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), @@ -800,6 +906,7 @@ } }; + /* TODO: introduce generic TBF Assignment template for DL and UL */ template ImmediateAssignment t_IMM_ASS_TBF_DL(template GprsTlli tlli) := { ded_or_tbf := { spare := ?, @@ -820,28 +927,7 @@ req_ref := ?, timing_advance := ?, mobile_allocation := ?, - rest_octets := { - presence := '11'B, - ll := omit, - lh := omit, - hl := omit, - hh := { - presence := '01'B, - ul := omit, - dl := { - tlli := tlli, - group1_present := ?, - group1 := *, - ta_index_present := ?, - ta_index := *, - tbf_starting_time_present := ?, - tbf_starting_time := *, - p0_present := ?, - p0 := *, - pr_mode := * - } - } - } + rest_octets := tr_IaRestOctets_DLAss(tr_PacketDlAssign(tlli)) }; template GsmRrMessage t_RR_IMM_ASS_TBF_DL(template GprsTlli tlli) := { diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 2ede566..5a8d9ea 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -261,44 +261,13 @@ a[idx] := tfi_usf; } - /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation */ + /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation + * FIXME: this template has nothing to do with LAPDm, move to GSM_RR_Types.ttcn */ template ImmediateAssignment t_IMM_ASS_TBF_UL_DYN(uint8_t ra, GsmFrameNumber fn) modifies t_IMM_ASS := { ded_or_tbf := { spare := ?, tma := ?, downlink := false, tbf := true}, chan_desc := omit, pkt_chan_desc := ?, - rest_octets := { - presence := '11'B, - ll := omit, - lh := omit, - hl := omit, - hh := { - presence := '00'B, - ul := { - presence := '1'B, - dynamic := { - tfi_assignment := ?, - polling := ?, - spare := '0'B, - usf := ?, - usf_granularity := ?, - p0_present := ?, - p0 := *, - pr_mode := *, - ch_coding_cmd := ?, - tlli_block_chan_coding:= ?, - alpha_present := ?, - alpha := *, - gamma := ?, - ta_index_present := ?, - ta_index := *, - tbf_starting_time_present := ?, - tbf_starting_time := * - }, - single := omit - }, - dl := omit - } - } + rest_octets := tr_IaRestOctets_ULAss(tr_PacketUlDynAssign()) }; template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs, @@ -332,7 +301,8 @@ //chan_desc := imm_ass.chan_desc; /* Important: ARFCN, TN, TSC, USF, USF_GRANULARITY, CH_CODING_CMD */ - f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, imm_ass.rest_octets.hh.ul.dynamic.usf); + f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, + imm_ass.rest_octets.hh.pa.uldl.ass.ul.dynamic.usf); f_L1CTL_TBF_CFG(L1CTL, true, tua); } else { /* FIXME: single block uplink allocation */ diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0f43f28..4ef71fa 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -603,7 +603,7 @@ var TbfPars tbf_pars := valueof(t_TbfParsInit); log("Received IMM.ASS for our TLLI!"); tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := - rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; + rr.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl.group1.tfi_assignment; L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); } else { repeat; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 Gerrit-Change-Number: 15448 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 00:55:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 00:55:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 Change subject: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS ...................................................................... library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS Both 't_IMM_ASS_TBF_DL' and 't_RR_IMM_ASS_TBF_DL' templates were introduced for a specific task - matching Packet Immediate Assignment (Downlink TBF) by TLLI. In the upcoming changes we will also need to match Uplink TBF assignment, and more generic fields such as Timing Advance. Let's add a generic template for Packet Immediate Assignment and allow passing IaRestOctets as a parameter. Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 --- M library/GSM_RR_Types.ttcn M library/L1CTL_PortType.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 33 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/15449/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 480a12b..fee19c9 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -882,6 +882,32 @@ } }; + /* TODO: implement send version of this template */ + template GsmRrMessage tr_IMM_TBF_ASS(template boolean dl := ?, + template uint8_t ra := ?, + template GsmFrameNumber fn := ?, + template TimingAdvance ta := ?, + template PacketChannelDescription ch_desc := ?, + template IaRestOctets rest := ?) := { + header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), + payload := { + imm_ass := { + ded_or_tbf := { + spare := ?, + tma := ?, + downlink := dl, + tbf := true + }, + page_mode := ?, + chan_desc := omit, + pkt_chan_desc := ch_desc, + req_ref := tr_compute_ReqRef(ra, fn), + timing_advance := ta, + mobile_allocation := ?, + rest_octets := rest + } + } + }; template (value) GsmRrL3Message ts_MEAS_REP(boolean valid, uint6_t rxl_f, uint6_t rxl_s, uint3_t rxq_f, uint3_t rxq_s, @@ -906,37 +932,4 @@ } }; - /* TODO: introduce generic TBF Assignment template for DL and UL */ - template ImmediateAssignment t_IMM_ASS_TBF_DL(template GprsTlli tlli) := { - ded_or_tbf := { - spare := ?, - tma := ?, - downlink := ?, - tbf := true - }, - page_mode := ?, - chan_desc := omit, - pkt_chan_desc := { - channel_Type_spare := ?, - tn := ?, - tsc := ?, - presence := ?, - zero := *, - one := omit - }, - req_ref := ?, - timing_advance := ?, - mobile_allocation := ?, - rest_octets := tr_IaRestOctets_DLAss(tr_PacketDlAssign(tlli)) - }; - - template GsmRrMessage t_RR_IMM_ASS_TBF_DL(template GprsTlli tlli) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), - payload := { - imm_ass := t_IMM_ASS_TBF_DL(tlli) - } - }; - - - } with { encode "RAW" ; variant "FIELDORDER(msb)" } diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 2423715..3c83c3d 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -152,15 +152,18 @@ } function f_L1CTL_WAIT_IMM_ASS_TBF_DL(L1CTL_PT pt, GprsTlli tlli) return ImmediateAssignment { + var template PacketDlAssign dl_ass := tr_PacketDlAssign(tlli); + var template IaRestOctets rest := tr_IaRestOctets_DLAss(dl_ass); var L1ctlDlMessage dl; var GsmRrMessage rr; timer T := 10.0; T.start; alt { [] pt.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { + /* TODO: use decmatch tr_IaRestOctets_DLAss(...) instead */ rr := dec_GsmRrMessage(dl.payload.data_ind.payload); log("PCH/AGCN DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + if (match(rr, tr_IMM_TBF_ASS(dl := true, rest := rest))) { log("Received IMM.ASS for our TLLI!"); } else { repeat; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4ef71fa..838b6e1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -591,6 +591,8 @@ } function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { + var template PacketDlAssign dl_ass := tr_PacketDlAssign(tlli); + var template IaRestOctets rest := tr_IaRestOctets_DLAss(dl_ass); var LAPDm_ph_data ph_data; var GsmRrMessage rr; timer T := 10.0; @@ -599,7 +601,7 @@ [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + if (match(rr, tr_IMM_TBF_ASS(dl := true, rest := rest))) { var TbfPars tbf_pars := valueof(t_TbfParsInit); log("Received IMM.ASS for our TLLI!"); tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 Gerrit-Change-Number: 15449 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Sep 9 01:46:18 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 09 Sep 2019 01:46:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d75aefd7873d_36d82b1be80725f481105@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 424s] ar: `u' modifier ignored since `D' is the default (see `U') [ 424s] libtool: link: ranlib .libs/libtransceiver_common.a [ 424s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 424s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 424s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 424s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 424s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 424s] collect2: error: ld returned 1 exit status [ 424s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 424s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 424s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 424s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 424s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 424s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 424s] make[1]: *** [Makefile:444: all] Error 2 [ 424s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 424s] dh_auto_build: make -j1 returned exit code 2 [ 424s] make: *** [debian/rules:6: build] Error 255 [ 424s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 424s] [ 424s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 01:46:04 UTC 2019. [ 424s] [ 424s] ### VM INTERACTION START ### [ 427s] [ 408.867330] sysrq: SysRq : Power Off [ 428s] [ 408.876888] reboot: Power down [ 428s] ### VM INTERACTION END ### [ 428s] [ 428s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 01:46:08 UTC 2019. [ 428s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 9 01:52:18 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 09 Sep 2019 01:52:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d75b0656c74d_36d82b1be80725f4811285@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 423s] ar: `u' modifier ignored since `D' is the default (see `U') [ 423s] libtool: link: ranlib .libs/libtransceiver_common.a [ 423s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 423s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 423s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 423s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 423s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 423s] collect2: error: ld returned 1 exit status [ 423s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 423s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 423s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 423s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 423s] make[1]: *** [Makefile:444: all] Error 2 [ 423s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 423s] dh_auto_build: make -j1 returned exit code 2 [ 423s] make: *** [debian/rules:6: build] Error 255 [ 423s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 423s] [ 423s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 01:52:08 UTC 2019. [ 423s] [ 423s] ### VM INTERACTION START ### [ 427s] [ 408.750532] sysrq: SysRq : Power Off [ 427s] [ 408.758840] reboot: Power down [ 427s] ### VM INTERACTION END ### [ 427s] [ 427s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 01:52:12 UTC 2019. [ 427s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 9 03:47:54 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 09 Sep 2019 03:47:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d75cb7969342_36d82b1be80725f48135cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 236s] ar: `u' modifier ignored since `D' is the default (see `U') [ 236s] libtool: link: ranlib .libs/libtransceiver_common.a [ 236s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 236s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 236s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 236s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 236s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 236s] collect2: error: ld returned 1 exit status [ 236s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 236s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 236s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 236s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 236s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 236s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 236s] make[1]: *** [Makefile:444: all] Error 2 [ 236s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 236s] dh_auto_build: make -j1 returned exit code 2 [ 236s] make: *** [debian/rules:6: build] Error 255 [ 236s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 236s] [ 236s] build78 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 9 03:47:42 UTC 2019. [ 236s] [ 236s] ### VM INTERACTION START ### [ 239s] [ 227.515873] sysrq: SysRq : Power Off [ 239s] [ 227.517877] reboot: Power down [ 239s] ### VM INTERACTION END ### [ 239s] [ 239s] build78 failed "build osmo-trx_1.1.1.dsc" at Mon Sep 9 03:47:46 UTC 2019. [ 239s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 9 03:50:11 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 09 Sep 2019 03:50:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d75cc11b5942_36d82b1be80725f4813641@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 416s] ar: `u' modifier ignored since `D' is the default (see `U') [ 416s] libtool: link: ranlib .libs/libtransceiver_common.a [ 416s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 416s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 417s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 417s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 417s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 417s] collect2: error: ld returned 1 exit status [ 417s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 417s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 417s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 417s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 417s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 417s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 417s] make[1]: *** [Makefile:444: all] Error 2 [ 417s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 417s] dh_auto_build: make -j1 returned exit code 2 [ 417s] make: *** [debian/rules:6: build] Error 255 [ 417s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 417s] [ 417s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 03:49:57 UTC 2019. [ 417s] [ 417s] ### VM INTERACTION START ### [ 420s] [ 401.285593] sysrq: SysRq : Power Off [ 420s] [ 401.294296] reboot: Power down [ 420s] ### VM INTERACTION END ### [ 420s] [ 420s] lamb26 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Mon Sep 9 03:50:01 UTC 2019. [ 420s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 9 06:29:42 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Sep 2019 06:29:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 4: Code-Review+1 (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/15430/2/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/2/pcu/PCU_Tests_RAW.ttcn at 487 PS2, Line 487: port PCUIF_BTSClck_PT CLCK; > Huh, now I am getting a compilation error: [?] You probably have it solved already, but just in case: compiling the current patchset works for me. Maybe you did not run one of the shell scripts? ./gen_links.sh ./regen_makefile.sh make compile make -j5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 09 Sep 2019 06:29:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:05:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:05:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 ) Change subject: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 Gerrit-Change-Number: 15447 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 08:05:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:08:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:08:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 ) Change subject: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 Gerrit-Change-Number: 15448 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 08:08:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:09:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:09:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 ) Change subject: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 Gerrit-Change-Number: 15449 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 08:09:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:13:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:13:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: PCU_Tests_RAW.ttcn: initial version of component RAW_PCU_BTS_CT ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 08:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:16:42 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 9 Sep 2019 08:16:42 +0000 Subject: Change in ...pysim[master]: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15431 ) Change subject: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I53e8d666d26a06f580725a8443a335643d10192c Gerrit-Change-Number: 15431 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Sep 2019 08:16:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:28:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:28:03 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 to look at the new patch set (#2). Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Transceiver: Don't stop TRX if pulling from OFF timeslot BTS may have any timeslot disabled, or may have not yet sent initial SETSLOT cmd to properly configure the timeslot. Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/36/15436/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:28:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 08:28:05 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15450 Change subject: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn ...................................................................... Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 --- M Transceiver52M/Transceiver.cpp 1 file changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/50/15450/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 079d1d7..3901997 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -612,19 +612,6 @@ burstTime = radio_burst->getTime(); CorrType type = expectedCorrType(burstTime, chan); - /* Debug: dump bursts to disk */ - /* bits 0-7 - chan 0 timeslots - * bits 8-15 - chan 1 timeslots */ - if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) - writeToFile(radio_burst, chan); - - /* No processing if the timeslot is off. - * Not even power level or noise calculation. */ - if (type == OFF) { - delete radio_burst; - return false; - } - /* Initialize struct bi */ bi->nbits = 0; bi->fn = burstTime.FN(); @@ -638,6 +625,19 @@ bi->tsc = 0; bi->ci = 0.0; + /* Debug: dump bursts to disk */ + /* bits 0-7 - chan 0 timeslots + * bits 8-15 - chan 1 timeslots */ + if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) + writeToFile(radio_burst, chan); + + /* No processing if the timeslot is off. + * Not even power level or noise calculation. */ + if (type == OFF) { + delete radio_burst; + return false; + } + /* Select the diversity channel with highest energy */ for (size_t i = 0; i < radio_burst->chans(); i++) { float pow = energyDetect(*radio_burst->getVector(i), 20 * mSPSRx); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 Gerrit-Change-Number: 15450 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 08:47:49 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 9 Sep 2019 08:47:49 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Patch Set 3: Code-Review-1 (5 comments) https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 625 PS3, Line 625: first = False This is redundant as you change first at the end of the loop in line 753. The change here has no effect https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 653 PS3, Line 653: card_handler.get(first) First will always be False here (I know, this was true before your patch as well, just became more visible with the refactoring) https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 659 PS3, Line 659: card_handler.get(first) Same. First will always be False here https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 673 PS3, Line 673: if opts.dry_run is not True: Sorry, nothing you introduced, but this looks really weird and redundant. I hope opts.dry_run hasn't change from line 670 to here. If it was False there it can't be True here. https://gerrit.osmocom.org/#/c/15432/3/pySim/card_handler.py File pySim/card_handler.py: https://gerrit.osmocom.org/#/c/15432/3/pySim/card_handler.py at 94 PS3, Line 94: os._exit(rc) Is there a reason you are using os._exit() instead of sys.exit()? Unless you really need the properties of os._exit() (not flushing stdio, no cleanup) sys.exit() is probably the better choice. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Sep 2019 08:47:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:08:13 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 9 Sep 2019 09:08:13 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Reject PdpActReq if no GTP pdp ctx exists In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 ) Change subject: sgsn: Reject PdpActReq if no GTP pdp ctx exists ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 Gerrit-Change-Number: 15330 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 09:08:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:09:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:09:53 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 to look at the new patch set (#3). Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 404 insertions(+), 308 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:09:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:09:53 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 to look at the new patch set (#2). Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Use osmo_tdef for BSSGP T1 and T2 Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp 2 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/15427/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:10:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:10:30 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Reject PdpActReq if no GTP pdp ctx exists In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 ) Change subject: sgsn: Reject PdpActReq if no GTP pdp ctx exists ...................................................................... sgsn: Reject PdpActReq if no GTP pdp ctx exists It could happen that SGSN drops GTP side of a pdp ctx (pdp->lib=NULL) while still maintaing the other side (to notify about the entire pdp ctx being torn down). If a PdpActReq arrives during that time, we need to account for that situation, otherwise osmo-sgsn crashes accessing pdp->lib. If no pdp->lib is found at that time, let's reject the request and expect at some point later in time the entire pdp context will be destroyed and reestablished. Related: OS#4173 Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 --- M src/sgsn/gprs_sm.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/sgsn/gprs_sm.c b/src/sgsn/gprs_sm.c index 8cf5c5d..f8019ab 100644 --- a/src/sgsn/gprs_sm.c +++ b/src/sgsn/gprs_sm.c @@ -491,6 +491,11 @@ /* Check if NSAPI is already in use */ pdp = sgsn_pdp_ctx_by_nsapi(mmctx, act_req->req_nsapi); if (pdp) { + /* Make sure pdp ctx was not already torn down on GTP side */ + if (!pdp->lib) { + gsm_cause = GSM_CAUSE_REACT_RQD; + goto no_context; + } /* We already have a PDP context for this TLLI + NSAPI tuple */ if (pdp->sapi == act_req->req_llc_sapi && pdp->ti == transaction_id) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64 Gerrit-Change-Number: 15330 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:23:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:23:32 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/#/c/15425/2/src/bts.cpp at 595 PS2, Line 595: -2002 > Looks odd to me, could you please add a comment? Why exactly -2002? Because I had to pick a number for the timer ;) We usually use XNNNN for our own timers. XNNNN transforms to negative timer numbers (to differentiate them from spec related TNNNN positive ones). It could be this timer was a spec-defined timer (and thus should be TNNNN and postive), but since it's not indicated in previous code it's difficult to say which one it is. If someone at some point finds the related timer, we can rename it. https://gerrit.osmocom.org/#/c/15425/2/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/#/c/15425/2/src/tbf.cpp at 664 PS2, Line 664: enum tbf_timers t, > Do you think we still need this parameter? Most of the time I see: T_START(tbf, TXXX, XXX, ... [?] It is still needed unless we change implementation of how osmo_timer objects are stored, which for sure I'm not going to do now in the same patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Sep 2019 09:23:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:37:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:37:31 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 to look at the new patch set (#4). Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 403 insertions(+), 307 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 09:37:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 09:37:31 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 to look at the new patch set (#3). Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Use osmo_tdef for BSSGP T1 and T2 Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp 2 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/15427/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 10:45:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 10:45:30 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 to look at the new patch set (#5). Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 403 insertions(+), 307 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 10:55:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 10:55:25 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 Change subject: Use osmo_tdef to implement T3190 ...................................................................... Use osmo_tdef to implement T3190 Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp 3 files changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/15451/1 diff --git a/src/bts.cpp b/src/bts.cpp index 5dfba38..73db8b3 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -79,6 +79,7 @@ static struct osmo_tdef T_defs_pcu[] = { { .T=1, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP (un)blocking procedures timer (s)", .val=0 }, { .T=2, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP reset procedure timer (s)", .val=0 }, + { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, diff --git a/src/bts.h b/src/bts.h index bcb05e4..ac909a7 100644 --- a/src/bts.h +++ b/src/bts.h @@ -265,10 +265,6 @@ STAT_MS_PRESENT, }; - enum { - TIMER_T3190_MSEC = 5000, - }; - BTS(); ~BTS(); void cleanup(); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 57756e3..72fa75d 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -214,8 +214,9 @@ uint8_t ts, uint32_t fn, int age) { const gprs_rlc_dl_window *w = tbf->window(); - int age_thresh1 = msecs_to_frames(200), - age_thresh2 = msecs_to_frames(OSMO_MIN(BTS::TIMER_T3190_MSEC/2, bts->dl_tbf_idle_msec)); + unsigned long msecs = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + int age_thresh1 = msecs_to_frames(200); + int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs/2, bts->dl_tbf_idle_msec)); if (tbf->is_control_ts(ts) && tbf->need_control_ts()) return DL_PRIO_CONTROL; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:20:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 12:20:06 +0000 Subject: Change in ...osmo-pcu[master]: tests: TbfTest: Unify stderr and stdout to ease debugging Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15452 Change subject: tests: TbfTest: Unify stderr and stdout to ease debugging ...................................................................... tests: TbfTest: Unify stderr and stdout to ease debugging osmo-pcu code is really verbose, and since log lines printing start and end of tests are sent to a different file, it's really difficult to understand which test outputs what. Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 --- M tests/Makefile.am M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err D tests/tbf/TbfTest.ok M tests/testsuite.at 5 files changed, 153 insertions(+), 154 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/52/15452/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 887200d..b85635f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -130,7 +130,7 @@ testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ rlcmac/RLCMACTest.ok rlcmac/RLCMACTest.err \ alloc/AllocTest.ok alloc/AllocTest.err \ - tbf/TbfTest.ok tbf/TbfTest.err \ + tbf/TbfTest.err \ bitcomp/BitcompTest.ok bitcomp/BitcompTest.err \ types/TypesTest.ok types/TypesTest.err \ ms/MsTest.ok ms/MsTest.err alloc/MslotTest.ok \ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 8d1b344..5bf94b5 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -61,12 +61,12 @@ static void test_tbf_base() { - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); OSMO_ASSERT(GPRS_RLCMAC_DL_TBF == reverse(GPRS_RLCMAC_UL_TBF)); OSMO_ASSERT(GPRS_RLCMAC_UL_TBF == reverse(GPRS_RLCMAC_DL_TBF)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_tlli_update() @@ -74,7 +74,7 @@ BTS the_bts; GprsMs *ms, *ms_new; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[2].enable(); @@ -134,7 +134,7 @@ OSMO_ASSERT(ul_tbf->ta() == 6); OSMO_ASSERT(dl_tbf->ta() == 6); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static uint8_t llc_data[200]; @@ -241,7 +241,7 @@ uint8_t rbb[64/8]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); gprs_rlcmac_dl_tbf *dl_tbf; gprs_rlcmac_tbf *new_tbf; @@ -297,7 +297,7 @@ OSMO_ASSERT(ms->dl_tbf() == NULL); } - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* Receive an ACK */ @@ -322,7 +322,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -373,7 +373,7 @@ TBF_SET_ASS_STATE_DL(dl_tbf, GPRS_RLCMAC_DL_ASS_NONE); check_tbf(dl_tbf); tbf_free(dl_tbf); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_imsi() @@ -386,7 +386,7 @@ gprs_rlcmac_dl_tbf *dl_tbf[2]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no); @@ -431,7 +431,7 @@ ms1 = the_bts.ms_store().get_ms(0, 0, "001001000000002"); OSMO_ASSERT(ms1 == NULL); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_exhaustion() @@ -445,7 +445,7 @@ uint8_t buf[256] = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -472,7 +472,7 @@ } OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -497,7 +497,7 @@ abort(); } - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); @@ -550,13 +550,13 @@ msg = ms->dl_tbf()->create_dl_acked_block(fn += 4, 7); fprintf(stderr, "MSG = %s\n", msgb_hexdump(msg)); if (!msgb_eq_data_print(msg, exp[expected_data - 1], GSM_MACBLOCK_LEN)) - printf("%s failed at %u\n", __func__, expected_data); + fprintf(stderr, "%s failed at %u\n", __func__, expected_data); expected_data += 1; } OSMO_ASSERT(expected_data-1 == 3); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -756,7 +756,7 @@ }; if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { - printf("%s test failed on 1st segment!\n", __func__); + fprintf(stderr, "%s test failed on 1st segment!\n", __func__); return NULL; } @@ -783,7 +783,7 @@ }; if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { - printf("%s test failed on 2nd segment!\n", __func__); + fprintf(stderr, "%s test failed on 2nd segment!\n", __func__); return NULL; } return ul_tbf; @@ -1712,7 +1712,7 @@ uint16_t qta = 31; gprs_rlcmac_ul_tbf *ul_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no); @@ -1721,7 +1721,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, (const uint8_t *)"TEST", 4); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase_puan(void) @@ -1738,7 +1738,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -1775,7 +1775,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* * Trigger rach for single block @@ -1787,7 +1787,7 @@ uint16_t qta = 31; int ts_no = 7; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1806,7 +1806,7 @@ OSMO_ASSERT(rc == -EINVAL); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* @@ -1819,7 +1819,7 @@ uint16_t qta = 31; int ts_no = 7; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1850,7 +1850,7 @@ OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_immediate_assign_rej() @@ -1870,7 +1870,7 @@ uint8_t ms_class = 1; gprs_rlcmac_ul_tbf *ul_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1880,7 +1880,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, (const uint8_t *)"TEST", 4); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static inline void print_ms(const GprsMs *ms, bool old) @@ -1902,7 +1902,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1950,7 +1950,7 @@ ms = the_bts.ms_by_tlli(tlli2); OSMO_ASSERT(ms == ms2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_dl_flow_and_rach_two_phase() @@ -1966,7 +1966,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2008,7 +2008,7 @@ /* No queued packets should be lost */ OSMO_ASSERT(ms->llc_queue()->size() == 2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } @@ -2025,7 +2025,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2067,7 +2067,7 @@ /* No queued packets should be lost */ OSMO_ASSERT(ms->llc_queue()->size() == 2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_dl_reuse() @@ -2085,7 +2085,7 @@ unsigned i; RlcMacUplink_t ulreq = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2165,7 +2165,7 @@ OSMO_ASSERT(ms2->dl_tbf()); OSMO_ASSERT(ms2->dl_tbf()->state_is(GPRS_RLCMAC_FINISHED)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_gprs_egprs() @@ -2181,7 +2181,7 @@ uint8_t buf[256] = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2202,7 +2202,7 @@ delay_csec, buf, sizeof(buf)); OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -2230,7 +2230,7 @@ tbf_free(dl_tbf); if (end) { - printf("=== end %s ===\n", test); + fprintf(stderr, "=== end %s ===\n", test); gprs_bssgp_destroy(); } } @@ -2243,7 +2243,7 @@ uint8_t ms_class = 12; gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2286,7 +2286,7 @@ uint8_t ms_class = 11; gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2334,7 +2334,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2348,7 +2348,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static gprs_rlcmac_ul_tbf *tbf_li_decoding(BTS *the_bts, @@ -2479,7 +2479,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2493,7 +2493,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* @@ -2522,7 +2522,7 @@ memset(&ul_control_block, 0, sizeof(RlcMacUplink_t)); - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -2589,7 +2589,7 @@ bitvec_free(block); tbf_free(dl_tbf); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase_spb(void) @@ -2605,7 +2605,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2619,7 +2619,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase() @@ -2635,7 +2635,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2649,7 +2649,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void establish_and_use_egprs_dl_tbf(BTS *the_bts, int mcs) @@ -2666,7 +2666,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; - printf("Testing MCS-%d\n", mcs); + fprintf(stderr, "Testing MCS-%d\n", mcs); memset(test_data, 1, sizeof(test_data)); the_bts->bts_data()->initial_mcs_dl = mcs; @@ -2794,7 +2794,7 @@ struct gprs_rlc_dl_header_egprs_3 *egprs3; struct gprs_rlc_dl_header_egprs_2 *egprs2; - printf("Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -2874,7 +2874,7 @@ struct msgb *msg; struct gprs_rlc_dl_header_egprs_3 *egprs3; - printf("Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -2962,7 +2962,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; struct msgb *msg; - printf("Testing retx for MCS %u - %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u - %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -3057,7 +3057,7 @@ gprs_rlcmac_bts *bts; uint8_t ts_no = 4; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; @@ -3077,7 +3077,7 @@ establish_and_use_egprs_dl_tbf_for_retx(&the_bts, 7, 5); establish_and_use_egprs_dl_tbf_for_retx(&the_bts, 9, 6); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_spb_dl(void) @@ -3086,7 +3086,7 @@ gprs_rlcmac_bts *bts; uint8_t ts_no = 4; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; @@ -3108,7 +3108,7 @@ /* check MCS6->(MCS3+MCS3)->MCS6 case */ egprs_spb_to_normal_validation(&the_bts, 6, 3); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_dl() @@ -3118,7 +3118,7 @@ uint8_t ts_no = 4; int i; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -3131,7 +3131,7 @@ for (i = 1; i <= 9; i++) establish_and_use_egprs_dl_tbf(&the_bts, i); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } @@ -3145,7 +3145,7 @@ uint32_t tlli = 0xffeeddcc; struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -3166,7 +3166,7 @@ ul_tbf->handle_timeout(); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_packet_access_rej_prr() @@ -3186,7 +3186,7 @@ MS_Radio_Access_capability_t *pmsradiocap = NULL; Multislot_capability_t *pmultislotcap = NULL; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -3241,7 +3241,7 @@ OSMO_ASSERT(rc == 0); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } void test_packet_access_rej_epdan() @@ -3253,7 +3253,7 @@ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, 4); static gprs_rlcmac_dl_tbf *dl_tbf = tbf_init(&the_bts, 1); @@ -3261,13 +3261,13 @@ struct msgb *msg = dl_tbf->create_packet_access_reject(); - printf("packet reject: %s\n", + fprintf(stderr, "packet reject: %s\n", osmo_hexdump(msg->data, 23)); if (!msgb_eq_data_print(msg, exp, GSM_MACBLOCK_LEN)) - printf("%s test failed!\n", __func__); + fprintf(stderr, "%s test failed!\n", __func__); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0bc1c42..7dd14f4 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1,3 +1,6 @@ +=== start test_tbf_base === +=== end test_tbf_base === +=== start test_tbf_tlli_update === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 @@ -35,6 +38,8 @@ The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly Modifying MS object, TLLI = 0x00004232, TA 4 -> 6 +=== end test_tbf_tlli_update === +=== start test_tbf_final_ack === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -123,6 +128,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Destroying MS object, TLLI = 0xffeeddcc +=== end test_tbf_final_ack === +=== start test_tbf_final_ack === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -211,6 +218,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Destroying MS object, TLLI = 0xffeeddcc +=== end test_tbf_final_ack === +=== start test_tbf_delayed_release === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -464,6 +473,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_delayed_release === +=== start test_tbf_imsi === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -529,6 +540,8 @@ Detaching TBF from MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0xf1000002 ********** DL-TBF ends here ********** +=== end test_tbf_imsi === +=== start test_tbf_exhaustion === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -1336,7 +1349,9 @@ [DL] Slot Allocation (Algorithm A) for class 45 [DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) No PDCH resource +=== end test_tbf_exhaustion === Destroying MS object, TLLI = 0x00000000 +=== start test_tbf_dl_llc_loss === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -1424,6 +1439,8 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) Polling cannot be scheduled in this TS 7 (first control TS 4) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) msg block (BSN 2, CS-1): 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 MSG = 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +=== end test_tbf_dl_llc_loss === +=== start test_tbf_single_phase === Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654167 qta=31 is_11bit=0: @@ -1496,6 +1513,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=7 TA=7 pollFN=-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes +=== end test_tbf_single_phase === +=== start test_tbf_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1578,6 +1597,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes +=== end test_tbf_two_phase === +=== start test_tbf_ra_update_rach === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1777,6 +1798,8 @@ TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes Modifying MS object, TLLI: 0xf5667788 confirmed New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 +=== end test_tbf_ra_update_rach === +=== start test_tbf_dl_flow_and_rach_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1948,6 +1971,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) No gaps in received block, last block: BSN=0 CV=15 New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 +=== end test_tbf_dl_flow_and_rach_two_phase === +=== start test_tbf_dl_flow_and_rach_single_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -2097,6 +2122,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 +=== end test_tbf_dl_flow_and_rach_single_phase === +=== start test_tbf_dl_reuse === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3031,8 +3058,12 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 +=== end test_tbf_dl_reuse === +=== start test_tbf_gprs_egprs === Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource +=== end test_tbf_gprs_egprs === +=== start test_tbf_ws === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -3111,6 +3142,8 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** +=== end test_tbf_ws === +=== start test_tbf_egprs_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3201,6 +3234,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase === +=== start test_tbf_egprs_two_phase_spb === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3421,6 +3456,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase_spb === +=== start test_tbf_egprs_dl === +Testing MCS-1 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -3727,6 +3765,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-2 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -3983,6 +4022,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4201,6 +4241,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-4 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4387,6 +4428,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-5 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4553,6 +4595,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4701,6 +4744,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-7 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4844,6 +4888,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-8 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4976,6 +5021,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5108,6 +5154,9 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_dl === +=== start test_tbf_egprs_retx_dl === +Testing retx for MCS 6 - 6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5163,6 +5212,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 1 - 9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5218,6 +5268,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 2 - 8 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5273,6 +5324,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 5 - 7 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5344,6 +5396,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 6 - 9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5415,6 +5468,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 7 - 5 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5486,6 +5540,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 9 - 6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5557,6 +5612,9 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_retx_dl === +=== start test_tbf_egprs_spb_dl === +Testing retx for MCS 6 to reseg_mcs 3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5619,6 +5677,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 5 to reseg_mcs 2 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5681,6 +5740,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 4 to reseg_mcs 1 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5743,6 +5803,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 6 to reseg_mcs 3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5812,6 +5873,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_spb_dl === +=== start test_tbf_puan_urbb_len === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -5921,6 +5984,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_puan_urbb_len === +=== start test_tbf_update_ws === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 @@ -5973,6 +6038,8 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** +=== end test_tbf_update_ws === +=== start test_tbf_li_decoding === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -6076,6 +6143,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_li_decoding === +=== start test_tbf_epdan_out_of_rx_window === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -6115,6 +6184,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_epdan_out_of_rx_window === +=== start test_immediate_assign_rej_multi_block === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 @@ -6305,11 +6376,15 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available No PDCH resource sending Immediate Assignment Uplink (AGCH) reject +=== end test_immediate_assign_rej_multi_block === Destroying MS object, TLLI = 0x00000000 +=== start test_immediate_assign_rej_single_block === MS requests UL TBF on RACH, so we provide one: ra=0x70 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation No PDCH available. No PDCH resource for single block allocation.sending Immediate Assignment Uplink (AGCH) reject +=== end test_immediate_assign_rej_single_block === +=== start test_tbf_egprs_two_phase_puan === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -7711,6 +7786,8 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase_puan === +=== start test_packet_access_rej_epdan === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -7736,6 +7813,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 100 bytes +packet reject: 40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +=== end test_packet_access_rej_epdan === +=== start test_packet_access_rej_prr === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 @@ -7940,7 +8020,9 @@ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +=== end test_packet_access_rej_prr === Destroying MS object, TLLI = 0x00000000 +=== start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN @@ -7955,3 +8037,4 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Destroying MS object, TLLI = 0xffeeddcc ********** UL-TBF ends here ********** +=== end test_packet_access_rej_prr_no_other_tbfs === diff --git a/tests/tbf/TbfTest.ok b/tests/tbf/TbfTest.ok deleted file mode 100644 index 077ec4e..0000000 --- a/tests/tbf/TbfTest.ok +++ /dev/null @@ -1,83 +0,0 @@ -=== start test_tbf_base === -=== end test_tbf_base === -=== start test_tbf_tlli_update === -=== end test_tbf_tlli_update === -=== start test_tbf_final_ack === -=== end test_tbf_final_ack === -=== start test_tbf_final_ack === -=== end test_tbf_final_ack === -=== start test_tbf_delayed_release === -=== end test_tbf_delayed_release === -=== start test_tbf_imsi === -=== end test_tbf_imsi === -=== start test_tbf_exhaustion === -=== end test_tbf_exhaustion === -=== start test_tbf_dl_llc_loss === -=== end test_tbf_dl_llc_loss === -=== start test_tbf_single_phase === -=== end test_tbf_single_phase === -=== start test_tbf_two_phase === -=== end test_tbf_two_phase === -=== start test_tbf_ra_update_rach === -=== end test_tbf_ra_update_rach === -=== start test_tbf_dl_flow_and_rach_two_phase === -=== end test_tbf_dl_flow_and_rach_two_phase === -=== start test_tbf_dl_flow_and_rach_single_phase === -=== end test_tbf_dl_flow_and_rach_single_phase === -=== start test_tbf_dl_reuse === -=== end test_tbf_dl_reuse === -=== start test_tbf_gprs_egprs === -=== end test_tbf_gprs_egprs === -=== start test_tbf_ws === -=== end test_tbf_ws === -=== start test_tbf_egprs_two_phase === -=== end test_tbf_egprs_two_phase === -=== start test_tbf_egprs_two_phase_spb === -=== end test_tbf_egprs_two_phase_spb === -=== start test_tbf_egprs_dl === -Testing MCS-1 -Testing MCS-2 -Testing MCS-3 -Testing MCS-4 -Testing MCS-5 -Testing MCS-6 -Testing MCS-7 -Testing MCS-8 -Testing MCS-9 -=== end test_tbf_egprs_dl === -=== start test_tbf_egprs_retx_dl === -Testing retx for MCS 6 - 6 -Testing retx for MCS 1 - 9 -Testing retx for MCS 2 - 8 -Testing retx for MCS 5 - 7 -Testing retx for MCS 6 - 9 -Testing retx for MCS 7 - 5 -Testing retx for MCS 9 - 6 -=== end test_tbf_egprs_retx_dl === -=== start test_tbf_egprs_spb_dl === -Testing retx for MCS 6 to reseg_mcs 3 -Testing retx for MCS 5 to reseg_mcs 2 -Testing retx for MCS 4 to reseg_mcs 1 -Testing retx for MCS 6 to reseg_mcs 3 -=== end test_tbf_egprs_spb_dl === -=== start test_tbf_puan_urbb_len === -=== end test_tbf_puan_urbb_len === -=== start test_tbf_update_ws === -=== end test_tbf_update_ws === -=== start test_tbf_li_decoding === -=== end test_tbf_li_decoding === -=== start test_tbf_epdan_out_of_rx_window === -=== end test_tbf_epdan_out_of_rx_window === -=== start test_immediate_assign_rej_multi_block === -=== end test_immediate_assign_rej_multi_block === -=== start test_immediate_assign_rej_single_block === -=== end test_immediate_assign_rej_single_block === -=== start test_tbf_egprs_two_phase_puan === -=== end test_tbf_egprs_two_phase_puan === -=== start test_packet_access_rej_epdan === -packet reject: 40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -=== end test_packet_access_rej_epdan === -=== start test_packet_access_rej_prr === -=== end test_packet_access_rej_prr === -=== start test_packet_access_rej_prr_no_other_tbfs === -=== end test_packet_access_rej_prr_no_other_tbfs === diff --git a/tests/testsuite.at b/tests/testsuite.at index 86f45a8..9c6c7a7 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -24,9 +24,8 @@ AT_SETUP([tbf]) AT_KEYWORDS([tbf]) -cat $abs_srcdir/tbf/TbfTest.ok > expout cat $abs_srcdir/tbf/TbfTest.err > experr -AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/tbf/TbfTest], [0], [expout], [experr]) +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/tbf/TbfTest], [0], [ignore], [experr]) AT_CLEANUP AT_SETUP([bitcomp]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 Gerrit-Change-Number: 15452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:20:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 12:20:07 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15453 Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Use osmo_tdef to implement ms-idle-time This commit would also remove the option from config_write_pcu() since it's automatically filled in by osmo_tdef, but there was actually a bug because that param was never printed when saving the config... Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 --- M src/bts.cpp M src/bts.h M src/pcu_main.cpp M src/pcu_vty.c M tests/tbf/TbfTest.cpp 5 files changed, 15 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/15453/1 diff --git a/src/bts.cpp b/src/bts.cpp index 73db8b3..4fce468 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -83,6 +83,7 @@ { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, + { .T=-2030, .default_val=60, .unit=OSMO_TDEF_S, .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ {} }; @@ -860,7 +861,7 @@ GprsMs *ms; ms = ms_store().create_ms(); - ms->set_timeout(m_bts.ms_idle_sec); + ms->set_timeout(osmo_tdef_get(m_bts.T_defs_pcu, -2030, OSMO_TDEF_S, -1)); ms->set_ms_class(ms_class); ms->set_egprs_ms_class(egprs_ms_class); diff --git a/src/bts.h b/src/bts.h index ac909a7..7cc5279 100644 --- a/src/bts.h +++ b/src/bts.h @@ -139,7 +139,6 @@ /* 0 to support resegmentation in DL, 1 for no reseg */ uint8_t dl_arq_type; - uint32_t ms_idle_sec; uint8_t cs_adj_enabled; uint8_t cs_adj_upper_limit; uint8_t cs_adj_lower_limit; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 6f71ca5..e423718 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -207,7 +207,6 @@ bts->n3105 = 8; bts->alpha = 0; /* a = 0.0 */ bts->si13_is_set = false; - bts->ms_idle_sec = 60; /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ bts->cs_adj_enabled = 1; bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */ bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */ diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 1185a8c..98d29b6 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -873,27 +873,31 @@ } #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n" -DEFUN(cfg_pcu_ms_idle_time, +DEFUN_DEPRECATED(cfg_pcu_ms_idle_time, cfg_pcu_ms_idle_time_cmd, "ms-idle-time <1-7200>", MS_IDLE_TIME_STR "idle time in sec") { + vty_out(vty, "%% 'ms-idle-time' is now deprecated: use 'timer X2030 ' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->ms_idle_sec = atoi(argv[0]); - + if (osmo_tdef_set(bts->T_defs_pcu, -2030, atoi(argv[0]), OSMO_TDEF_S) < 0) + return CMD_WARNING; return CMD_SUCCESS; } -DEFUN(cfg_pcu_no_ms_idle_time, +DEFUN_DEPRECATED(cfg_pcu_no_ms_idle_time, cfg_pcu_no_ms_idle_time_cmd, "no ms-idle-time", NO_STR MS_IDLE_TIME_STR) { + vty_out(vty, "%% 'no ms-idle-time' is now deprecated: use 'timer X2030 0' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->ms_idle_sec = 0; - + if (osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S) < 0) + return CMD_WARNING; return CMD_SUCCESS; } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5bf94b5..7241a35 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -155,6 +155,7 @@ bts->alloc_algorithm = alloc_algorithm_a; bts->initial_cs_dl = cs; bts->initial_cs_ul = cs; + osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S); trx = &bts->trx[0]; trx->pdch[ts_no].enable(); @@ -501,7 +502,8 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->ms_idle_sec = 10; /* keep the MS object */ + /* keep the MS object 10 seconds */ + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2030, 10, OSMO_TDEF_S) == 0); gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:20:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 12:20:07 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Use osmo_tdef to implement dl-tbf-idle-time Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 28 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/15454/1 diff --git a/src/bts.cpp b/src/bts.cpp index 4fce468..e6a5163 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -84,6 +84,7 @@ { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, { .T=-2030, .default_val=60, .unit=OSMO_TDEF_S, .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ + { .T=-2031, .default_val=2000, .unit=OSMO_TDEF_MS, .desc="Time to keep an idle DL TBF alive (ms)", .val=0 }, {} }; diff --git a/src/bts.h b/src/bts.h index 7cc5279..56ada45 100644 --- a/src/bts.h +++ b/src/bts.h @@ -133,7 +133,6 @@ uint8_t force_two_phase; uint8_t alpha, gamma; uint8_t egprs_enabled; - uint32_t dl_tbf_idle_msec; /* hold time for idle DL TBFs */ uint8_t si13[GSM_MACBLOCK_LEN]; bool si13_is_set; /* 0 to support resegmentation in DL, 1 for no reseg */ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 72fa75d..2be59e4 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -214,9 +214,10 @@ uint8_t ts, uint32_t fn, int age) { const gprs_rlc_dl_window *w = tbf->window(); - unsigned long msecs = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + unsigned long msecs_t3190 = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + unsigned long dl_tbf_idle_msec = osmo_tdef_get(bts->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); int age_thresh1 = msecs_to_frames(200); - int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs/2, bts->dl_tbf_idle_msec)); + int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs_t3190/2, dl_tbf_idle_msec)); if (tbf->is_control_ts(ts) && tbf->need_control_ts()) return DL_PRIO_CONTROL; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index e423718..9b1319c 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -252,7 +252,6 @@ bts->ws_pdch = 0; bts->llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; - bts->dl_tbf_idle_msec = 2000; bts->llc_idle_ack_csec = 10; /* diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 98d29b6..f1db605 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -253,9 +253,6 @@ vty_out(vty, " two-phase-access%s", VTY_NEWLINE); vty_out(vty, " alpha %d%s", bts->alpha, VTY_NEWLINE); vty_out(vty, " gamma %d%s", bts->gamma * 2, VTY_NEWLINE); - if (bts->dl_tbf_idle_msec) - vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec, - VTY_NEWLINE); if (strcmp(bts->pcu_sock_path, PCU_SOCK_DEFAULT)) vty_out(vty, " pcu-socket %s%s", bts->pcu_sock_path, VTY_NEWLINE); @@ -848,27 +845,33 @@ } #define IDLE_TIME_STR "keep an idle DL TBF alive for the time given\n" -DEFUN(cfg_pcu_dl_tbf_idle_time, +DEFUN_DEPRECATED(cfg_pcu_dl_tbf_idle_time, cfg_pcu_dl_tbf_idle_time_cmd, "dl-tbf-idle-time <1-5000>", IDLE_TIME_STR "idle time in msec") { + vty_out(vty, "%% 'dl-tbf-idle-time' is now deprecated: use 'timer X2031 ' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->dl_tbf_idle_msec = atoi(argv[0]); + if (osmo_tdef_set(bts->T_defs_pcu, -2031, atoi(argv[0]), OSMO_TDEF_MS) < 0) + return CMD_WARNING; + return CMD_SUCCESS; return CMD_SUCCESS; } -DEFUN(cfg_pcu_no_dl_tbf_idle_time, +DEFUN_DEPRECATED(cfg_pcu_no_dl_tbf_idle_time, cfg_pcu_no_dl_tbf_idle_time_cmd, "no dl-tbf-idle-time", NO_STR IDLE_TIME_STR) { + vty_out(vty, "%% 'no dl-tbf-idle-time' is now deprecated: use 'timer X2031 0' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->dl_tbf_idle_msec = 0; - + if (osmo_tdef_set(bts->T_defs_pcu, -2031, 0, OSMO_TDEF_MS) < 0) + return CMD_WARNING; return CMD_SUCCESS; } diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index b30ebdb..231245d 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1224,11 +1224,13 @@ bool gprs_rlcmac_dl_tbf::keep_open(unsigned fn) const { int keep_time_frames; + unsigned long dl_tbf_idle_msec; - if (bts_data()->dl_tbf_idle_msec == 0) + dl_tbf_idle_msec = osmo_tdef_get(bts_data()->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); + if (dl_tbf_idle_msec == 0) return false; - keep_time_frames = msecs_to_frames(bts_data()->dl_tbf_idle_msec); + keep_time_frames = msecs_to_frames(dl_tbf_idle_msec); return frames_since_last_drain(fn) <= keep_time_frames; } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 7241a35..2036023 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -156,6 +156,7 @@ bts->initial_cs_dl = cs; bts->initial_cs_ul = cs; osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs_pcu, -2031, 0, OSMO_TDEF_S); trx = &bts->trx[0]; trx->pdch[ts_no].enable(); @@ -318,6 +319,7 @@ uint32_t fn = 0; uint8_t trx_no; uint32_t tlli = 0xffeeddcc; + unsigned long dl_tbf_idle_msec; uint8_t rbb[64/8]; @@ -328,7 +330,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); dl_tbf = create_dl_tbf(&the_bts, ms_class, 0, &trx_no); dl_tbf->update_ms(tlli, GPRS_RLCMAC_DL_TBF); @@ -362,7 +364,8 @@ RCV_ACK(false, dl_tbf, rbb); /* Receive an ACK */ /* Timeout (make sure fn % 52 remains valid) */ - fn += 52 * ((msecs_to_frames(bts->dl_tbf_idle_msec + 100) + 51)/ 52); + dl_tbf_idle_msec = osmo_tdef_get(bts->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); + fn += 52 * ((msecs_to_frames(dl_tbf_idle_msec + 100) + 51)/ 52); request_dl_rlc_block(dl_tbf, &fn); OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FINISHED)); @@ -2529,7 +2532,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; @@ -3064,7 +3067,7 @@ bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; @@ -3093,7 +3096,7 @@ bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ I resegmentation support */ @@ -3125,7 +3128,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:21:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 12:21:16 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15450 ) Change subject: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 Gerrit-Change-Number: 15450 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 12:21:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:22:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 12:22:53 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 ) Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Patch Set 2: Code-Review+1 Much better now, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 12:22:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 12:27:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 12:27:16 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Sep 2019 12:27:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 14:48:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 14:48:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 Change subject: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types ...................................................................... library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types Get rid of t_IMM_ASS_TBF_UL_DYN, use tr_IMM_TBF_ASS instead. Also, use both tr_PacketUlDynAssign and tr_PacketUlSglAssign for matching UL TBF assignment. Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 24 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/15457/1 diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 5a8d9ea..75d18d9 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -261,15 +261,6 @@ a[idx] := tfi_usf; } - /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation - * FIXME: this template has nothing to do with LAPDm, move to GSM_RR_Types.ttcn */ - template ImmediateAssignment t_IMM_ASS_TBF_UL_DYN(uint8_t ra, GsmFrameNumber fn) modifies t_IMM_ASS := { - ded_or_tbf := { spare := ?, tma := ?, downlink := false, tbf := true}, - chan_desc := omit, - pkt_chan_desc := ?, - rest_octets := tr_IaRestOctets_ULAss(tr_PacketUlDynAssign()) - }; - template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs, uint8_t ts, uint32_t fn, Arfcn arfcn, RlcmacUlBlock block) := { @@ -283,8 +274,10 @@ } } - private function f_establish_tbf(uint8_t ra) runs on lapdm_CT { + private function f_establish_tbf(uint8_t ra) runs on lapdm_CT return boolean { + var template GsmRrMessage imm_ass_rr; var ImmediateAssignment imm_ass; + var PacketUlAssign pkt_ul_ass; var GsmFrameNumber rach_fn; var TfiUsfArr tua := f_TfiUsfArrInit(); @@ -294,20 +287,35 @@ /* wait for receiving matching IMM ASS */ imm_ass := f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, rach_fn); - if (match(imm_ass, t_IMM_ASS_TBF_UL_DYN(ra, rach_fn))) { + /* make sure we got *Packet* (Uplink) Immediate Assignment */ + imm_ass_rr := tr_IMM_TBF_ASS(dl := false, ra := ra, fn := rach_fn, + rest := tr_IaRestOctets_ULAss(?)); + if (not match(imm_ass, imm_ass_rr.payload.imm_ass)) { + log("Failed to match Packet Immediate Assignment"); + return false; + } + + /* decapsulate PacketUlAssign for further matching */ + pkt_ul_ass := imm_ass.rest_octets.hh.pa.uldl.ass.ul; + + /* Dynamic Block Allocation */ + if (match(pkt_ul_ass, tr_PacketUlDynAssign)) { set_ph_state(PH_STATE_TBF); /* store/save channel description */ //chan_desc := imm_ass.chan_desc; /* Important: ARFCN, TN, TSC, USF, USF_GRANULARITY, CH_CODING_CMD */ - f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, - imm_ass.rest_octets.hh.pa.uldl.ass.ul.dynamic.usf); + f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, pkt_ul_ass.dynamic.usf); f_L1CTL_TBF_CFG(L1CTL, true, tua); - } else { - /* FIXME: single block uplink allocation */ - log("Failed to match ", t_IMM_ASS_TBF_UL_DYN(ra, rach_fn)); + return true; + /* FIXME: Single Block Allocation */ + } else if (match(pkt_ul_ass, tr_PacketUlSglAssign)) { log("Non-dynamic UL TBF assignment not supported yet"); + return false; + } else { + log("Failed to match Uplink Block Allocation: ", pkt_ul_ass); + return false; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 Gerrit-Change-Number: 15457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 14:48:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 14:48:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 Change subject: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types ...................................................................... library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types Get rid of template t_IMM_ASS, which is a part of L1CTL_Types.ttcn. Prepare generic (for both CS and PS) template on top of tr_IMM_ASS, and use it in f_L1CTL_WAIT_IMM_ASS(). Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 --- M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn 2 files changed, 9 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/15458/1 diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 3c83c3d..c595b03 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -127,15 +127,23 @@ } function f_L1CTL_WAIT_IMM_ASS(L1CTL_PT pt, uint8_t ra, GsmFrameNumber rach_fn) return ImmediateAssignment { + var template GsmRrMessage rr_imm_ass; var L1ctlDlMessage dl; var GsmRrMessage rr; timer T := 10.0; + + /* Prepare generic template (for both CS and PS) */ + rr_imm_ass := tr_IMM_ASS(ra, rach_fn); + rr_imm_ass.payload.imm_ass.ded_or_tbf := ?; + rr_imm_ass.payload.imm_ass.pkt_chan_desc := *; + rr_imm_ass.payload.imm_ass.chan_desc := *; + T.start; alt { [] pt.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { rr := dec_GsmRrMessage(dl.payload.data_ind.payload); log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS(ra, rach_fn))) { + if (match(rr, rr_imm_ass)) { log("Received IMM.ASS for our RACH!"); } else { repeat; diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 77c1f6a..e939f72 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -780,24 +780,6 @@ } }; - template ImmediateAssignment t_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - ded_or_tbf := ?, - page_mode := ?, - chan_desc := *, - pkt_chan_desc := *, - req_ref := f_compute_ReqRef(ra, fn), - timing_advance := ?, - mobile_allocation := ?, - rest_octets:= ? - }; - - template GsmRrMessage t_RR_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), - payload := { - imm_ass := t_IMM_ASS(ra, fn) - } - }; - const octetstring c_DummyUI := '0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O; /* We use "BYTEORDER(last)" so we get little-endian integers. Unfortuantely, this also -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 Gerrit-Change-Number: 15458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 14:48:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 14:48:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 Change subject: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage ...................................................................... library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage For some reason TITAN starts padding not from the beginning of record ImmediateAssignment, but from it's wrapper GsmRrMessage. As a result, dec_GsmRrMessage() warns about undecoded octets: Data remained at the end of the stream after successful decoding '2B2B2B'O Similarly enc_GsmRrMessage() generates a shorter payload. Let's work this around by applying PADDING attribute to GsmRrMessage. Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 --- M library/GSM_RR_Types.ttcn 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/15456/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 49ceae3..b090d25 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -590,8 +590,7 @@ /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" - variant "PADDING(168), PADDING_PATTERN('00101011'B)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -683,7 +682,10 @@ pag_req_2, header.message_type = PAGING_REQUEST_TYPE_2; pag_req_3, header.message_type = PAGING_REQUEST_TYPE_3; other, OTHERWISE; - )" }; + )" + /* Total message length: 184 = 23 * 8. Pad spare bits with '2B'O. */ + variant "PADDING(184), PADDING_PATTERN('00101011'B)" + }; external function enc_GsmRrMessage(in GsmRrMessage msg) return octetstring with { extension "prototype(convert) encode(RAW)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 Gerrit-Change-Number: 15456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 14:48:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 14:48:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 Change subject: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS ...................................................................... library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/15455/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b098118..49ceae3 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -756,7 +756,7 @@ template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, template MobileAllocation ma := ?) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), + header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { ded_or_tbf := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 Gerrit-Change-Number: 15455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 14:49:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 9 Sep 2019 14:49:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 ) Change subject: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 Gerrit-Change-Number: 15449 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 14:49:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 15:19:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Sep 2019 15:19:22 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 14 files changed, 413 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/1 diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index 144fba6..fd989a5 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -13,6 +13,7 @@ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ #define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ +#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to transmit APP INFO via PACCH */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -172,6 +173,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU to [once] send given application data via PACCH to all UE with active TBF */ +struct gsm_pcu_if_app_info_req { + uint8_t application_type; /* 4bit field, see TS 44.060 11.2.47 */ + uint8_t len; /* length of data */ + uint8_t data[162]; /* random size choice; ETWS needs 56 bytes */ +} __attribute__ ((packed)); + /* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ struct gsm_pcu_if_susp_req { uint32_t tlli; @@ -198,6 +206,7 @@ struct gsm_pcu_if_act_req act_req; struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; + struct gsm_pcu_if_app_info_req app_info_req; } u; } __attribute__ ((packed)); diff --git a/src/Makefile.am b/src/Makefile.am index 233e24d..7148267 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,7 +69,8 @@ gprs_codel.c \ coding_scheme.c \ gprs_coding_scheme.cpp \ - egprs_rlc_compression.cpp + egprs_rlc_compression.cpp \ + gprs_rlcmac_sched.cpp bin_PROGRAMS = \ osmo-pcu diff --git a/src/bts.cpp b/src/bts.cpp index 26dd401..6326cf3 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -216,6 +216,7 @@ { memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; + m_bts.app_info = NULL; /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(m_bts.trx); ++trx_no) { @@ -259,6 +260,11 @@ osmo_stat_item_group_free(m_statg); m_statg = NULL; } + + if (m_bts.app_info) { + msgb_free(m_bts.app_info); + m_bts.app_info = NULL; + } } BTS::~BTS() diff --git a/src/bts.h b/src/bts.h index 767605c..b238d44 100644 --- a/src/bts.h +++ b/src/bts.h @@ -164,6 +164,11 @@ /* Are we talking Gb with IP-SNS (true) or classic Gb? */ bool gb_dialect_sns; + + /* Packet Application Information (3GPP TS 44.060 11.2.47, usually ETWS primary message). We don't need to store + * more than one message, because they get sent so rarely. */ + struct msgb *app_info; /* Encoded as RLC/MAC message */ + uint32_t app_info_todo; /* Count of MS with active TBF, to which we did not send app_info yet */ }; #ifdef __cplusplus diff --git a/src/gprs_ms.h b/src/gprs_ms.h index ad8ca1d..2bbfde1 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -40,6 +40,10 @@ struct BTS; struct gprs_rlcmac_trx; +struct gprs_rlcmac_ms { + bool app_info_send; +}; + class GprsMs { public: struct Callback { @@ -61,6 +65,8 @@ GprsMs(BTS *bts, uint32_t tlli); ~GprsMs(); + struct gprs_rlcmac_ms *ms_data() {return &m_ms_data;} + void set_callback(Callback *cb) {m_cb = cb;} void merge_old_ms(GprsMs *old_ms); @@ -150,6 +156,7 @@ gprs_rlcmac_ul_tbf *m_ul_tbf; gprs_rlcmac_dl_tbf *m_dl_tbf; LListHead m_old_tbfs; + struct gprs_rlcmac_ms m_ms_data = {0}; uint32_t m_tlli; uint32_t m_new_ul_tlli; diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 5a223c1..1a62bfb 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -41,4 +41,34 @@ return 0; } +/* Encode Application Information Request to Packet Application Information (3GPP TS 44.060 11.2.47) */ +struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req) { + struct msgb *msg; + uint8_t i; + uint8_t word; + if (!req->len) { + LOGP(DRLCMAC, LOGL_ERROR, "Application Information Request with zero length received!\n"); + return NULL; + } + + msg = msgb_alloc(req->len + 1, "app_info_msg"); + if (!msg) + return NULL; + + word = 0x00; /* 0-1: page mode: normal */ + word |= (0x0F & req->application_type) << 6; /* 2-5: application type */ + word |= (0xC0 & req->data[0]) >> 6; /* 6-7: first two data bits */ + msgb_put_u8(msg, word); + + for (i=0; i < req->len - 1; i++) { + word = req->data[i] << 2; /* 0-6: last six data bits from current byte */ + word |= (0xC0 & req->data[i + 1]) >> 6; /* 7-8: first two data bits from next byte */ + msgb_put_u8(msg, word); + } + + word = (0xC0 & req->data[req->len -1]) << 2; /* 0-6: last six data bits from last byte (rest is padding) */ + msgb_put_u8(msg, word); + + return msg; +} diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 7a3a7af..16cb05f 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -31,6 +31,7 @@ #include #include #include +#include } #endif @@ -94,6 +95,8 @@ int gprs_rlcmac_paging_request(uint8_t *ptmsi, uint16_t ptmsi_len, const char *imsi); +struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req); + int gprs_rlcmac_rcv_rts_block(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 57756e3..4b74708 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -123,6 +123,37 @@ return usf; } +struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf) { + struct gprs_rlcmac_ms *ms_data; + struct gprs_rlcmac_bts *bts_data; + struct msgb *msg = NULL; + + if (!tbf || !tbf->ms()->ms_data()->app_info_send) + return NULL; + + ms_data = tbf->ms()->ms_data(); + bts_data = BTS::main_bts()->bts_data(); + + if (bts_data->app_info) { + LOGP(DRLCMACSCHED, LOGL_DEBUG, "Sending Packet Application Information message\n"); + msg = msgb_copy(bts_data->app_info, "app_info_msg_sched"); + } + else + LOGP(DRLCMACSCHED, LOGL_ERROR, "MS has app_info_send flag set, but no Packet Application Information" + " message stored in BTS!\n"); + + ms_data->app_info_send = false; + bts_data->app_info_todo--; + + if (!bts_data->app_info_todo) { + LOGP(DRLCMACSCHED, LOGL_DEBUG, "Packet Application Information successfully sent to all MS with active" + " TBF\n"); + msgb_free(bts_data->app_info); + bts_data->app_info = NULL; + } + return msg; +} + static struct msgb *sched_select_ctrl_msg( uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, @@ -134,37 +165,42 @@ struct gprs_rlcmac_tbf *tbf = NULL; struct gprs_rlcmac_tbf *next_list[3] = { ul_ass_tbf, dl_ass_tbf, ul_ack_tbf }; - for (size_t i = 0; i < ARRAY_SIZE(next_list); ++i) { - tbf = next_list[(pdch->next_ctrl_prio + i) % 3]; - if (!tbf) - continue; + /* Send Packet Application Information first (ETWS primary notifications) */ + msg = sched_app_info(dl_ass_tbf); - /* - * Assignments for the same direction have lower precedence, - * because they may kill the TBF when the CONTROL ACK is - * received, thus preventing the others from being processed. - */ - if (tbf == ul_ass_tbf && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) - msg = ul_ass_tbf->create_packet_access_reject(); - else if (tbf == ul_ass_tbf && tbf->direction == - GPRS_RLCMAC_DL_TBF) - if (tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + if (!msg) { + for (size_t i = 0; i < ARRAY_SIZE(next_list); ++i) { + tbf = next_list[(pdch->next_ctrl_prio + i) % 3]; + if (!tbf) + continue; + + /* + * Assignments for the same direction have lower precedence, + * because they may kill the TBF when the CONTROL ACK is + * received, thus preventing the others from being processed. + */ + if (tbf == ul_ass_tbf && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) msg = ul_ass_tbf->create_packet_access_reject(); - else - msg = ul_ass_tbf->create_ul_ass(fn, ts); - else if (tbf == dl_ass_tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) - msg = dl_ass_tbf->create_dl_ass(fn, ts); - else if (tbf == ul_ack_tbf) - msg = ul_ack_tbf->create_ul_ack(fn, ts); + else if (tbf == ul_ass_tbf && tbf->direction == + GPRS_RLCMAC_DL_TBF) + if (tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + msg = ul_ass_tbf->create_packet_access_reject(); + else + msg = ul_ass_tbf->create_ul_ass(fn, ts); + else if (tbf == dl_ass_tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) + msg = dl_ass_tbf->create_dl_ass(fn, ts); + else if (tbf == ul_ack_tbf) + msg = ul_ack_tbf->create_ul_ack(fn, ts); - if (!msg) { - tbf = NULL; - continue; + if (!msg) { + tbf = NULL; + continue; + } + + pdch->next_ctrl_prio += 1; + pdch->next_ctrl_prio %= 3; + break; } - - pdch->next_ctrl_prio += 1; - pdch->next_ctrl_prio %= 3; - break; } if (!msg) { diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index da85df4..90df70d 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -620,6 +620,42 @@ return bssgp_tx_suspend(bctx->nsei, susp_req->tlli, &ra_id); } +static int pcu_rx_app_info_req(struct gsm_pcu_if_app_info_req *app_info_req) +{ + LListHead *ms_iter; + BTS *bts = BTS::main_bts(); + struct gprs_rlcmac_bts *bts_data = bts->bts_data(); + + LOGP(DL1IF, LOGL_DEBUG, "Application Information Request received: type=0x%08x len=%i\n", + app_info_req->application_type, app_info_req->len); + + bts_data->app_info_todo = 0; + llist_for_each(ms_iter, &bts->ms_store().ms_list()) { + GprsMs *ms = ms_iter->entry(); + if (!ms->dl_tbf()) + continue; + bts_data->app_info_todo++; + ms->ms_data()->app_info_send = true; + } + + if (!bts_data->app_info_todo) { + LOGP(DL1IF, LOGL_NOTICE, "Packet Application Information will not be sent, no subscribers with active" + " TBF\n"); + return -1; + } + + if (bts_data->app_info) { + LOGP(DL1IF, LOGL_NOTICE, "Previous Packet Application Information was not sent to all subscribers," + " overwriting with new one\n"); + msgb_free(bts_data->app_info); + } + + LOGP(DL1IF, LOGL_INFO, "Sending Packet Application Information to %i subscribers with active TBF\n", + bts_data->app_info_todo); + bts_data->app_info = gprs_rlcmac_app_info_msg(app_info_req); + return 0; +} + int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim) { int rc = 0; @@ -649,6 +685,9 @@ case PCU_IF_MSG_SUSP_REQ: rc = pcu_rx_susp_req(&pcu_prim->u.susp_req); break; + case PCU_IF_MSG_APP_INFO_REQ: + rc = pcu_rx_app_info_req(&pcu_prim->u.app_info_req); + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", msg_type); diff --git a/tests/Makefile.am b/tests/Makefile.am index 887200d..42dade9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ AM_LDFLAGS = -lrt -no-install -check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest +check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest app_info/AppInfoTest noinst_PROGRAMS = emu/pcu_emu rlcmac_RLCMACTest_SOURCES = rlcmac/RLCMACTest.cpp @@ -108,6 +108,14 @@ $(LIBOSMOCORE_LIBS) \ $(COMMON_LA) +app_info_AppInfoTest_SOURCES = app_info/AppInfoTest.cpp +app_info_AppInfoTest_LDADD = \ + $(top_builddir)/src/libgprs.la \ + $(LIBOSMOGB_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(COMMON_LA) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -138,7 +146,8 @@ llist/LListTest.ok llist/LListTest.err \ codel/codel_test.ok \ edge/EdgeTest.ok \ - fn/FnTest.ok + fn/FnTest.ok \ + app_info/AppInfoTest.ok app_info/AppInfoTest.err DISTCLEANFILES = atconfig diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp new file mode 100644 index 0000000..eb73067 --- /dev/null +++ b/tests/app_info/AppInfoTest.cpp @@ -0,0 +1,181 @@ +/* Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include "gprs_rlcmac.h" +#include "bts.h" + +extern "C" { +#include +#include +#include +#include +#include +} + +using namespace std; +gprs_rlcmac_dl_tbf *tbf1, *tbf2; +GprsMs *ms1, *ms2; +struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf); + +/* globals used by the code */ +void *tall_pcu_ctx; +int16_t spoof_mnc = 0, spoof_mcc = 0; +bool spoof_mnc_3_digits = false; + +void test_enc_zero_len() { + struct gsm_pcu_if_app_info_req req = {0, 0, {0}}; + + fprintf(stderr, "--- %s ---\n", __func__); + assert(gprs_rlcmac_app_info_msg(&req) == NULL); + fprintf(stderr, "\n"); +} + +void test_enc() { + struct gsm_pcu_if_app_info_req req = {0, 15, {0xff, 0x00, 0xff}}; + const char *exp = "03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 "; /* shifted by two bits to the right */ + struct msgb *msg; + char *msg_dump; + + fprintf(stderr, "--- %s ---\n", __func__); + msg = gprs_rlcmac_app_info_msg(&req); + msg_dump = msgb_hexdump_c(tall_pcu_ctx, msg); + + fprintf(stderr, "exp: %s\n", exp); + fprintf(stderr, "msg: %s\n", msg_dump); + assert(strcmp(msg_dump, exp) == 0); + + msgb_free(msg); + talloc_free(msg_dump); + fprintf(stderr, "\n"); +} + +void test_pcu_rx_no_subscr_with_active_tbf() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + fprintf(stderr, "\n"); +} + +void prepare_bts_with_two_dl_tbf_subscr() +{ + BTS *bts = BTS::main_bts(); + struct gprs_rlcmac_bts *bts_data; + struct gprs_rlcmac_trx *trx; + + fprintf(stderr, "--- %s ---\n", __func__); + + bts_data = bts->bts_data(); + bts_data->alloc_algorithm = alloc_algorithm_b; + + trx = bts_data->trx; + trx->pdch[4].enable(); + trx->pdch[5].enable(); + trx->pdch[6].enable(); + trx->pdch[7].enable(); + + ms1 = bts->ms_alloc(10, 11); + tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, 10, 11, false); + ms2 = bts->ms_alloc(12, 13); + tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, 12, 13, false); + + fprintf(stderr, "\n"); +} + +void test_sched_app_info_ok() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + struct msgb *msg; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + + msg = sched_app_info(tbf1); + assert(msg); + msgb_free(msg); + + msg = sched_app_info(tbf2); + assert(msg); + msgb_free(msg); + + fprintf(stderr, "\n"); +} + +void test_sched_app_info_missing_app_info_in_bts() +{ + struct gprs_rlcmac_bts *bts_data = BTS::main_bts()->bts_data(); + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + + msgb_free(bts_data->app_info); + bts_data->app_info = NULL; + + assert(sched_app_info(tbf1) == NULL); + + fprintf(stderr, "\n"); +} + +void test_pcu_rx_overwrite_app_info() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + fprintf(stderr, "\n"); +} + +void cleanup() +{ + fprintf(stderr, "--- %s ---\n", __func__); + + BTS::main_bts()->cleanup(); + talloc_free(tbf1); + talloc_free(tbf2); + /* FIXME: talloc report disabled, because bts->ms_alloc() in prepare_bts_with_two_dl_tbf_subscr() causes leak */ + /* talloc_report_full(tall_pcu_ctx, stderr); */ + talloc_free(tall_pcu_ctx); +} + +int main(int argc, char *argv[]) +{ + tall_pcu_ctx = talloc_named_const(NULL, 1, "AppInfoTest"); + osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + log_parse_category_mask(osmo_stderr_target, "DL1IF,1:DRLCMAC,3:DRLCMACSCHED,1"); + + test_enc_zero_len(); + test_enc(); + test_pcu_rx_no_subscr_with_active_tbf(); + + prepare_bts_with_two_dl_tbf_subscr(); + test_sched_app_info_ok(); + test_sched_app_info_missing_app_info_in_bts(); + test_pcu_rx_overwrite_app_info(); + + cleanup(); +} diff --git a/tests/app_info/AppInfoTest.err b/tests/app_info/AppInfoTest.err new file mode 100644 index 0000000..9c89094 --- /dev/null +++ b/tests/app_info/AppInfoTest.err @@ -0,0 +1,50 @@ +--- test_enc_zero_len --- +Application Information Request with zero length received! + +--- test_enc --- +exp: 03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 +msg: 03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 + +--- test_pcu_rx_no_subscr_with_active_tbf --- +Application Information Request received: type=0x00000000 len=0 +Packet Application Information will not be sent, no subscribers with active TBF + +--- prepare_bts_with_two_dl_tbf_subscr --- +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 10 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 +[DL] algo B (suggested TRX: 0): using 4 slots +PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 5, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 6, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 13 +[DL] algo B (suggested TRX: 0): using 3 slots +PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +PDCH(TS 5, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +PDCH(TS 6, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) + +--- test_sched_app_info_ok --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +Sending Packet Application Information message +Sending Packet Application Information message +Packet Application Information successfully sent to all MS with active TBF + +--- test_sched_app_info_missing_app_info_in_bts --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +MS has app_info_send flag set, but no Packet Application Information message stored in BTS! + +--- test_pcu_rx_overwrite_app_info --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +Application Information Request received: type=0x00000000 len=15 +Previous Packet Application Information was not sent to all subscribers, overwriting with new one +Sending Packet Application Information to 2 subscribers with active TBF + +--- cleanup --- diff --git a/tests/app_info/AppInfoTest.ok b/tests/app_info/AppInfoTest.ok new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/app_info/AppInfoTest.ok diff --git a/tests/testsuite.at b/tests/testsuite.at index 86f45a8..09b0247 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -82,3 +82,10 @@ cat $abs_srcdir/fn/FnTest.ok > expout AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/fn/FnTest], [0], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([app_info]) +AT_KEYWORDS([app_info]) +cat $abs_srcdir/app_info/AppInfoTest.ok > expout +cat $abs_srcdir/app_info/AppInfoTest.err > experr +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/app_info/AppInfoTest], [0], [expout], [experr]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 15:20:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Sep 2019 15:20:40 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 14 files changed, 413 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 18:14:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 18:14:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 ) Change subject: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 Gerrit-Change-Number: 15455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 18:14:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 18:15:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 18:15:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 Gerrit-Change-Number: 15456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 18:15:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 18:16:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 18:16:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 ) Change subject: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 Gerrit-Change-Number: 15457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 18:16:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 9 18:17:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 9 Sep 2019 18:17:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 ) Change subject: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 Gerrit-Change-Number: 15458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Sep 2019 18:17:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:48:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:48:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 ) Change subject: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 Gerrit-Change-Number: 15455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:48:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:48:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:48:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 Gerrit-Change-Number: 15456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:48:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:48:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:48:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 ) Change subject: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 Gerrit-Change-Number: 15448 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:48:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:49:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:49:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 ) Change subject: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 Gerrit-Change-Number: 15449 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:49:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:49:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:49:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 ) Change subject: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 Gerrit-Change-Number: 15457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:49:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:49:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 ) Change subject: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 Gerrit-Change-Number: 15447 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:49:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:50:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:50:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 ) Change subject: library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS ...................................................................... library/GSM_RR_Types.ttcn: fix hard-coded L2 pseudo length in tr_IMM_ASS Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b098118..49ceae3 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -756,7 +756,7 @@ template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, template MobileAllocation ma := ?) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), + header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { ded_or_tbf := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1d3b0fbd01875cdb94b923a1521b1387a33adcd8 Gerrit-Change-Number: 15455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:50:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 ) Change subject: library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage ...................................................................... library/GSM_RR_Types.ttcn: fix: apply '2B'O padding to GsmRrMessage For some reason TITAN starts padding not from the beginning of record ImmediateAssignment, but from it's wrapper GsmRrMessage. As a result, dec_GsmRrMessage() warns about undecoded octets: Data remained at the end of the stream after successful decoding '2B2B2B'O Similarly enc_GsmRrMessage() generates a shorter payload. Let's work this around by applying PADDING attribute to GsmRrMessage. Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 --- M library/GSM_RR_Types.ttcn 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 49ceae3..b090d25 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -590,8 +590,7 @@ /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" - variant "PADDING(168), PADDING_PATTERN('00101011'B)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -683,7 +682,10 @@ pag_req_2, header.message_type = PAGING_REQUEST_TYPE_2; pag_req_3, header.message_type = PAGING_REQUEST_TYPE_3; other, OTHERWISE; - )" }; + )" + /* Total message length: 184 = 23 * 8. Pad spare bits with '2B'O. */ + variant "PADDING(184), PADDING_PATTERN('00101011'B)" + }; external function enc_GsmRrMessage(in GsmRrMessage msg) return octetstring with { extension "prototype(convert) encode(RAW)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5fe327383402956213c20a68b18b8a48381156b5 Gerrit-Change-Number: 15456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:50:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 ) Change subject: library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding ...................................................................... library/GSM_RR_Types.ttcn: refactor IaRestOctHH coding According to 3GPP TS 44.018, section 10.5.2.16, IA Rest Octets IE starting with 'HH' bits may contain one of the following CSN.1 encoded components: 7 6 5 4 3 2 1 0 Bit Numbers H H 0 0 . . . . Packet Uplink Assignment H H 0 1 . . . . Packet Downlink Assignment H H 1 . . . . . Second Part Packet Assignment We already have (partial) support for the first two, while the last type has not been supported so far. Let's add it. Also, this change introduces several templates for IA Rest Octets IE and some of its components mentioned above. This would allow us to abstract the API users from dealing with further changes, e.g. adding a coding attribute 'CSN.1 L/H' and missing fields. Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 --- M library/GSM_RR_Types.ttcn M library/LAPDm_RAW_PT.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 120 insertions(+), 64 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b090d25..3d2f76a 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -445,13 +445,37 @@ variant (mobile_allocation) "PRESENCE(freq_par_len != 0)" */ }; - type record IaRestOctHH { - BIT2 presence, - PacketUlAssign ul optional, - PacketDlAssign dl optional + type record SecondPartAssign { + BIT1 r99, /* H / L */ + BIT1 presence optional, + BIT5 ext_ra optional } with { - variant (ul) "PRESENCE(presence = '00'B)" - variant (dl) "PRESENCE(presence = '01'B)" + /* TODO: use 'CSN.1 L/H' attribute here */ + variant (presence) "PRESENCE(r99 = '1'B)" /* H */ + variant (ext_ra) "PRESENCE(presence = '1'B)" + }; + type union PacketUlDlAssignUnion { + PacketUlAssign ul, + PacketDlAssign dl + }; + type record PacketUlDlAssign { + BIT1 ass_disc, + PacketUlDlAssignUnion ass + } with { + variant (ass) "CROSSTAG(dl, ass_disc = '1'B; ul, ass_disc = '0'B)" + }; + type union PacketAssignUnion { + SecondPartAssign spa, + PacketUlDlAssign uldl + }; + type record IaRestOctHH { + /* Packet Assignment discriminator: + * Packet Uplink / Downlink Assignment (0) + * Second Part Packet Assignment (1) */ + BIT1 pa_disc, + PacketAssignUnion pa + } with { + variant (pa) "CROSSTAG(spa, pa_disc = '1'B; uldl, pa_disc = '0'B)" }; type record PacketUlAssignDyn { uint5_t tfi_assignment, @@ -724,6 +748,88 @@ with { extension "prototype(convert) decode(RAW)" }; + template PacketDlAssign tr_PacketDlAssign(template GprsTlli tlli) := { + tlli := tlli, + group1_present := ?, + group1 := *, + ta_index_present := ?, + ta_index := *, + tbf_starting_time_present := ?, + tbf_starting_time := *, + p0_present := ?, + p0 := *, + pr_mode := * + }; + + template IaRestOctets tr_IaRestOctets_DLAss(template PacketDlAssign dl_ass) := { + presence := '11'B, /* HH */ + ll := omit, lh := omit, hl := omit, + hh := { + pa_disc := '0'B, /* Packet Assignment (0) */ + pa := { + uldl := { + ass_disc := '1'B, /* Downlink Assignment (1) */ + ass := { dl := dl_ass } + } + } + } + }; + + template PacketUlAssign tr_PacketUlDynAssign(template uint5_t tfi := ?, + template BIT1 polling := ?, + template uint3_t usf := ?, + template BIT1 usf_granularity := ?, + template ChCodingCommand cs := ?) := { + presence := '1'B, /* Dynamic Assignment */ + dynamic := { + tfi_assignment := tfi, + polling := polling, + spare := '0'B, /* Dynamic Assignment (mandatory after Rel-4) */ + usf := usf, + usf_granularity := usf_granularity, + p0_present := ?, + p0 := *, + pr_mode := *, + ch_coding_cmd := cs, + tlli_block_chan_coding := ?, + alpha_present := ?, + alpha := *, + gamma := ?, + /* TODO: add to parameters */ + ta_index_present := ?, + ta_index := *, + tbf_starting_time_present := ?, + tbf_starting_time := * + }, + single := omit + }; + + template PacketUlAssign tr_PacketUlSglAssign := { + presence := '1'B, /* Single Block Assignment */ + dynamic := omit, + single := { + alpha_present := ?, + alpha := *, + gamma := ?, + padding := '01'B, + tbf_starting_time := ? + } + }; + + template IaRestOctets tr_IaRestOctets_ULAss(template PacketUlAssign ul_ass) := { + presence := '11'B, /* HH */ + ll := omit, lh := omit, hl := omit, + hh := { + pa_disc := '0'B, /* Packet Assignment (0) */ + pa := { + uldl := { + ass_disc := '0'B, /* Uplink Assignment (0) */ + ass := { ul := ul_ass } + } + } + } + }; + template (value) GsmRrMessage ts_IMM_ASS(uint8_t ra, GsmFrameNumber fn, TimingAdvance ta, ChannelDescription ch_desc, MobileAllocation ma) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, 0), @@ -802,6 +908,7 @@ } }; + /* TODO: introduce generic TBF Assignment template for DL and UL */ template ImmediateAssignment t_IMM_ASS_TBF_DL(template GprsTlli tlli) := { ded_or_tbf := { spare := ?, @@ -822,28 +929,7 @@ req_ref := ?, timing_advance := ?, mobile_allocation := ?, - rest_octets := { - presence := '11'B, - ll := omit, - lh := omit, - hl := omit, - hh := { - presence := '01'B, - ul := omit, - dl := { - tlli := tlli, - group1_present := ?, - group1 := *, - ta_index_present := ?, - ta_index := *, - tbf_starting_time_present := ?, - tbf_starting_time := *, - p0_present := ?, - p0 := *, - pr_mode := * - } - } - } + rest_octets := tr_IaRestOctets_DLAss(tr_PacketDlAssign(tlli)) }; template GsmRrMessage t_RR_IMM_ASS_TBF_DL(template GprsTlli tlli) := { diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 2ede566..5a8d9ea 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -261,44 +261,13 @@ a[idx] := tfi_usf; } - /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation */ + /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation + * FIXME: this template has nothing to do with LAPDm, move to GSM_RR_Types.ttcn */ template ImmediateAssignment t_IMM_ASS_TBF_UL_DYN(uint8_t ra, GsmFrameNumber fn) modifies t_IMM_ASS := { ded_or_tbf := { spare := ?, tma := ?, downlink := false, tbf := true}, chan_desc := omit, pkt_chan_desc := ?, - rest_octets := { - presence := '11'B, - ll := omit, - lh := omit, - hl := omit, - hh := { - presence := '00'B, - ul := { - presence := '1'B, - dynamic := { - tfi_assignment := ?, - polling := ?, - spare := '0'B, - usf := ?, - usf_granularity := ?, - p0_present := ?, - p0 := *, - pr_mode := *, - ch_coding_cmd := ?, - tlli_block_chan_coding:= ?, - alpha_present := ?, - alpha := *, - gamma := ?, - ta_index_present := ?, - ta_index := *, - tbf_starting_time_present := ?, - tbf_starting_time := * - }, - single := omit - }, - dl := omit - } - } + rest_octets := tr_IaRestOctets_ULAss(tr_PacketUlDynAssign()) }; template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs, @@ -332,7 +301,8 @@ //chan_desc := imm_ass.chan_desc; /* Important: ARFCN, TN, TSC, USF, USF_GRANULARITY, CH_CODING_CMD */ - f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, imm_ass.rest_octets.hh.ul.dynamic.usf); + f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, + imm_ass.rest_octets.hh.pa.uldl.ass.ul.dynamic.usf); f_L1CTL_TBF_CFG(L1CTL, true, tua); } else { /* FIXME: single block uplink allocation */ diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0f43f28..4ef71fa 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -603,7 +603,7 @@ var TbfPars tbf_pars := valueof(t_TbfParsInit); log("Received IMM.ASS for our TLLI!"); tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := - rr.payload.imm_ass.rest_octets.hh.dl.group1.tfi_assignment; + rr.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl.group1.tfi_assignment; L1.send(TBF_DL_establish_req:{tbf_nr, tbf_pars}); } else { repeat; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3a21e7c5fa1cad4466e3a09fa70540de7f6ecc5 Gerrit-Change-Number: 15448 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:50:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 ) Change subject: library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS ...................................................................... library/GSM_RR_Types.ttcn: introduce generic tr_IMM_TBF_ASS Both 't_IMM_ASS_TBF_DL' and 't_RR_IMM_ASS_TBF_DL' templates were introduced for a specific task - matching Packet Immediate Assignment (Downlink TBF) by TLLI. In the upcoming changes we will also need to match Uplink TBF assignment, and more generic fields such as Timing Advance. Let's add a generic template for Packet Immediate Assignment and allow passing IaRestOctets as a parameter. Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 --- M library/GSM_RR_Types.ttcn M library/L1CTL_PortType.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 33 insertions(+), 35 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 3d2f76a..70009ac 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -884,6 +884,32 @@ } }; + /* TODO: implement send version of this template */ + template GsmRrMessage tr_IMM_TBF_ASS(template boolean dl := ?, + template uint8_t ra := ?, + template GsmFrameNumber fn := ?, + template TimingAdvance ta := ?, + template PacketChannelDescription ch_desc := ?, + template IaRestOctets rest := ?) := { + header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), + payload := { + imm_ass := { + ded_or_tbf := { + spare := ?, + tma := ?, + downlink := dl, + tbf := true + }, + page_mode := ?, + chan_desc := omit, + pkt_chan_desc := ch_desc, + req_ref := tr_compute_ReqRef(ra, fn), + timing_advance := ta, + mobile_allocation := ?, + rest_octets := rest + } + } + }; template (value) GsmRrL3Message ts_MEAS_REP(boolean valid, uint6_t rxl_f, uint6_t rxl_s, uint3_t rxq_f, uint3_t rxq_s, @@ -908,37 +934,4 @@ } }; - /* TODO: introduce generic TBF Assignment template for DL and UL */ - template ImmediateAssignment t_IMM_ASS_TBF_DL(template GprsTlli tlli) := { - ded_or_tbf := { - spare := ?, - tma := ?, - downlink := ?, - tbf := true - }, - page_mode := ?, - chan_desc := omit, - pkt_chan_desc := { - channel_Type_spare := ?, - tn := ?, - tsc := ?, - presence := ?, - zero := *, - one := omit - }, - req_ref := ?, - timing_advance := ?, - mobile_allocation := ?, - rest_octets := tr_IaRestOctets_DLAss(tr_PacketDlAssign(tlli)) - }; - - template GsmRrMessage t_RR_IMM_ASS_TBF_DL(template GprsTlli tlli) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), - payload := { - imm_ass := t_IMM_ASS_TBF_DL(tlli) - } - }; - - - } with { encode "RAW" ; variant "FIELDORDER(msb)" } diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 2423715..3c83c3d 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -152,15 +152,18 @@ } function f_L1CTL_WAIT_IMM_ASS_TBF_DL(L1CTL_PT pt, GprsTlli tlli) return ImmediateAssignment { + var template PacketDlAssign dl_ass := tr_PacketDlAssign(tlli); + var template IaRestOctets rest := tr_IaRestOctets_DLAss(dl_ass); var L1ctlDlMessage dl; var GsmRrMessage rr; timer T := 10.0; T.start; alt { [] pt.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { + /* TODO: use decmatch tr_IaRestOctets_DLAss(...) instead */ rr := dec_GsmRrMessage(dl.payload.data_ind.payload); log("PCH/AGCN DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + if (match(rr, tr_IMM_TBF_ASS(dl := true, rest := rest))) { log("Received IMM.ASS for our TLLI!"); } else { repeat; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4ef71fa..838b6e1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -591,6 +591,8 @@ } function f_wait_tbf_dl(TbfNr tbf_nr, GprsTlli tlli) runs on dummy_CT return ImmediateAssignment { + var template PacketDlAssign dl_ass := tr_PacketDlAssign(tlli); + var template IaRestOctets rest := tr_IaRestOctets_DLAss(dl_ass); var LAPDm_ph_data ph_data; var GsmRrMessage rr; timer T := 10.0; @@ -599,7 +601,7 @@ [] L1.receive(LAPDm_ph_data:{sacch:=?,sapi:=0,lapdm:={bbis:=?}}) -> value ph_data { rr := dec_GsmRrMessage(ph_data.lapdm.bbis.payload); log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS_TBF_DL(tlli))) { + if (match(rr, tr_IMM_TBF_ASS(dl := true, rest := rest))) { var TbfPars tbf_pars := valueof(t_TbfParsInit); log("Received IMM.ASS for our TLLI!"); tbf_pars.tfi[rr.payload.imm_ass.pkt_chan_desc.tn] := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I492cf990820ba153ea71469b8b623e56e031e549 Gerrit-Change-Number: 15449 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:51:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:51:34 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 00:51:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:51:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:51:44 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15427 ) Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 00:51:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:51:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:51:55 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 00:51:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 00:52:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 00:52:19 +0000 Subject: Change in ...osmo-pcu[master]: tests: TbfTest: Unify stderr and stdout to ease debugging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15452 ) Change subject: tests: TbfTest: Unify stderr and stdout to ease debugging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 Gerrit-Change-Number: 15452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 00:52:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 10 02:33:39 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 10 Sep 2019 02:33:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d770b8d8dc2_4752ae3ae4ca6004097f4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 820s] ar: `u' modifier ignored since `D' is the default (see `U') [ 820s] libtool: link: ranlib .libs/libtransceiver_common.a [ 820s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 820s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 821s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 821s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 821s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 821s] collect2: error: ld returned 1 exit status [ 821s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 821s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 821s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 821s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 821s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 821s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 821s] make[1]: *** [Makefile:444: all] Error 2 [ 821s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 821s] dh_auto_build: make -j1 returned exit code 2 [ 821s] make: *** [debian/rules:6: build] Error 255 [ 821s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 821s] [ 821s] morla3 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Tue Sep 10 02:33:16 UTC 2019. [ 821s] [ 821s] ### VM INTERACTION START ### [ 825s] [ 795.155874] sysrq: SysRq : Power Off [ 826s] [ 795.492261] reboot: Power down [ 826s] ### VM INTERACTION END ### [ 826s] [ 826s] morla3 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Tue Sep 10 02:33:22 UTC 2019. [ 826s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 10 06:56:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Sep 2019 06:56:37 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#3). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 14 files changed, 423 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 07:50:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 10 Sep 2019 07:50:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 ) Change subject: library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types ...................................................................... library/LAPDm_RAW_PT.ttcn: use templates from GSM_RR_Types Get rid of t_IMM_ASS_TBF_UL_DYN, use tr_IMM_TBF_ASS instead. Also, use both tr_PacketUlDynAssign and tr_PacketUlSglAssign for matching UL TBF assignment. Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 24 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 5a8d9ea..75d18d9 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -261,15 +261,6 @@ a[idx] := tfi_usf; } - /* Match an IMM.ASS for an Uplink TBF with a dynamic allocation - * FIXME: this template has nothing to do with LAPDm, move to GSM_RR_Types.ttcn */ - template ImmediateAssignment t_IMM_ASS_TBF_UL_DYN(uint8_t ra, GsmFrameNumber fn) modifies t_IMM_ASS := { - ded_or_tbf := { spare := ?, tma := ?, downlink := false, tbf := true}, - chan_desc := omit, - pkt_chan_desc := ?, - rest_octets := tr_IaRestOctets_ULAss(tr_PacketUlDynAssign()) - }; - template (value) RLCMAC_ph_data_req ts_PH_DATA_ABS(uint8_t tbf_id, GprsCodingScheme cs, uint8_t ts, uint32_t fn, Arfcn arfcn, RlcmacUlBlock block) := { @@ -283,8 +274,10 @@ } } - private function f_establish_tbf(uint8_t ra) runs on lapdm_CT { + private function f_establish_tbf(uint8_t ra) runs on lapdm_CT return boolean { + var template GsmRrMessage imm_ass_rr; var ImmediateAssignment imm_ass; + var PacketUlAssign pkt_ul_ass; var GsmFrameNumber rach_fn; var TfiUsfArr tua := f_TfiUsfArrInit(); @@ -294,20 +287,35 @@ /* wait for receiving matching IMM ASS */ imm_ass := f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, rach_fn); - if (match(imm_ass, t_IMM_ASS_TBF_UL_DYN(ra, rach_fn))) { + /* make sure we got *Packet* (Uplink) Immediate Assignment */ + imm_ass_rr := tr_IMM_TBF_ASS(dl := false, ra := ra, fn := rach_fn, + rest := tr_IaRestOctets_ULAss(?)); + if (not match(imm_ass, imm_ass_rr.payload.imm_ass)) { + log("Failed to match Packet Immediate Assignment"); + return false; + } + + /* decapsulate PacketUlAssign for further matching */ + pkt_ul_ass := imm_ass.rest_octets.hh.pa.uldl.ass.ul; + + /* Dynamic Block Allocation */ + if (match(pkt_ul_ass, tr_PacketUlDynAssign)) { set_ph_state(PH_STATE_TBF); /* store/save channel description */ //chan_desc := imm_ass.chan_desc; /* Important: ARFCN, TN, TSC, USF, USF_GRANULARITY, CH_CODING_CMD */ - f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, - imm_ass.rest_octets.hh.pa.uldl.ass.ul.dynamic.usf); + f_TfiUsfArrSet(tua, imm_ass.pkt_chan_desc.tn, pkt_ul_ass.dynamic.usf); f_L1CTL_TBF_CFG(L1CTL, true, tua); - } else { - /* FIXME: single block uplink allocation */ - log("Failed to match ", t_IMM_ASS_TBF_UL_DYN(ra, rach_fn)); + return true; + /* FIXME: Single Block Allocation */ + } else if (match(pkt_ul_ass, tr_PacketUlSglAssign)) { log("Non-dynamic UL TBF assignment not supported yet"); + return false; + } else { + log("Failed to match Uplink Block Allocation: ", pkt_ul_ass); + return false; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb7dab04a1e2a833c14754d872bd4b85af3d58a5 Gerrit-Change-Number: 15457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 10 08:15:18 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 10 Sep 2019 08:15:18 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d775ba083a6d_4752ae3ae4ca600533452@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Raspbian_10/armv7l Package network:osmocom:nightly/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 769s] [ 85%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o [ 769s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlLimeSDR.cpp [ 770s] [ 86%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o [ 770s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/myriad7 -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/LTEpackets -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/src/HPM7 -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 782s] [ 87%] Linking CXX executable ../bin/LimeSuiteGUI [ 782s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 783s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/lms7002m_novena_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/RFSpark/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/HPM7/HPM7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/myriad7/myriad7_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.19.04.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 787s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 787s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 787s] collect2: error: ld returned 1 exit status [ 788s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:975: bin/LimeSuiteGUI] Error 1 [ 788s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 788s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 788s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 788s] make[1]: *** [Makefile:133: all] Error 2 [ 788s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 788s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 788s] make: *** [debian/rules:28: binary] Error 2 [ 788s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 788s] [ 788s] armbuild22 failed "build limesuite_19.04.0-1.dsc" at Tue Sep 10 08:14:57 UTC 2019. [ 788s] [ 788s] ### VM INTERACTION START ### [ 791s] [ 724.403866] sysrq: SysRq : Power Off [ 791s] [ 724.442550] reboot: Power down [ 792s] ### VM INTERACTION END ### [ 792s] [ 792s] armbuild22 failed "build limesuite_19.04.0-1.dsc" at Tue Sep 10 08:15:02 UTC 2019. [ 792s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 10 08:29:01 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 10 Sep 2019 08:29:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d775eeade961_4752ae3ae4ca600535358@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 474s] ar: `u' modifier ignored since `D' is the default (see `U') [ 474s] libtool: link: ranlib .libs/libtransceiver_common.a [ 474s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 474s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 475s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 475s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 475s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 475s] collect2: error: ld returned 1 exit status [ 475s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 475s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 475s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 475s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 475s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 475s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 475s] make[1]: *** [Makefile:444: all] Error 2 [ 475s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 475s] dh_auto_build: make -j1 returned exit code 2 [ 475s] make: *** [debian/rules:6: build] Error 255 [ 475s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 475s] [ 475s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Tue Sep 10 08:28:46 UTC 2019. [ 475s] [ 475s] ### VM INTERACTION START ### [ 478s] [ 458.255524] sysrq: SysRq : Power Off [ 478s] [ 458.262708] reboot: Power down [ 478s] ### VM INTERACTION END ### [ 478s] [ 478s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Tue Sep 10 08:28:50 UTC 2019. [ 478s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 10 08:32:09 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 10 Sep 2019 08:32:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d775f9e6cd83_4752ae3ae4ca6005367fc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 507s] ar: `u' modifier ignored since `D' is the default (see `U') [ 507s] libtool: link: ranlib .libs/libtransceiver_common.a [ 507s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 507s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 508s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 508s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 508s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 508s] collect2: error: ld returned 1 exit status [ 508s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 508s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 508s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 508s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 508s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 508s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 508s] make[1]: *** [Makefile:444: all] Error 2 [ 508s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 508s] dh_auto_build: make -j1 returned exit code 2 [ 508s] make: *** [debian/rules:6: build] Error 255 [ 508s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 508s] [ 508s] morla3 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 10 08:31:56 UTC 2019. [ 508s] [ 508s] ### VM INTERACTION START ### [ 511s] [ 487.193061] sysrq: SysRq : Power Off [ 511s] [ 487.206984] reboot: Power down [ 511s] ### VM INTERACTION END ### [ 511s] [ 511s] morla3 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 10 08:32:00 UTC 2019. [ 511s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:36:17 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:36:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 08:36:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 to look at the new patch set (#4). Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In preparation to make Iu support optional. The adapter is not bound when Iu is disabled. Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef --- M library/RAN_Adapter.ttcnpp 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/15391/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 to look at the new patch set (#3). Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 129 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15171/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 to look at the new patch set (#2). Change subject: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature ...................................................................... L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature Iu packets needs to contain an ptmsi as tlv in difference to Gb. Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 --- M library/L3_Templates.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/15395/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 Gerrit-Change-Number: 15395 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#8) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... sgsn: add Iu Attach Request MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Auth Request MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 --- M sgsn/SGSN_Tests.ttcn A sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/13866/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: make the ranap interface optional In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 to look at the new patch set (#4). Change subject: sgsn: make the ranap interface optional ...................................................................... sgsn: make the ranap interface optional Allows to use the test cases without STP Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 20 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/15162/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 Gerrit-Change-Number: 15162 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 to look at the new patch set (#3). Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... sgsn: extend f_routing_area_update() to support Iu Allow Iu tests to use f_routing_area_update() Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/15396/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 to look at the new patch set (#4). Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... sgsn: add TC_iu_attach_geran_rau MS <-> SGSN: Attach over Iu MS <-> SGSN: Routing Area Update over Geran The tess case will crash the SGSN and is not included in the default run. Change-Id: Ie043639638a640a2041324fc910964385a41c77d --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/15163/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 to look at the new patch set (#3). Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The tess case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15397/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step In-Reply-To: References: Message-ID: Hello pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 to look at the new patch set (#3). Change subject: sgsn: implement commonid as alt_step ...................................................................... sgsn: implement commonid as alt_step Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/15398/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with gb_idx In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 to look at the new patch set (#3). Change subject: sgsn: replace variable bssgp with gb_idx ...................................................................... sgsn: replace variable bssgp with gb_idx gb_idx is common used as variable for the index of the bssgb array. Be consistent and use the same variable name everywhere. Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/15399/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 08:40:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 08:40:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with gb_idx In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 to look at the new patch set (#3). Change subject: sgsn: replace variable bssgp_index with gb_idx ...................................................................... sgsn: replace variable bssgp_index with gb_idx gb_idx is common used as variable for the index of the bssgb array. Be consistent and use the same variable name everywhere. Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/15400/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:10:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 09:10:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15171/3/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15171/3/sgsn/SGSN_Tests.ttcn at 525 PS3, Line 525: function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, boolean initial := false) runs on BSSGP_ConnHdlr { I thought we agreed that we wanted to get rid of initial param and maintain a array of booleans indicating it and updating it in here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:10:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:12:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 09:12:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG at 10 PS4, Line 10: is not bound when Iu is disabled. "Iu is disabled" means disabled by means of #ifef? then use a ifdef too to conditionally call that part. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:12:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:13:39 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 09:13:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG at 10 PS4, Line 10: is not bound when Iu is disabled. > "Iu is disabled" means disabled by means of #ifef? then use a ifdef too to conditionally call that p [?] no. disabled by the testcase. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:13:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:14:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 09:14:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 4: (1 comment) > Patch Set 4: > > (1 comment) https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15391/4//COMMIT_MSG at 10 PS4, Line 10: is not bound when Iu is disabled. > no. disabled by the testcase. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:14:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:14:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 09:14:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 ) Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... Patch Set 3: New version of the patch didn't answer nor apply my previous comments. I'd welcome If you could refrain from pushing lots of new patch versions without applying/answering my feedback, since I lose time everytime to check new versions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:14:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 09:19:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 09:19:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Patch Set 4: Code-Review-1 Then the correct fix imho is to conditionally call f_ran_adapter_cleanup() conditionally based on g_ranap_enable in f_cleanup(): function f_cleanup() runs on test_CT { var integer i; if (g_ranap_enable) { for (i := 0; i < NUM_RNC; i := i+1) { f_ran_adapter_cleanup(g_ranap[i]); } } self.stop; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 09:19:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 10:22:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 10:22:51 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log case where no SETFORMAT is sent Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15460 Change subject: bts-trx: Log case where no SETFORMAT is sent ...................................................................... bts-trx: Log case where no SETFORMAT is sent If VTY cmd "osmotrx trxd-max-version 0" is used, max version 0 is used (default starting one) and hence no need to send SETFORMAT (this is useful in order to avoid sending SETFORMAT to old TRX implementations not supporting the command). In this case, let's inform the user that indeed osmo-bts won't send SETFORMAT because version 0 is assumed. Change-Id: I7136ea6745c2275278bc400676b58fb4b10da966 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 12 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/60/15460/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 22ef2d7..7e49064 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -185,7 +185,8 @@ int l1if_provision_transceiver_trx(struct trx_l1h *l1h) { uint8_t tn; - struct phy_link *plink = l1h->phy_inst->phy_link; + struct phy_instance *pinst = l1h->phy_inst; + struct phy_link *plink = pinst->phy_link; if (!transceiver_available) return -EIO; @@ -210,10 +211,16 @@ } /* Ask transceiver to use the newest TRXD header version if not using it yet */ - if (!l1h->config.setformat_sent && - l1h->config.trxd_hdr_ver_use != plink->u.osmotrx.trxd_hdr_ver_max) { - trx_if_cmd_setformat(l1h, plink->u.osmotrx.trxd_hdr_ver_max); - l1h->config.trxd_hdr_ver_req = plink->u.osmotrx.trxd_hdr_ver_max; + if (!l1h->config.setformat_sent) { + if (l1h->config.trxd_hdr_ver_use != plink->u.osmotrx.trxd_hdr_ver_max) { + trx_if_cmd_setformat(l1h, plink->u.osmotrx.trxd_hdr_ver_max); + l1h->config.trxd_hdr_ver_req = plink->u.osmotrx.trxd_hdr_ver_max; + } else { + LOGPPHI(pinst, DL1C, LOGL_INFO, + "No need to negotiate TRXD version, " + "already using maximum configured one: %" PRIu8 "\n", + l1h->config.trxd_hdr_ver_use); + } l1h->config.setformat_sent = 1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7136ea6745c2275278bc400676b58fb4b10da966 Gerrit-Change-Number: 15460 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 10:23:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 10:23:13 +0000 Subject: Change in ...osmo-gsm-tester[master]: resources.conf.prod: Fix indentation Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 Change subject: resources.conf.prod: Fix indentation ...................................................................... resources.conf.prod: Fix indentation Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085 --- M example/resources.conf.prod 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/61/15461/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index b0a679e..ef6e37b 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -72,10 +72,10 @@ trx_list: - arfcn: 878 osmo_trx: - launch_trx: false - clock_reference: external - trx_ip: 10.42.42.112 - max_trxd_version: 0 + launch_trx: false + clock_reference: external + trx_ip: 10.42.42.112 + max_trxd_version: 0 - label: OCTBTS 3500 type: osmo-bts-octphy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085 Gerrit-Change-Number: 15461 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 10:23:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 10:23:13 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add testsuite to check osmo-trx with TRXDv0 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 Change subject: Add testsuite to check osmo-trx with TRXDv0 ...................................................................... Add testsuite to check osmo-trx with TRXDv0 Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b --- M example/default-suites.conf A example/scenarios/mod-bts0-trxdversion0.conf 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/62/15462/1 diff --git a/example/default-suites.conf b/example/default-suites.conf index 27522bf..05967d6 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -45,6 +45,7 @@ - voice:trx-b200+mod-bts0-ts-tchh+cfg-codec-hr3 - voice:trx-b200+mod-bts0-dynts-ipa+cfg-codec-fr-any - voice:trx-b200+mod-bts0-dynts-osmo +- voice:trx-b200+mod-bts0-trxdversion0 - voice:trx-b200+mod-bts0-numtrx2+mod-bts0-chanallocdescend - gprs:trx-b200 - gprs:trx-b200+mod-bts0-egprs diff --git a/example/scenarios/mod-bts0-trxdversion0.conf b/example/scenarios/mod-bts0-trxdversion0.conf new file mode 100644 index 0000000..67e5653 --- /dev/null +++ b/example/scenarios/mod-bts0-trxdversion0.conf @@ -0,0 +1,4 @@ +modifiers: + bts: + - osmo_trx: + max_trxd_version: 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b Gerrit-Change-Number: 15462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 11:32:14 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 10 Sep 2019 11:32:14 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx: migrate to new generic ECU abstraction In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15027 ) Change subject: osmo-bts-trx: migrate to new generic ECU abstraction ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I001005aae6de76d4e045b8dc572239f057bb150d Gerrit-Change-Number: 15027 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 11:32:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:26:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 12:26:22 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx: migrate to new generic ECU abstraction In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15027 ) Change subject: osmo-bts-trx: migrate to new generic ECU abstraction ...................................................................... osmo-bts-trx: migrate to new generic ECU abstraction libosmocodec has recently introduced a generic ECU abstraction layer which supports (pluggable) Error Concealment Units for not only the FR codec, but potentially any other codec, too. Change-Id: I001005aae6de76d4e045b8dc572239f057bb150d Depends: libosmocore I4d33c9c7c2d4c7462ff38a49c178b65accae1915 --- M include/osmo-bts/gsm_data_shared.h M src/common/gsm_data_shared.c M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/scheduler_trx.c 4 files changed, 81 insertions(+), 33 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 65e984d..cf7b715 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -329,9 +329,7 @@ struct msgb *pending_rel_ind_msg; /* ECU (Error Concealment Unit) state */ - union { - struct osmo_ecu_fr_state fr; - } ecu_state; + struct osmo_ecu_state *ecu_state; }; static inline uint8_t lchan_get_ta(const struct gsm_lchan *lchan) @@ -879,4 +877,6 @@ bool ts_is_tch(struct gsm_bts_trx_ts *ts); const char *gsm_trx_unit_id(struct gsm_bts_trx *trx); +int lchan2ecu_codec(const struct gsm_lchan *lchan); + #endif diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index 1ba43aa..f0f5ae2 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -807,3 +808,24 @@ { LCHAN_CIPH_RXTX_CONF, "RXTX_CONF" }, { 0, NULL } }; + +/* determine the ECU codec constant for the codec used by given lchan */ +int lchan2ecu_codec(const struct gsm_lchan *lchan) +{ + struct gsm_bts_trx_ts *ts = lchan->ts; + + switch (lchan->tch_mode) { + case GSM48_CMODE_SPEECH_V1: + if (ts_pchan(ts) == GSM_PCHAN_TCH_H) + return OSMO_ECU_CODEC_HR; + else + return OSMO_ECU_CODEC_FR; + break; + case GSM48_CMODE_SPEECH_EFR: + return OSMO_ECU_CODEC_EFR; + case GSM48_CMODE_SPEECH_AMR: + return OSMO_ECU_CODEC_AMR; + default: + return -1; + } +} diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 22ef2d7..db53d4c 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -626,6 +627,9 @@ break; } + /* attempt to allocate an Error Concealment Unit instance, if available */ + lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); + /* trx_chan_desc[] in scheduler.c uses the RSL_CHAN_OSMO_PDCH cbits * (0xc0) to indicate the need for PDTCH and PTCCH SAPI activation. * However, 0xc0 is a cbits pattern exclusively used for Osmocom style @@ -671,6 +675,10 @@ break; } if (l1sap->u.info.type == PRIM_INFO_MODIFY) { + /* ECU for possibly new codec */ + if (lchan->ecu_state) + osmo_ecu_destroy(lchan->ecu_state); + lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); /* change mode */ trx_sched_set_mode(&l1h->l1s, chan_nr, lchan->rsl_cmode, lchan->tch_mode, @@ -689,6 +697,11 @@ "chan_nr 0x%02x\n", chan_nr); break; } + /* clear ECU state (if any) */ + if (lchan->ecu_state) { + osmo_ecu_destroy(lchan->ecu_state); + lchan->ecu_state = NULL; + } /* deactivate associated channel */ bts_model_lchan_deactivate_sacch(lchan); if (!l1sap->u.info.u.act_req.sacch_only) { diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 1249053..45fc701 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1236,16 +1236,19 @@ "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; - goto bfi; - } - if (rc < 4) { + } else if (rc < 4) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; - goto bfi; } + if (rc != GSM_MACBLOCK_LEN && lchan->ecu_state) + osmo_ecu_frame_in(lchan->ecu_state, bfi_flag, tch_data, rc); + + if (bfi_flag) + goto bfi; + /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); @@ -1260,21 +1263,22 @@ bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ + if (lchan->tch.dtx.ul_sid) { + /* DTXu: pause in progress. Push empty payload to upper layers */ + rc = 0; + goto compose_l1sap; + } + + /* If there is an ECU active on this channel, use its output */ + if (lchan->ecu_state) { + rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); + goto compose_l1sap; + } + switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* FR */ - if (lchan->tch.dtx.ul_sid) { - /* DTXu: pause in progress. Push empty payload to upper layers */ - rc = 0; - goto compose_l1sap; - } - - /* Perform error concealment if possible */ - rc = osmo_ecu_fr_conceal(&lchan->ecu_state.fr, tch_data); - if (rc) { - memset(tch_data, 0, GSM_FR_BYTES); - tch_data[0] = 0xd0; - } - + memset(tch_data, 0, GSM_FR_BYTES); + tch_data[0] = 0xd0; rc = GSM_FR_BYTES; break; case GSM48_CMODE_SPEECH_EFR: /* EFR */ @@ -1306,10 +1310,6 @@ if (rsl_cmode != RSL_CMOD_SPD_SPEECH) return 0; - /* Reset ECU with a good frame */ - if (!bfi_flag && tch_mode == GSM48_CMODE_SPEECH_V1) - osmo_ecu_fr_reset(&lchan->ecu_state.fr, tch_data); - /* TCH or BFI */ compose_l1sap: return _sched_compose_tch_ind(l1t, bi->tn, @@ -1332,6 +1332,7 @@ uint8_t tch_data[128]; /* just to be safe */ int rc, amr = 0; int n_errors, n_bits_total; + bool bfi_flag = false; struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); /* Note on FN-10: If we are at FN 10, we decoded an even aligned @@ -1444,15 +1445,20 @@ LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); - goto bfi; - } - if (rc < 4) { + bfi_flag = true; + } else if (rc < 4) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); - goto bfi; + bfi_flag = true; } + if (rc != GSM_MACBLOCK_LEN && lchan->ecu_state) + osmo_ecu_frame_in(lchan->ecu_state, bfi_flag, tch_data, rc); + + if (bfi_flag) + goto bfi; + /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { chan_state->ul_ongoing_facch = 1; @@ -1470,13 +1476,20 @@ * so we actually need to send two bad frame indications! */ if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ + if (lchan->tch.dtx.ul_sid) { + /* DTXu: pause in progress. Push empty payload to upper layers */ + rc = 0; + goto compose_l1sap; + } + + /* If there is an ECU active on this channel, use its output */ + if (lchan->ecu_state) { + rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); + goto compose_l1sap; + } + switch (tch_mode) { case GSM48_CMODE_SPEECH_V1: /* HR */ - if (lchan->tch.dtx.ul_sid) { - /* DTXu: pause in progress. Push empty payload to upper layers */ - rc = 0; - goto compose_l1sap; - } tch_data[0] = 0x70; /* F = 0, FT = 111 */ memset(tch_data + 1, 0, 14); rc = 15; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I001005aae6de76d4e045b8dc572239f057bb150d Gerrit-Change-Number: 15027 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:27:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 12:27:03 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add testsuite to check osmo-trx with TRXDv0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 ) Change subject: Add testsuite to check osmo-trx with TRXDv0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b Gerrit-Change-Number: 15462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 12:27:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:27:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 12:27:11 +0000 Subject: Change in ...osmo-gsm-tester[master]: resources.conf.prod: Fix indentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 ) Change subject: resources.conf.prod: Fix indentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085 Gerrit-Change-Number: 15461 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 12:27:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:27:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 12:27:28 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log case where no SETFORMAT is sent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15460 ) Change subject: bts-trx: Log case where no SETFORMAT is sent ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7136ea6745c2275278bc400676b58fb4b10da966 Gerrit-Change-Number: 15460 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 12:27:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:39:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 10 Sep 2019 12:39:34 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/#/c/15459/3/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/15459/3/src/bts.h at 171 PS3, Line 171: uint32_t app_info_todo; I'm not quite sure I understand the purpose of this. It seems we firt count the number of UEs with active TBF, then print that number, then decrement it but nobody ever reads/checks it. So why not simply iterate only once over all UEs and have a local variable that counts how many we sent (and then print that)? https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h at 43 PS3, Line 43: struct gprs_rlcmac_ms { : bool app_info_send; : }; * why an extra struct around a single member? * i guess it should be called 'sent' if it wants to indicate whether transmission already happened or not. Update: I now understand it actually determines if the app_info still has to be sent. Let's call it app_info_pending? https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac.cpp File src/gprs_rlcmac.cpp: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac.cpp at 59 PS3, Line 59: word = 0x00; /* 0-1: page mode: normal */ : word |= (0x0F & req->application_type) << 6; /* 2-5: application type */ : word |= (0xC0 & req->data[0]) >> 6; /* 6-7: first two data bits */ : msgb_put_u8(msg, word); : : for (i=0; i < req->len - 1; i++) { : word = req->data[i] << 2; /* 0-6: last six data bits from current byte */ : word |= (0xC0 & req->data[i + 1]) >> 6; /* 7-8: first two data bits from next byte */ : msgb_put_u8(msg, word); : } : : word = (0xC0 & req->data[req->len -1]) << 2; /* 0-6: last six data bits from last byte (rest is padding) */ : msgb_put_u8(msg, word); I would have suggested to use the osmocom/core/bitvec.h infrastructure for constructing the payload. See e.g. http://git.osmocom.org/osmo-bts/commit/?id=f53fde91a36eff2601df9811fddee97b8f89d6ee how it's done in the BTS. https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac_sched.cpp at 140 PS3, Line 140: } : else style -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 12:39:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:49:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 to look at the new patch set (#4). Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 132 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15171/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:49:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: make the ranap interface optional In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 to look at the new patch set (#5). Change subject: sgsn: make the ranap interface optional ...................................................................... sgsn: make the ranap interface optional Allows to use the test cases without STP Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 24 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/15162/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 Gerrit-Change-Number: 15162 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:49:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 to look at the new patch set (#4). Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... sgsn: extend f_routing_area_update() to support Iu Allow Iu tests to use f_routing_area_update() Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 27 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/15396/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 12:49:29 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: respawn(): return process result Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 Change subject: process: respawn(): return process result ...................................................................... process: respawn(): return process result Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440 --- M src/osmo_gsm_tester/process.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/63/15463/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 4b22d0c..cd125d5 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -205,7 +205,7 @@ assert not self.is_running() self.result = None self.killed = None - self.launch() + return self.launch() def _poll_termination(self, time_to_wait_for_term=5): wait_step = 0.001 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440 Gerrit-Change-Number: 15463 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 12:49:29 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: Introduce respawn_sync() method Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 Change subject: process: Introduce respawn_sync() method ...................................................................... process: Introduce respawn_sync() method Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433 --- M src/osmo_gsm_tester/process.py 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/64/15464/1 diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index cd125d5..b73673f 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -207,6 +207,13 @@ self.killed = None return self.launch() + def respawn_sync(self, raise_nonsuccess=True): + self.dbg('respawn_sync') + assert not self.is_running() + self.result = None + self.killed = None + return self.launch_sync(raise_nonsuccess) + def _poll_termination(self, time_to_wait_for_term=5): wait_step = 0.001 waited_time = 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433 Gerrit-Change-Number: 15464 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:49:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 12:49:30 +0000 Subject: Change in ...osmo-gsm-tester[master]: Support SC5 power cycling through powersupply Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 Change subject: Support SC5 power cycling through powersupply ...................................................................... Support SC5 power cycling through powersupply * Add powersupply related code to bts_osmotrx.py to power cycle the board. * Each time the board is started, we need to unlock the RF (start TRX implementation). Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 --- M example/resources.conf.prod M src/osmo_gsm_tester/bts_osmotrx.py 2 files changed, 104 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/65/15465/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index ef6e37b..e8fe2b0 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -71,8 +71,14 @@ ciphers: [a5_0, a5_1] trx_list: - arfcn: 878 + power_supply: + type: 'intellinet' + device: '10.42.42.250' + port: '5' osmo_trx: - launch_trx: false + type: sc5 + launch_trx: true + remote_user: root clock_reference: external trx_ip: 10.42.42.112 max_trxd_version: 0 diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index b3738d2..bafa389 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -22,6 +22,7 @@ import pprint from abc import ABCMeta, abstractmethod from . import log, config, util, template, process, bts_osmo +from . import powersupply from .event_loop import MainLoop class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): @@ -39,6 +40,7 @@ self.run_dir = None self.inst = None self.trx = None + self.pwsup_list = [] self.env = {} self.gen_conf = {} @@ -92,6 +94,20 @@ self.dbg(r) f.write(r) + self.pwsup_list = [None] * self.num_trx() + # Construct trx_list appending with empty dicts if needed: + conf_trx_list = self.conf.get('trx_list', []) + conf_trx_list = conf_trx_list + [{}] * (self.num_trx() - len(conf_trx_list)) + for trx_i in range(self.num_trx()): + pwsup_opt = conf_trx_list[trx_i].get('power_supply', {}) + if not pwsup_opt: + self.dbg('no power_supply configured for TRX %d' % trx_i) + continue + pwsup_type = pwsup_opt.get('type') + if not pwsup_type: + raise log.Error('No type attribute provided in power_supply conf for TRX %d!' % trx_i) + self.pwsup_list[trx_i] = powersupply.get_instance_by_type(pwsup_type, pwsup_opt) + def launch_trx_enabled(self): return util.str2bool(self.gen_conf['osmo_bts_trx'].get('osmo_trx', {}).get('launch_trx')) @@ -109,6 +125,15 @@ def conf_for_osmotrx(self): return dict(osmo_trx=self.gen_conf['osmo_bts_trx'].get('osmo_trx', {})) + def cleanup(self): + i = 0 + for pwsup in self.pwsup_list: + if pwsup: + self.dbg('Powering off TRX %d' % i) + pwsup.power_set(False) + i = i + 1 + self.pwsup_list = [] + ################### # PUBLIC (test API included) ################### @@ -121,6 +146,14 @@ self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() + # Power cycle all TRX if needed (right now only TRX0 for SC5): + i = 0 + for pwsup in self.pwsup_list: + if pwsup: + self.dbg('Powering cycling TRX %d' % i) + pwsup.power_cycle(1.0) + i = i + 1 + if self.launch_trx_enabled(): self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.suite_run, self.conf_for_osmotrx()) self.trx.start(keepalive) @@ -138,7 +171,45 @@ '-i', self.bsc.addr()) self.suite_run.poll() -class OsmoTrx(log.Origin, metaclass=ABCMeta): + +################################################################################ +# TRX +################################################################################ + +class Trx(log.Origin, metaclass=ABCMeta): +############## +# PROTECTED +############## + def __init__(self, suite_run, conf, name): + super().__init__(log.C_RUN, name) + self.suite_run = suite_run + self.conf = conf + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') + self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) + + @classmethod + def get_instance_by_type(cls, type, suite_run, conf): + KNOWN_OSMOTRX_TYPES = { + 'uhd': OsmoTrxUHD, + 'lms': OsmoTrxLMS, + 'sc5': TrxSC5 + } + osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) + return osmo_trx_class(suite_run, conf) + +############## +# PUBLIC (test API included) +############## + @abstractmethod + def start(self, keepalive=False): + pass + + @abstractmethod + def trx_ready(self): + pass + +class OsmoTrx(Trx, metaclass=ABCMeta): CONF_OSMO_TRX = 'osmo-trx.cfg' REMOTE_DIR = '/osmo-gsm-tester-trx/last_run' @@ -148,27 +219,13 @@ # PROTECTED ############## def __init__(self, suite_run, conf): - super().__init__(log.C_RUN, self.binary_name()) - self.suite_run = suite_run - self.conf = conf + super().__init__(suite_run, conf, self.binary_name()) self.env = {} self.log("OSMOTRX CONF: %r" % conf) - self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.bts_ip = conf.get('osmo_trx', {}).get('bts_ip') - self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) - self.run_dir = None self.inst = None self.proc_trx = None - @classmethod - def get_instance_by_type(cls, type, suite_run, conf): - KNOWN_OSMOTRX_TYPES = { - 'uhd': OsmoTrxUHD, - 'lms': OsmoTrxLMS, - } - osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) - return osmo_trx_class(suite_run, conf) - @abstractmethod def binary_name(self): 'Used by base class. Subclass can create different OsmoTRX implementations.' @@ -242,7 +299,6 @@ # PUBLIC (test API included) ############## def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) if not self.remote_user: @@ -293,4 +349,28 @@ def binary_name(self): return OsmoTrxLMS.BIN_TRX +class TrxSC5(Trx): + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, "sc5-trx") + self.ready = False + + def start(self, keepalive=False): + name = "ssh_sc5_ccli" + run_dir = self.run_dir.new_dir(name) + popen_args = ('/cx/bin/ccli', '-c', 'gsm.unlock') + proc = process.RemoteProcess(name, run_dir, self.remote_user, self.listen_ip, None, + popen_args) + keep_trying = 10 + while proc.respawn_sync(raise_nonsuccess=False) != 0 and keep_trying > 0: + keep_trying = keep_trying - 1 + self.log('Configuring SC5 TRX failed, retrying %d more times' % keep_trying) + MainLoop.sleep(self, 5) + if keep_trying == 0 or 'OK' not in (proc.get_stdout() or ''): + raise log.Error('Failed configuring SC5!') + self.ready = True + + def trx_ready(self): + return self.ready + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 Gerrit-Change-Number: 15465 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:50:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:50:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 to look at the new patch set (#5). Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 132 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15171/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:51:19 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:51:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 ) Change subject: RAN_Adapter: f_ran_adapter_cleanup() check if adapter is bound ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c974a850949829728c35cf5dbd3333d0858fdef Gerrit-Change-Number: 15391 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:52:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:52:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with gb_idx In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 ) Change subject: sgsn: replace variable bssgp with gb_idx ...................................................................... Patch Set 3: I'll rename the variable to ran_index as soon the chain has been merged -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 12:52:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:52:23 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:52:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with gb_idx In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 ) Change subject: sgsn: replace variable bssgp_index with gb_idx ...................................................................... Patch Set 3: I'll rename this to ran_index as soon the chain has been merged -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 12:52:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 12:58:53 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 12:58:53 +0000 Subject: Change in ...osmo-hlr[master]: change format of 'last LU seen' In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15359 ) Change subject: change format of 'last LU seen' ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15359/1/src/hlr_vty_subscr.c File src/hlr_vty_subscr.c: https://gerrit.osmocom.org/#/c/15359/1/src/hlr_vty_subscr.c at 43 PS1, Line 43: tm = *gmtime(t); > wow I didn't know it was possible de-referencing a pointer returned from a function this way. [?] Please check for null pointer of gmtime() -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a Gerrit-Change-Number: 15359 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 12:58:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:22:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:22:35 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 13:22:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:23:19 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:23:19 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15423/3/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15423/3/src/tbf_dl.cpp at 434 PS3, Line 434: !m_window.window_empty() && bts->bts_data()->dl_tbf_preemptive_retransmission nitpick: I would first check for dl_tbf_preemptive_retransmission -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 13:23:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:29:32 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:29:32 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 5: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/15425/5/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15425/5/src/pcu_l1_if.cpp at 515 PS5, Line 515: 33 3195? https://gerrit.osmocom.org/#/c/15425/5/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/#/c/15425/5/src/tbf.cpp at 1344 PS5, Line 1344: -2000 -2000? https://gerrit.osmocom.org/#/c/15425/5/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15425/5/src/tbf_dl.cpp at 502 PS5, Line 502: -2001, negative again? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 13:29:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:38:51 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:38:51 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15466 Change subject: tbf_dl: add comments to the scheduler ...................................................................... tbf_dl: add comments to the scheduler Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 --- M src/tbf_dl.cpp 1 file changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/66/15466/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d5e4a45..9efe85e 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -359,6 +359,7 @@ int data_len2, force_data_len = -1; GprsCodingScheme force_cs; + /* search for an nacked or resend marked bsn */ bsn = m_window.resend_needed(); if (previous_bsn >= 0) { @@ -369,6 +370,7 @@ } if (bsn >= 0) { + /* resend an unacked bsn or resend bsn. */ if (previous_bsn == bsn) return -1; @@ -397,9 +399,11 @@ if (m_rlc.block(bsn)->cs_init == MCS8) m_rlc.block(bsn)->cs_current_trans = MCS8; - } else + } else { + /* gprs */ m_rlc.block(bsn)->cs_current_trans = m_rlc.block(bsn)->cs_last; + } data_len2 = m_rlc.block(bsn)->len; if (force_data_len > 0 && force_data_len != data_len2) @@ -409,6 +413,9 @@ m_window.m_v_b.mark_unacked(bsn); bts->rlc_resent(); } else if (state_is(GPRS_RLCMAC_FINISHED)) { + /* Is the TBF is in finished, we already sent all packages at least once. + * If any packages could have been send (because of unacked) it should have + * been catched up by the upper if(bsn >= 0) */ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted.\n", m_window.v_a()); @@ -416,6 +423,8 @@ if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (dl_window_stalled()) { + /* There are no more packages to send, but the window is stalled. + * Restart the bsn_cycle to resent all unacked messages */ LOGPTBFDL(this, LOGL_NOTICE, "Restarting at BSN %d, because the window is stalled.\n", m_window.v_a()); @@ -423,8 +432,8 @@ if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { + /* The window has space left, generate new bsn */ GprsCodingScheme new_cs; - /* New blocks may be send */ new_cs = force_cs ? force_cs : current_cs(); LOGPTBFDL(this, LOGL_DEBUG, "Sending new block at BSN %d, CS=%s\n", @@ -432,6 +441,8 @@ bsn = create_new_bsn(fn, new_cs); } else if (!m_window.window_empty()) { + /* The window contains unacked packages, but not acked. + * Mark unacked bsns as resend */ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:49:56 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:49:56 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp at 217 PS1, Line 217: -1 this -1 seems to be interesting. in theory the T3190 is always defined, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: lynxis lazus Gerrit-Comment-Date: Tue, 10 Sep 2019 13:49:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:50:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:50:03 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 10 Sep 2019 13:50:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 13:50:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 13:50:44 +0000 Subject: Change in ...osmo-pcu[master]: tests: TbfTest: Unify stderr and stdout to ease debugging In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15452 ) Change subject: tests: TbfTest: Unify stderr and stdout to ease debugging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 Gerrit-Change-Number: 15452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 10 Sep 2019 13:50:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:03:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 14:03:27 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_pdp_ctx_terminate: check llme before accessing Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 Change subject: sgsn_pdp_ctx_terminate: check llme before accessing ...................................................................... sgsn_pdp_ctx_terminate: check llme before accessing Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d --- M src/sgsn/gprs_sgsn.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/67/15467/1 diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 189f7bb..465a5fa 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -459,7 +459,8 @@ if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { /* Force the deactivation of the SNDCP layer */ - sndcp_sm_deactivate_ind(&pdp->mm->gb.llme->lle[pdp->sapi], pdp->nsapi); + if (pdp->mm->gb.llme) + sndcp_sm_deactivate_ind(&pdp->mm->gb.llme->lle[pdp->sapi], pdp->nsapi); } memset(&sig_data, 0, sizeof(sig_data)); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d Gerrit-Change-Number: 15467 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:11:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:11:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 5: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/15171/5/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15171/5/sgsn/SGSN_Tests.ttcn at 528 PS5, Line 528: function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, boolean initial := false) runs on BSSGP_ConnHdlr { this initial param can now be dropped. https://gerrit.osmocom.org/#/c/15171/5/sgsn/SGSN_Tests.ttcn at 757 PS5, Line 757: f_send_l3(attach_req, gb_idx, initial := true); This is no longer needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 14:11:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:13:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:13:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: make the ranap interface optional In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 ) Change subject: sgsn: make the ranap interface optional ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 Gerrit-Change-Number: 15162 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:13:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:14:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:14:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 ) Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15396/5/sgsn/SGSN_Tests.ttcn File sgsn/SGSN_Tests.ttcn: https://gerrit.osmocom.org/#/c/15396/5/sgsn/SGSN_Tests.ttcn at 2363 PS5, Line 2363: friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0, boolean send_ptmsi := false) runs on BSSGP_ConnHdlr { See my comments from a few versions before. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:14:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:19:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:19:33 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/#/c/15425/5/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15425/5/src/pcu_l1_if.cpp at 515 PS5, Line 515: 33 > 3195? ugh good catch! https://gerrit.osmocom.org/#/c/15425/5/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15425/5/src/tbf_dl.cpp at 502 PS5, Line 502: -2001, > negative again? That's expected, it's how it's done for our own non-spec-related timers: struct osmo_tdef { /*! T1234 or X1234 number, corresponding to struct osmo_fsm_inst::T. * Positive values for T are considered to be 3GPP spec compliant and appear in logging and VTY as "T1234", * while negative values are considered to be Osmocom specific timers, represented in logging and VTY as * "X1234". Be aware that osmo_tdef_fsm_inst_state_chg() interprets T == 0 as "state without timeout". */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:19:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:21:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:21:54 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15466 ) Change subject: tbf_dl: add comments to the scheduler ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 362 PS1, Line 362: /* search for an nacked or resend marked bsn */ a nacked https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 416 PS1, Line 416: /* Is the TBF is in finished, we already sent all packages at least once. If the https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 417 PS1, Line 417: * If any packages could have been send (because of unacked) it should have sent https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 427 PS1, Line 427: * Restart the bsn_cycle to resent all unacked messages */ resend https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 445 PS1, Line 445: * Mark unacked bsns as resend */ not sure if it's resend or resent here (depending on what you actually mean). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:21:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:22:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:22:27 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp at 217 PS1, Line 217: -1 > this -1 seems to be interesting. [?] Yes. -1 means "abort if not found", but it should always be found. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:22:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:23:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:23:28 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_pdp_ctx_terminate: check llme before accessing In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 ) Change subject: sgsn_pdp_ctx_terminate: check llme before accessing ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d Gerrit-Change-Number: 15467 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:23:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:28:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:28:22 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 to look at the new patch set (#6). Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 403 insertions(+), 307 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:47:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:47:39 +0000 Subject: Change in ...osmo-gsm-tester[master]: Support SC5 power cycling through powersupply In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 to look at the new patch set (#2). Change subject: Support SC5 power cycling through powersupply ...................................................................... Support SC5 power cycling through powersupply * Add powersupply related code to bts_osmotrx.py to power cycle the board. * Each time the board is started, we need to unlock the RF (start TRX implementation). Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 --- M example/resources.conf.prod M src/osmo_gsm_tester/bts_osmotrx.py 2 files changed, 106 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/65/15465/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 Gerrit-Change-Number: 15465 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:47:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:47:39 +0000 Subject: Change in ...osmo-gsm-tester[master]: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 Change subject: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" ...................................................................... Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" This reverts commit 91199a31377fe94a79376eca9232151a3f637bce. Since we now support powercycling the SC5, we don't longer need to use a different ARFCN for it. Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f --- M example/resources.conf.prod M src/osmo_gsm_tester/resource.py 2 files changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/68/15468/1 diff --git a/example/resources.conf.prod b/example/resources.conf.prod index e8fe2b0..0bf9f45 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -70,8 +70,7 @@ band: GSM-1800 ciphers: [a5_0, a5_1] trx_list: - - arfcn: 878 - power_supply: + - power_supply: type: 'intellinet' device: '10.42.42.250' port: '5' diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index aa41b98..1b18076 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -60,7 +60,6 @@ 'bts[].num_trx': schema.UINT, 'bts[].max_trx': schema.UINT, 'bts[].trx_list[].addr': schema.IPV4, - 'bts[].trx_list[].arfcn': schema.INT, 'bts[].trx_list[].hw_addr': schema.HWADDR, 'bts[].trx_list[].net_device': schema.STR, 'bts[].trx_list[].nominal_power': schema.UINT, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f Gerrit-Change-Number: 15468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:48:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:48:19 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Log case where no SETFORMAT is sent In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15460 ) Change subject: bts-trx: Log case where no SETFORMAT is sent ...................................................................... bts-trx: Log case where no SETFORMAT is sent If VTY cmd "osmotrx trxd-max-version 0" is used, max version 0 is used (default starting one) and hence no need to send SETFORMAT (this is useful in order to avoid sending SETFORMAT to old TRX implementations not supporting the command). In this case, let's inform the user that indeed osmo-bts won't send SETFORMAT because version 0 is assumed. Change-Id: I7136ea6745c2275278bc400676b58fb4b10da966 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 12 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index db53d4c..cd2a03c 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -186,7 +186,8 @@ int l1if_provision_transceiver_trx(struct trx_l1h *l1h) { uint8_t tn; - struct phy_link *plink = l1h->phy_inst->phy_link; + struct phy_instance *pinst = l1h->phy_inst; + struct phy_link *plink = pinst->phy_link; if (!transceiver_available) return -EIO; @@ -211,10 +212,16 @@ } /* Ask transceiver to use the newest TRXD header version if not using it yet */ - if (!l1h->config.setformat_sent && - l1h->config.trxd_hdr_ver_use != plink->u.osmotrx.trxd_hdr_ver_max) { - trx_if_cmd_setformat(l1h, plink->u.osmotrx.trxd_hdr_ver_max); - l1h->config.trxd_hdr_ver_req = plink->u.osmotrx.trxd_hdr_ver_max; + if (!l1h->config.setformat_sent) { + if (l1h->config.trxd_hdr_ver_use != plink->u.osmotrx.trxd_hdr_ver_max) { + trx_if_cmd_setformat(l1h, plink->u.osmotrx.trxd_hdr_ver_max); + l1h->config.trxd_hdr_ver_req = plink->u.osmotrx.trxd_hdr_ver_max; + } else { + LOGPPHI(pinst, DL1C, LOGL_INFO, + "No need to negotiate TRXD version, " + "already using maximum configured one: %" PRIu8 "\n", + l1h->config.trxd_hdr_ver_use); + } l1h->config.setformat_sent = 1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7136ea6745c2275278bc400676b58fb4b10da966 Gerrit-Change-Number: 15460 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:48:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 14:48:27 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/#/c/15451/1/src/gprs_rlcmac_sched.cpp at 217 PS1, Line 217: -1 > Yes. -1 means "abort if not found", but it should always be found. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:48:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:48:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 14:48:35 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:48:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 14:50:22 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 14:50:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:50:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:50:43 +0000 Subject: Change in ...osmo-gsm-tester[master]: resources.conf.prod: Fix indentation In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 ) Change subject: resources.conf.prod: Fix indentation ...................................................................... resources.conf.prod: Fix indentation Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085 --- M example/resources.conf.prod 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/example/resources.conf.prod b/example/resources.conf.prod index b0a679e..ef6e37b 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -72,10 +72,10 @@ trx_list: - arfcn: 878 osmo_trx: - launch_trx: false - clock_reference: external - trx_ip: 10.42.42.112 - max_trxd_version: 0 + launch_trx: false + clock_reference: external + trx_ip: 10.42.42.112 + max_trxd_version: 0 - label: OCTBTS 3500 type: osmo-bts-octphy -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic124c51aac26769058f0e90dc5497d16b44be085 Gerrit-Change-Number: 15461 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 14:50:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 14:50:43 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add testsuite to check osmo-trx with TRXDv0 In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 ) Change subject: Add testsuite to check osmo-trx with TRXDv0 ...................................................................... Add testsuite to check osmo-trx with TRXDv0 Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b --- M example/default-suites.conf A example/scenarios/mod-bts0-trxdversion0.conf 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/example/default-suites.conf b/example/default-suites.conf index 27522bf..05967d6 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -45,6 +45,7 @@ - voice:trx-b200+mod-bts0-ts-tchh+cfg-codec-hr3 - voice:trx-b200+mod-bts0-dynts-ipa+cfg-codec-fr-any - voice:trx-b200+mod-bts0-dynts-osmo +- voice:trx-b200+mod-bts0-trxdversion0 - voice:trx-b200+mod-bts0-numtrx2+mod-bts0-chanallocdescend - gprs:trx-b200 - gprs:trx-b200+mod-bts0-egprs diff --git a/example/scenarios/mod-bts0-trxdversion0.conf b/example/scenarios/mod-bts0-trxdversion0.conf new file mode 100644 index 0000000..67e5653 --- /dev/null +++ b/example/scenarios/mod-bts0-trxdversion0.conf @@ -0,0 +1,4 @@ +modifiers: + bts: + - osmo_trx: + max_trxd_version: 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8e87aa5e24d1ed0737ec50e6a0f7fd8779a3c15b Gerrit-Change-Number: 15462 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 16:38:27 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 10 Sep 2019 16:38:27 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer Message-ID: tsaitgaist has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15469 Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... remsim-apitool.py: pass IDs as integer currently the bankId, clientId, and slotNr are passed as strings. this is not the format expected by the server, which returns 400 "Bad Request". the issue was that the python tool did not parse the arguments as integer. Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 --- M contrib/remsim-apitool.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/69/15469/1 diff --git a/contrib/remsim-apitool.py b/contrib/remsim-apitool.py index 35c8826..4b9874a 100755 --- a/contrib/remsim-apitool.py +++ b/contrib/remsim-apitool.py @@ -103,10 +103,10 @@ rest_get("/slotmaps/" + str(args.show_slotmaps)) return if args.create_slotmap: - slotmap_create(args.create_slotmap[0],args.create_slotmap[1],args.create_slotmap[2],args.create_slotmap[3]) + slotmap_create(int(args.create_slotmap[0]),int(args.create_slotmap[1]),int(args.create_slotmap[2]),int(args.create_slotmap[3])) return if args.delete_slotmap: - slotmap_delete(args.delete_slotmap[0],args.delete_slotmap[1]) + slotmap_delete(int(args.delete_slotmap[0]),int(args.delete_slotmap[1])) return rest_get("/clients") rest_get("/banks") -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:11:05 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 17:11:05 +0000 Subject: Change in ...osmo-iuh[master]: RANAB: always allow GSM handover Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15470 Change subject: RANAB: always allow GSM handover ...................................................................... RANAB: always allow GSM handover In an RANAB Assignment the optional field service handover describes the CN policy for UTRAN to GSM handovers. Either should, should not or shall not. Change-Id: I537744eba7608c2fc173c766d4fd43e53e99a116 --- M src/ranap_msg_factory.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/70/15470/1 diff --git a/src/ranap_msg_factory.c b/src/ranap_msg_factory.c index 2ae2dbf..95cfe34 100644 --- a/src/ranap_msg_factory.c +++ b/src/ranap_msg_factory.c @@ -821,6 +821,7 @@ RANAP_RAB_AssignmentRequestIEs_t ies; RANAP_RAB_AssignmentRequest_t out; RANAP_DataVolumeReportingIndication_t *dat_vol_ind; + RANAP_Service_Handover_t *service_handover; struct msgb *msg; int rc; @@ -841,6 +842,10 @@ first.transportLayerInformation = new_transp_info_gtp(gtp_ip, gtp_tei, use_x213_nsap); + service_handover = CALLOC(1, sizeof(*service_handover)); + *service_handover = RANAP_Service_Handover_handover_to_GSM_should_be_performed; + first.service_Handover = service_handover; + /* put together the 'Second' part */ RANAP_RAB_SetupOrModifyItemSecond_t second; memset(&second, 0, sizeof(second)); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I537744eba7608c2fc173c766d4fd43e53e99a116 Gerrit-Change-Number: 15470 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 17:14:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... iu_client: introduce a guard around global_iu_event_cb As preparation to enable and disable notifications for a specific ue connection, add a slim proxy before calling global_iu_event_cb Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b --- M src/iu_client.c 1 file changed, 14 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/71/15471/1 diff --git a/src/iu_client.c b/src/iu_client.c index 7a0a78e..ec5290f 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -109,6 +109,16 @@ { 0, NULL } }; +static int global_iu_event(struct ranap_ue_conn_ctx *ue_ctx, + enum ranap_iu_event_type type, + void *data) +{ + if (!global_iu_event_cb) + return 0; + + return global_iu_event_cb(ue_ctx, type, data); +} + static struct ranap_ue_conn_ctx *ue_conn_ctx_alloc(struct ranap_iu_rnc *rnc, uint32_t conn_id) { struct ranap_ue_conn_ctx *ctx = talloc_zero(talloc_iu_ctx, struct ranap_ue_conn_ctx); @@ -501,7 +511,7 @@ return rc; } - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_RAB_ASSIGN, &setup_ies); + rc = global_iu_event(ctx, RANAP_IU_EVENT_RAB_ASSIGN, &setup_ies); ranap_free_rab_setupormodifieditemies(&setup_ies); } @@ -567,11 +577,11 @@ switch (message->procedureCode) { case RANAP_ProcedureCode_id_SecurityModeControl: /* Security Mode Complete */ - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_SECURITY_MODE_COMPLETE, NULL); + rc = global_iu_event(ctx, RANAP_IU_EVENT_SECURITY_MODE_COMPLETE, NULL); break; case RANAP_ProcedureCode_id_Iu_Release: /* Iu Release Complete */ - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_IU_RELEASE, NULL); + rc = global_iu_event(ctx, RANAP_IU_EVENT_IU_RELEASE, NULL); if (rc) { LOGPIU(LOGL_ERROR, "Iu Release event: Iu Event callback returned %d\n", rc); @@ -818,7 +828,7 @@ if (!ue) break; - global_iu_event_cb(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); + global_iu_event(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 17:14:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 Change subject: iu_client: allow to control the notifications ...................................................................... iu_client: allow to control the notifications The iu_client is informing the library user about global event. In prepration to the tx_iu_release_free() call allow to disable upstream notificatiosn Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/72/15472/1 diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index 0cb84da..b388529 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -30,6 +30,7 @@ int integrity_active; struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; + bool notification; /* send notification to the upstream user */ }; enum ranap_iu_event_type { diff --git a/src/iu_client.c b/src/iu_client.c index ec5290f..38c8a1d 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -116,6 +116,9 @@ if (!global_iu_event_cb) return 0; + if (!ue_ctx->notification) + return 0; + return global_iu_event_cb(ue_ctx, type, data); } @@ -125,6 +128,7 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; + ctx->notification = true; llist_add(&ctx->list, &ue_conn_ctx_list); return ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 17:14:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 Change subject: iu_client: introduce UE field free_on_release ...................................................................... iu_client: introduce UE field free_on_release Allow to free UE ctx when receiving a Iu Release Complete. In preparation of ranap_iu_tx_release_free() it requires a field to free the Iu ctx on it's own without depending on the upstream user. Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/74/15474/1 diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index 9da611b..78bb047 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -31,6 +31,8 @@ struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; bool notification; /* send notification to the upstream user */ + /* if true the ue_ctx will be free on Iu release complete */ + bool free_on_release; /* Will be set when the Iu Release Command has been sent */ struct osmo_timer_list release_timeout; }; diff --git a/src/iu_client.c b/src/iu_client.c index fe1b880..5072cba 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -129,6 +129,7 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; ctx->notification = true; + ctx->free_on_release = false; osmo_timer_setup(&ctx->release_timeout, (void *)(void *) ranap_iu_free_ue, ctx); @@ -500,6 +501,7 @@ int timeout) { ctx->notification = false; + ctx->free_on_release = true; int ret = ranap_iu_tx_release(ctx, cause); if (ret) { ranap_iu_free_ue(ctx); @@ -851,6 +853,13 @@ break; global_iu_event(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); + + /* A RANAP_IU_EVENT_LINK_INVALIDATED, can lead to a free */ + ue = ue_conn_ctx_find(prim->u.disconnect.conn_id); + if (!ue) + break; + if (ue->free_on_release) + ranap_iu_free_ue(ue); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 17:14:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... iu_client: introduce ranap_iu_tx_release_free() ranap_iu_tx_release_free is a fire and forget function to release gracefully if possible. It first sends a Iu Release Command. After a certain timeout the connection will be release. Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f --- M include/osmocom/ranap/iu_client.h M src/iu_client.c 2 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/73/15473/1 diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index b388529..9da611b 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -31,6 +31,8 @@ struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; bool notification; /* send notification to the upstream user */ + /* Will be set when the Iu Release Command has been sent */ + struct osmo_timer_list release_timeout; }; enum ranap_iu_event_type { @@ -71,6 +73,13 @@ int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi); int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause); +/* transmit a Iu Release Command and free the ctx afterwards. + * If a Release Complete is not received within timeout s, + * release the SCCP connection. */ +void ranap_iu_tx_release_free(struct ranap_ue_conn_ctx *ctx, + const struct RANAP_Cause *cause, + int timeout); + /* freeing the UE will release all resources * This will close the SCCP connection connected to the UE */ void ranap_iu_free_ue(struct ranap_ue_conn_ctx *ue_ctx); diff --git a/src/iu_client.c b/src/iu_client.c index 38c8a1d..fe1b880 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -129,6 +129,9 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; ctx->notification = true; + osmo_timer_setup(&ctx->release_timeout, + (void *)(void *) ranap_iu_free_ue, + ctx); llist_add(&ctx->list, &ue_conn_ctx_list); return ctx; @@ -150,6 +153,7 @@ if (!ue_ctx) return; + osmo_timer_del(&ue_ctx->release_timeout); osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); llist_del(&ue_ctx->list); talloc_free(ue_ctx); @@ -491,6 +495,20 @@ return osmo_sccp_user_sap_down(g_scu, &prim->oph); } +void ranap_iu_tx_release_free(struct ranap_ue_conn_ctx *ctx, + const struct RANAP_Cause *cause, + int timeout) +{ + ctx->notification = false; + int ret = ranap_iu_tx_release(ctx, cause); + if (ret) { + ranap_iu_free_ue(ctx); + return; + } + + osmo_timer_schedule(&ctx->release_timeout, timeout, 0); +} + static int ranap_handle_co_iu_rel_req(struct ranap_ue_conn_ctx *ctx, RANAP_Iu_ReleaseRequestIEs_t *ies) { LOGPIU(LOGL_INFO, "Received Iu Release Request, Sending Release Command\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 17:56:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 17:56:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR SGSN is expected to submit an LU after initial GMM Auth Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/15475/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index c9309dd..2d5e20f 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2226,6 +2226,8 @@ f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); f_gmm_auth(); + /* Expect SGSN to perform LU with HLR */ + f_gmm_gsup_lu_isd(); timer T := 10.0; T.start; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 18:28:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 18:28:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 to look at the new patch set (#6). Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 132 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15171/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 18:28:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 10 Sep 2019 18:28:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 to look at the new patch set (#6). Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... sgsn: extend f_routing_area_update() to support Iu Allow Iu tests to use f_routing_area_update() Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 27 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/15396/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 19:37:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 19:37:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 10 Sep 2019 19:37:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 19:38:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 10 Sep 2019 19:38:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 ) Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 10 Sep 2019 19:38:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 10 23:57:00 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 10 Sep 2019 23:57:00 +0000 Subject: Change in ...libosmocore[master]: tdef: fixup osmo_tdef_set() Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15478 Change subject: tdef: fixup osmo_tdef_set() ...................................................................... tdef: fixup osmo_tdef_set() I missed code review, so here are my comments in form of a follow-up patch for Id56a1226d724a374f04231df85fe5b49ffd2c43c. - Fix 'as_unit' arg name to 'val_unit' as in the C file and API doc. - Explain rounding-up behavior of value conversion in API doc. - Use osmo_tdef_get_entry() instead of a loop. Related: OS#4190 Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 --- M include/osmocom/core/tdef.h M src/tdef.c 2 files changed, 7 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/15478/1 diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index a1ad4cc..8155688 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -97,7 +97,7 @@ unsigned long osmo_tdef_get(const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit, long val_if_not_present); struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T); -int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit as_unit); +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit); /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ diff --git a/src/tdef.c b/src/tdef.c index dfb47f6..ab6a51b 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -212,6 +212,7 @@ } /*! Set value in entry matching T, converting val from val_unit to unit of T. + * The converted value is rounded up to the next integer value of T's unit and clamped to ULONG_MAX, or 0 if val == 0. * \param[in] tdefs Array of timer definitions, last entry being fully zero. * \param[in] T Timer number to set the value for. * \param[in] val The new timer value to set. @@ -220,14 +221,11 @@ */ int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit) { - struct osmo_tdef *t; - osmo_tdef_for_each(t, tdefs) { - if (t->T == T) { - t->val = osmo_tdef_round(val, val_unit, t->unit); - return 0; - } - } - return -EEXIST; + struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, T); + if (!t) + return -EEXIST; + t->val = osmo_tdef_round(val, val_unit, t->unit); + return 0; } /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 Gerrit-Change-Number: 15478 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 00:02:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Sep 2019 00:02:40 +0000 Subject: Change in ...libosmocore[master]: tdef: fixup osmo_tdef_set() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15478 ) Change subject: tdef: fixup osmo_tdef_set() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 Gerrit-Change-Number: 15478 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 11 Sep 2019 00:02:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 11 01:40:30 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 11 Sep 2019 01:40:30 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5d78509d676cf_64c2b19ae7d85f021806d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_9.0/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 68s] [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 [ 68s] [NA] Client's read_cb_cli(): initial read, contacting server [ 68s] [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 68s] -[OK|OK] Server's read_cb_srv(): callback triggered [ 68s] -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 68s] -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 [ 68s] -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call [ 68s] -[OK] Client's read_cb_cli(): callback triggered [ 68s] -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled [ 68s] non-reconnecting test complete. [ 68s] [ 68s] Stream tests completed [ 68s] 1. testsuite.at:4: 1. stream_test (testsuite.at:4): FAILED (testsuite.at:8) [ 68s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 68s] make[1]: *** [override_dh_auto_test] Error 1 [ 68s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 68s] debian/rules:13: recipe for target 'build' failed [ 68s] make: *** [build] Error 2 [ 68s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 68s] [ 68s] build85 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Wed Sep 11 01:40:12 UTC 2019. [ 68s] [ 68s] ### VM INTERACTION START ### [ 71s] [ 63.086534] sysrq: SysRq : Power Off [ 71s] [ 63.088456] reboot: Power down [ 71s] ### VM INTERACTION END ### [ 71s] [ 71s] build85 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Wed Sep 11 01:40:16 UTC 2019. [ 71s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:43 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:43 +0000 Subject: Change in ...osmo-sgsn[master]: mm_gb_fsm: unassign the llme when entering MM_IDLE Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 Change subject: mm_gb_fsm: unassign the llme when entering MM_IDLE ...................................................................... mm_gb_fsm: unassign the llme when entering MM_IDLE MM_IDLE means there is no known state to this MM. Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/79/15479/1 diff --git a/src/sgsn/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c index 2056540..4e1ed48 100644 --- a/src/sgsn/gprs_mm_state_gb_fsm.c +++ b/src/sgsn/gprs_mm_state_gb_fsm.c @@ -1,6 +1,7 @@ #include #include +#include #include #include @@ -16,6 +17,15 @@ #define mm_state_gb_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, mm_state_gb_fsm_timeouts, sgsn->cfg.T_defs, -1) +static void st_mm_idle_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { + struct sgsn_mm_ctx *ctx = fi->priv; + + if (ctx->gb.llme) { + gprs_llgmm_unassign(ctx->gb.llme); + ctx->gb.llme = NULL; + } +} + static void st_mm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { @@ -59,6 +69,7 @@ [ST_MM_IDLE] = { .in_event_mask = X(E_MM_GPRS_ATTACH) | X(E_MM_PDU_RECEPTION), .out_state_mask = X(ST_MM_READY), + .onenter = st_mm_idle_on_enter, .name = "Idle", .action = st_mm_idle, }, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 Gerrit-Change-Number: 15479 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: refactor REQUIRE_MM define Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 Change subject: gprs_ranap: refactor REQUIRE_MM define ...................................................................... gprs_ranap: refactor REQUIRE_MM define All branches need a MM context. Exit early if no MM context present. Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f --- M src/sgsn/gprs_ranap.c 1 file changed, 6 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/80/15480/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 27b9641..acd9eb6 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -120,31 +120,24 @@ int rc = -1; mm = sgsn_mm_ctx_by_ue_ctx(ctx); - -#define REQUIRE_MM \ - if (!mm) { \ - LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); \ - return rc; \ + if (!mm) { + LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); + return rc; } switch (type) { case RANAP_IU_EVENT_RAB_ASSIGN: - REQUIRE_MM rc = sgsn_ranap_rab_ass_resp(mm, (RANAP_RAB_SetupOrModifiedItemIEs_t *)data); break; case RANAP_IU_EVENT_IU_RELEASE: /* fall thru */ case RANAP_IU_EVENT_LINK_INVALIDATED: /* Clean up ranap_ue_conn_ctx here */ - if (mm) { - LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); - osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); - } else - LOGIUP(ctx, LOGL_INFO, "IU release\n"); + LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); + osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); rc = 0; break; case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: - REQUIRE_MM /* Continue authentication here */ mm->iu.ue_ctx->integrity_active = 1; @@ -155,10 +148,7 @@ osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); break; default: - if (mm) - LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); - else - LOGIUP(ctx, LOGL_NOTICE, "Unknown event received: %i\n", type); + LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); rc = -1; break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f Gerrit-Change-Number: 15480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... gprs_ranap: introduce Iu helper to free the UE context Prepare to free Iu UE contexts when moving between the PMM states. Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_ranap.c 2 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15481/1 diff --git a/include/osmocom/sgsn/gprs_ranap.h b/include/osmocom/sgsn/gprs_ranap.h index b300130..8cb9f66 100644 --- a/include/osmocom/sgsn/gprs_ranap.h +++ b/include/osmocom/sgsn/gprs_ranap.h @@ -12,6 +12,13 @@ int sgsn_ranap_iu_event(struct ranap_ue_conn_ctx *ctx, enum ranap_iu_event_type type, void *data); int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp); +/* free the Iu UE context */ +void sgsn_ranap_iu_free(struct sgsn_mm_ctx *ctx); + +/* send a Iu Release Command and free afterwards the UE context */ +void sgsn_ranap_iu_release_free(struct sgsn_mm_ctx *ctx, + const struct RANAP_Cause *cause); + int gsm0408_gprs_rcvmsg_iu(struct msgb *msg, struct gprs_ra_id *ra_id, uint16_t *sai); #endif diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index acd9eb6..2d2bdc5 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -155,6 +155,35 @@ return rc; } +/* TODO: use timers */ +#define TIMEOUT_RANAP_RELEASE_SEC 5 +void sgsn_ranap_iu_free(struct sgsn_mm_ctx *ctx) +{ + if (!ctx) + return; + + if (!ctx->iu.ue_ctx) + return; + + ranap_iu_free_ue(ctx->iu.ue_ctx); + ctx->iu.ue_ctx = NULL; +} + +void sgsn_ranap_iu_release_free(struct sgsn_mm_ctx *ctx, + const struct RANAP_Cause *cause) +{ + if (!ctx) + return; + + if (!ctx->iu.ue_ctx) + return; + + ranap_iu_tx_release_free(ctx->iu.ue_ctx, + cause, + TIMEOUT_RANAP_RELEASE_SEC); + ctx->iu.ue_ctx = NULL; +} + int iu_rab_act_ps(uint8_t rab_id, struct sgsn_pdp_ctx *pdp) { struct msgb *msg; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:45 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... gprs_ranap: release Iu UE Context when exiting PMM Connected PMM Connected defines a Iu signaling connection. The 2 other PMM states do not have an active Iu signaling connection. Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 --- M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/gprs_ranap.c 2 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/82/15482/1 diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index 1ed5f56..b098f20 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -6,6 +6,7 @@ #include #include +#include #define X(s) (1 << (s)) @@ -45,11 +46,15 @@ static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct sgsn_mm_ctx *ctx = fi->priv; + switch(event) { case E_PMM_PS_CONN_RELEASE: + sgsn_ranap_iu_free(ctx); mm_state_iu_fsm_state_chg(fi, ST_PMM_IDLE); break; case E_PMM_IMPLICIT_DETACH: + sgsn_ranap_iu_release_free(ctx, NULL); mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED); break; case E_PMM_RA_UPDATE: diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 2d2bdc5..620383f 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -122,6 +122,7 @@ mm = sgsn_mm_ctx_by_ue_ctx(ctx); if (!mm) { LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); + ranap_iu_free_ue(ctx); return rc; } @@ -134,7 +135,11 @@ case RANAP_IU_EVENT_LINK_INVALIDATED: /* Clean up ranap_ue_conn_ctx here */ LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); - osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); + if (mm->iu.mm_state_fsm->state == ST_PMM_CONNECTED) + osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); + else + sgsn_ranap_iu_free(mm); + rc = 0; break; case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:45 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 Change subject: Iu: implement a user inactivity timer ...................................................................... Iu: implement a user inactivity timer The user inactivity timer is similiar to the Gb READY timer and redruce the resources taken by an idle UE. Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 --- M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/sgsn_vty.c 3 files changed, 26 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15483/1 diff --git a/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h index 7f02bcc..05342f9 100644 --- a/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h +++ b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h @@ -19,6 +19,7 @@ E_PMM_PS_CONN_ESTABLISH, E_PMM_IMPLICIT_DETACH, /* = E_PS_ATTACH_REJECT, E_RAU_REJECT */ E_PMM_RA_UPDATE, /* = Serving RNC relocation */ + E_PMM_USER_INACTIVITY, /* when the inactivity timer runs out */ }; extern struct osmo_fsm mm_state_iu_fsm; diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index b098f20..2996c4e 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -12,7 +12,7 @@ static const struct osmo_tdef_state_timeout mm_state_iu_fsm_timeouts[32] = { [ST_PMM_DETACHED] = { }, - [ST_PMM_CONNECTED] = { }, + [ST_PMM_CONNECTED] = { .T=-3314 }, [ST_PMM_IDLE] = { }, }; @@ -47,6 +47,10 @@ static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct sgsn_mm_ctx *ctx = fi->priv; + static const struct RANAP_Cause user_inactive_cause = { + .present = RANAP_Cause_PR_radioNetwork, + .choice.radioNetwork = RANAP_CauseRadioNetwork_user_inactivity, + }; switch(event) { case E_PMM_PS_CONN_RELEASE: @@ -57,6 +61,10 @@ sgsn_ranap_iu_release_free(ctx, NULL); mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED); break; + case E_PMM_USER_INACTIVITY: + sgsn_ranap_iu_release_free(ctx, &user_inactive_cause); + mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED); + break; case E_PMM_RA_UPDATE: break; } @@ -81,6 +89,18 @@ } } +static int pmm_state_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + switch(fi->state) { + case ST_PMM_CONNECTED: + /* timer for pmm state. state=CONNECTED: -T3314 (User inactivity timer) */ + osmo_fsm_inst_dispatch(fi, E_PMM_USER_INACTIVITY, NULL); + break; + } + + return 0; +} + static struct osmo_fsm_state mm_state_iu_fsm_states[] = { [ST_PMM_DETACHED] = { .in_event_mask = X(E_PMM_PS_ATTACH) | X(E_PMM_IMPLICIT_DETACH), @@ -89,7 +109,7 @@ .action = st_pmm_detached, }, [ST_PMM_CONNECTED] = { - .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH), + .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_USER_INACTIVITY), .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_IDLE), .name = "Connected", .action = st_pmm_connected, @@ -109,6 +129,7 @@ OSMO_VALUE_STRING(E_PMM_PS_CONN_ESTABLISH), OSMO_VALUE_STRING(E_PMM_IMPLICIT_DETACH), OSMO_VALUE_STRING(E_PMM_RA_UPDATE), + OSMO_VALUE_STRING(E_PMM_USER_INACTIVITY), { 0, NULL } }; diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 9200822..17b64c8 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -104,6 +104,8 @@ { .T=3386, .default_val=GSM0408_T3386_SECS, .desc="Wait for MODIFY PDP CTX ACK timer (s)" }, { .T=3395, .default_val=GSM0408_T3395_SECS, .desc="Wait for DEACT PDP CTX ACK timer (s)" }, { .T=3397, .default_val=GSM0408_T3397_SECS, .desc="Wait for DEACT AA PDP CTX ACK timer (s)" }, + /* non spec timers */ + { .T=-3314, .default_val=GSM0408_T3314_SECS, .desc="Iu User inactivity timer. On expiry release Iu connection (s)" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:45 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: send CommonId after receiving Security Mode Complete Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 Change subject: gprs_ranap: send CommonId after receiving Security Mode Complete ...................................................................... gprs_ranap: send CommonId after receiving Security Mode Complete After Security Mode Complete, the sender has been authenticated. Send a CommonId to enable paging coordination between CS and PS. Change-Id: If195c26e87ba3054e159746671babf93a12e7013 --- M src/sgsn/gprs_ranap.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/84/15484/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 620383f..67dc82e 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -145,6 +145,7 @@ case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: /* Continue authentication here */ mm->iu.ue_ctx->integrity_active = 1; + ranap_iu_tx_common_id(mm->iu.ue_ctx, mm->imsi); /* FIXME: remove gmm_authorize */ if (mm->pending_req != GSM48_MT_GMM_ATTACH_REQ) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If195c26e87ba3054e159746671babf93a12e7013 Gerrit-Change-Number: 15484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:46 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... gprs_ranap: on Iu release, stop the attach fsm if running A Iu release stops any active procedure. Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee --- M src/sgsn/gprs_ranap.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15485/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 67dc82e..5617fbb 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -140,6 +140,8 @@ else sgsn_ranap_iu_free(mm); + if (mm->gmm_att_req.fsm->state != ST_INIT) + osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_REJECT, (void *) GMM_DISCARD_MS_WITHOUT_REJECT); rc = 0; break; case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:46 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In IDLE there is not further context with the MS. Prevents the Timer from sending packages to a MS which can not respond Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/15486/1 diff --git a/src/sgsn/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c index 4e1ed48..02f6747 100644 --- a/src/sgsn/gprs_mm_state_gb_fsm.c +++ b/src/sgsn/gprs_mm_state_gb_fsm.c @@ -20,6 +20,10 @@ static void st_mm_idle_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct sgsn_mm_ctx *ctx = fi->priv; + /* FIXME: remove this timer when RAU has it's own fsm */ + if (ctx->T == 3350 && osmo_timer_pending(&ctx->timer)) + osmo_timer_del(&ctx->timer); + if (ctx->gb.llme) { gprs_llgmm_unassign(ctx->gb.llme); ctx->gb.llme = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:41:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:41:47 +0000 Subject: Change in ...osmo-sgsn[master]: WIP: implement ran change between 2g and 3g Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15487 Change subject: WIP: implement ran change between 2g and 3g ...................................................................... WIP: implement ran change between 2g and 3g Change-Id: I3fc614da6ba137e871ee0fe86ca22b6a4a354dd2 --- M include/osmocom/sgsn/gprs_mm_state_gb_fsm.h M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_gmm.c M src/sgsn/gprs_mm_state_gb_fsm.c M src/sgsn/gprs_mm_state_iu_fsm.c 5 files changed, 36 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/87/15487/1 diff --git a/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h b/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h index e69e1e1..4da5abe 100644 --- a/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h +++ b/include/osmocom/sgsn/gprs_mm_state_gb_fsm.h @@ -21,6 +21,7 @@ /* E_FORCE_TO_STANDBY, TODO: not used */ /* E_ABNSORMAL_RLC_CONDITION, TODO: not used */ E_MM_RA_UPDATE, + E_MM_RAN_CHANGE, /* when a MS is moving to other RAN */ }; extern struct osmo_fsm mm_state_gb_fsm; diff --git a/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h index 05342f9..92bdd48 100644 --- a/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h +++ b/include/osmocom/sgsn/gprs_mm_state_iu_fsm.h @@ -20,6 +20,7 @@ E_PMM_IMPLICIT_DETACH, /* = E_PS_ATTACH_REJECT, E_RAU_REJECT */ E_PMM_RA_UPDATE, /* = Serving RNC relocation */ E_PMM_USER_INACTIVITY, /* when the inactivity timer runs out */ + E_PMM_RAN_CHANGE, /* when a UE is moving to other RAN */ }; extern struct osmo_fsm mm_state_iu_fsm; diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index afae369..68af317 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1099,6 +1099,21 @@ osmo_fsm_inst_dispatch(ctx->gmm_fsm, E_GMM_COMMON_PROC_INIT_REQ, NULL); } +static void migrate_ran(struct sgsn_mm_ctx *ctx, + enum sgsn_ran_type new_ran) +{ + if (ctx->ran_type == new_ran) + return; + + if (ctx->ran_type == MM_CTX_T_GERAN_Gb) + osmo_fsm_inst_dispatch(ctx->gb.mm_state_fsm, E_MM_RAN_CHANGE, NULL); + + if (ctx->ran_type == MM_CTX_T_UTRAN_Iu) + osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_RAN_CHANGE, NULL); + + ctx->ran_type = new_ran; +} + /* 3GPP TS 24.008 ? 9.4.1 Attach request */ static int gsm48_rx_gmm_att_req(struct sgsn_mm_ctx *ctx, struct msgb *msg, struct gprs_llc_llme *llme) @@ -1228,6 +1243,12 @@ ctx->gb.tlli = msgb_tlli(msg); ctx->gb.llme = llme; } + + if (MSG_IU_UE_CTX(msg)) + migrate_ran(ctx, MM_CTX_T_UTRAN_Iu); + else + migrate_ran(ctx, MM_CTX_T_GERAN_Gb); + msgid2mmctx(ctx, msg); /* Update MM Context with currient RA and Cell ID */ ctx->ra = ra_id; @@ -1636,6 +1657,11 @@ goto rejected; } + if (MSG_IU_UE_CTX(msg)) + migrate_ran(mmctx, MM_CTX_T_UTRAN_Iu); + else + migrate_ran(mmctx, MM_CTX_T_GERAN_Gb); + /* Store new BVCI/NSEI in MM context (FIXME: delay until we ack?) */ msgid2mmctx(mmctx, msg); /* Bump the statistics of received signalling msgs for this MM context */ diff --git a/src/sgsn/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c index 02f6747..34ec82d 100644 --- a/src/sgsn/gprs_mm_state_gb_fsm.c +++ b/src/sgsn/gprs_mm_state_gb_fsm.c @@ -46,6 +46,9 @@ unsigned long t_secs; switch(event) { + case E_MM_RAN_CHANGE: + mm_state_gb_fsm_state_chg(fi, ST_MM_IDLE); + break; case E_MM_READY_TIMER_EXPIRY: case E_MM_IMPLICIT_DETACH: mm_state_gb_fsm_state_chg(fi, ST_MM_STANDBY); @@ -78,7 +81,7 @@ .action = st_mm_idle, }, [ST_MM_READY] = { - .in_event_mask = X(E_MM_READY_TIMER_EXPIRY) | X(E_MM_RA_UPDATE) | X(E_MM_IMPLICIT_DETACH) | X(E_MM_PDU_RECEPTION), + .in_event_mask = X(E_MM_READY_TIMER_EXPIRY) | X(E_MM_RA_UPDATE) | X(E_MM_IMPLICIT_DETACH) | X(E_MM_PDU_RECEPTION) | X(E_MM_RAN_CHANGE), .out_state_mask = X(ST_MM_IDLE) | X(ST_MM_STANDBY), .name = "Ready", .action = st_mm_ready, @@ -97,6 +100,7 @@ OSMO_VALUE_STRING(E_MM_IMPLICIT_DETACH), OSMO_VALUE_STRING(E_MM_READY_TIMER_EXPIRY), OSMO_VALUE_STRING(E_MM_RA_UPDATE), + OSMO_VALUE_STRING(E_MM_RAN_CHANGE), { 0, NULL } }; diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index 2996c4e..627a990 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -53,6 +53,7 @@ }; switch(event) { + case E_PMM_RAN_CHANGE: case E_PMM_PS_CONN_RELEASE: sgsn_ranap_iu_free(ctx); mm_state_iu_fsm_state_chg(fi, ST_PMM_IDLE); @@ -109,7 +110,7 @@ .action = st_pmm_detached, }, [ST_PMM_CONNECTED] = { - .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_USER_INACTIVITY), + .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_USER_INACTIVITY) | X(E_PMM_RAN_CHANGE), .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_IDLE), .name = "Connected", .action = st_pmm_connected, @@ -130,6 +131,7 @@ OSMO_VALUE_STRING(E_PMM_IMPLICIT_DETACH), OSMO_VALUE_STRING(E_PMM_RA_UPDATE), OSMO_VALUE_STRING(E_PMM_USER_INACTIVITY), + OSMO_VALUE_STRING(E_PMM_RAN_CHANGE), { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3fc614da6ba137e871ee0fe86ca22b6a4a354dd2 Gerrit-Change-Number: 15487 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 11 01:45:55 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 11 Sep 2019 01:45:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7851e4f0862_64c2b19ae7d85f021926e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 431s] ar: `u' modifier ignored since `D' is the default (see `U') [ 431s] libtool: link: ranlib .libs/libtransceiver_common.a [ 431s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 431s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 432s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 432s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 432s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 432s] collect2: error: ld returned 1 exit status [ 432s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 432s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 432s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 432s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 432s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 432s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 432s] make[1]: *** [Makefile:444: all] Error 2 [ 432s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 432s] dh_auto_build: make -j1 returned exit code 2 [ 432s] make: *** [debian/rules:6: build] Error 255 [ 432s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 432s] [ 432s] lamb56 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Wed Sep 11 01:45:37 UTC 2019. [ 432s] [ 432s] ### VM INTERACTION START ### [ 435s] [ 415.195630] sysrq: SysRq : Power Off [ 435s] [ 415.203677] reboot: Power down [ 435s] ### VM INTERACTION END ### [ 435s] [ 435s] lamb56 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Wed Sep 11 01:45:41 UTC 2019. [ 435s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 11 01:58:52 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 01:58:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 to look at the new patch set (#7). Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The tess case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15397/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 11 03:10:47 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 11 Sep 2019 03:10:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7865d58c71e_64c2b19ae7d85f0223173@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 238s] ar: `u' modifier ignored since `D' is the default (see `U') [ 238s] libtool: link: ranlib .libs/libtransceiver_common.a [ 238s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 238s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 238s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 238s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 238s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 238s] collect2: error: ld returned 1 exit status [ 238s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 238s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 238s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 238s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 238s] make[1]: *** [Makefile:444: all] Error 2 [ 238s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 238s] dh_auto_build: make -j1 returned exit code 2 [ 238s] make: *** [debian/rules:6: build] Error 255 [ 238s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 238s] [ 238s] build72 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 11 03:10:42 UTC 2019. [ 238s] [ 238s] ### VM INTERACTION START ### [ 241s] [ 229.855710] sysrq: SysRq : Power Off [ 241s] [ 229.857555] reboot: Power down [ 241s] ### VM INTERACTION END ### [ 241s] [ 241s] build72 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 11 03:10:45 UTC 2019. [ 241s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 11 03:11:21 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 11 Sep 2019 03:11:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7865ef66a5e_64c2b19ae7d85f02232cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 260s] ar: `u' modifier ignored since `D' is the default (see `U') [ 260s] libtool: link: ranlib .libs/libtransceiver_common.a [ 260s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 260s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 260s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 260s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 260s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 260s] collect2: error: ld returned 1 exit status [ 260s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 260s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 260s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 260s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 260s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 260s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 260s] make[1]: *** [Makefile:444: all] Error 2 [ 260s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 260s] dh_auto_build: make -j1 returned exit code 2 [ 260s] make: *** [debian/rules:6: build] Error 255 [ 260s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 260s] [ 260s] build85 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Wed Sep 11 03:11:01 UTC 2019. [ 260s] [ 260s] ### VM INTERACTION START ### [ 263s] [ 252.291592] sysrq: SysRq : Power Off [ 263s] [ 252.293653] reboot: Power down [ 263s] ### VM INTERACTION END ### [ 263s] [ 263s] build85 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Wed Sep 11 03:11:04 UTC 2019. [ 263s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:01:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 06:01:29 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: Hello lynxis lazus, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 to look at the new patch set (#4). Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... tbf_dl: make preemptive retransmission optional Since [1], OsmoPCU already starts to retransmit downlink blocks before the MS has had a chance to receive them and/or send the related acknowledgement in uplink. Make this optional with the new VTY option "no dl-tbf-preemptive-retransmission". [1] e25b5b91f60f20f61096bc6199a05b58ee6c6328 ("tbf: Only create dummy frames if necessary") Related: OS#2408 Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_vty.c M src/tbf_dl.cpp 5 files changed, 44 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/15423/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:15:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 06:15:34 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... Patch Set 4: Code-Review+2 (1 comment) Nitpick resolved, re-applying +2 https://gerrit.osmocom.org/#/c/15423/3/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15423/3/src/tbf_dl.cpp at 434 PS3, Line 434: !m_window.window_empty() && bts->bts_data()->dl_tbf_preemptive_retransmission > nitpick: I would first check for dl_tbf_preemptive_retransmission Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 06:15:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:16:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 06:16:22 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference ...................................................................... Patch Set 2: Code-Review+2 trivial change -> +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 06:16:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:16:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 06:16:29 +0000 Subject: Change in ...osmo-pcu[master]: doc: update generated VTY reference In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15422 ) Change subject: doc: update generated VTY reference ...................................................................... doc: update generated VTY reference Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 88 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index 235e307..cc8fffa 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -263,6 +263,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -628,6 +672,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6243a2856df9db0f06e704e51e87113f9b57bb36 Gerrit-Change-Number: 15422 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:16:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 06:16:30 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: make preemptive retransmission optional In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15423 ) Change subject: tbf_dl: make preemptive retransmission optional ...................................................................... tbf_dl: make preemptive retransmission optional Since [1], OsmoPCU already starts to retransmit downlink blocks before the MS has had a chance to receive them and/or send the related acknowledgement in uplink. Make this optional with the new VTY option "no dl-tbf-preemptive-retransmission". [1] e25b5b91f60f20f61096bc6199a05b58ee6c6328 ("tbf: Only create dummy frames if necessary") Related: OS#2408 Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_vty.c M src/tbf_dl.cpp 5 files changed, 44 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index cc8fffa..ea2d674 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -1807,6 +1807,17 @@ + + + + + + + + + + + diff --git a/src/bts.cpp b/src/bts.cpp index 26dd401..60f74dd 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -216,6 +216,7 @@ { memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; + m_bts.dl_tbf_preemptive_retransmission = true; /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(m_bts.trx); ++trx_no) { diff --git a/src/bts.h b/src/bts.h index 767605c..45d52a9 100644 --- a/src/bts.h +++ b/src/bts.h @@ -135,6 +135,7 @@ uint8_t alpha, gamma; uint8_t egprs_enabled; uint32_t dl_tbf_idle_msec; /* hold time for idle DL TBFs */ + bool dl_tbf_preemptive_retransmission; uint8_t si13[GSM_MACBLOCK_LEN]; bool si13_is_set; /* 0 to support resegmentation in DL, 1 for no reseg */ diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 1e4f50c..a566e73 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -254,6 +254,8 @@ if (bts->dl_tbf_idle_msec) vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec, VTY_NEWLINE); + if (!bts->dl_tbf_preemptive_retransmission) + vty_out(vty, " no dl-tbf-preemptive-retransmission%s", VTY_NEWLINE); if (strcmp(bts->pcu_sock_path, PCU_SOCK_DEFAULT)) vty_out(vty, " pcu-socket %s%s", bts->pcu_sock_path, VTY_NEWLINE); @@ -870,6 +872,32 @@ return CMD_SUCCESS; } +#define RETRANSMISSION_STR "retransmit blocks even before the MS had a chance to receive them (better throughput," \ + " less readable traces)" +DEFUN(cfg_pcu_dl_tbf_preemptive_retransmission, + cfg_pcu_dl_tbf_preemptive_retransmission_cmd, + "dl-tbf-preemptive-retransmission", + RETRANSMISSION_STR " (enabled by default)") +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + + bts->dl_tbf_preemptive_retransmission = true; + + return CMD_SUCCESS; +} + +DEFUN(cfg_pcu_no_dl_tbf_preemptive_retransmission, + cfg_pcu_no_dl_tbf_preemptive_retransmission_cmd, + "no dl-tbf-preemptive-retransmission", + NO_STR RETRANSMISSION_STR) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + + bts->dl_tbf_preemptive_retransmission = false; + + return CMD_SUCCESS; +} + #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n" DEFUN(cfg_pcu_ms_idle_time, cfg_pcu_ms_idle_time_cmd, @@ -1215,6 +1243,8 @@ install_element(PCU_NODE, &cfg_pcu_gamma_cmd); install_element(PCU_NODE, &cfg_pcu_dl_tbf_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_no_dl_tbf_idle_time_cmd); + install_element(PCU_NODE, &cfg_pcu_dl_tbf_preemptive_retransmission_cmd); + install_element(PCU_NODE, &cfg_pcu_no_dl_tbf_preemptive_retransmission_cmd); install_element(PCU_NODE, &cfg_pcu_ms_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_no_ms_idle_time_cmd); install_element(PCU_NODE, &cfg_pcu_gsmtap_categ_cmd); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d5e4a45..510a65c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -431,7 +431,7 @@ m_window.v_s(), mcs_name(new_cs)); bsn = create_new_bsn(fn, new_cs); - } else if (!m_window.window_empty()) { + } else if (bts->bts_data()->dl_tbf_preemptive_retransmission && !m_window.window_empty()) { LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id08aed513d4033aa0d4324c6ce07cbb2852f2f92 Gerrit-Change-Number: 15423 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:18:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:18:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 06:18:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 11 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 06:19:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add Iu Attach Request In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 ) Change subject: sgsn: add Iu Attach Request ...................................................................... sgsn: add Iu Attach Request MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Auth Request MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 --- M sgsn/SGSN_Tests.ttcn A sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 47 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 4a47723..adbcf19 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -11,6 +11,8 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +friend module SGSN_Tests_Iu; + import from General_Types all; import from Osmocom_Types all; import from Native_Functions all; diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn new file mode 100644 index 0000000..ace295c --- /dev/null +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -0,0 +1,45 @@ +module SGSN_Tests_Iu { + +import from Osmocom_Types all; + +import from SGSN_Tests all; + +import from RAN_Adapter all; +import from RAN_Emulation all; +import from RANAP_Templates all; +import from RANAP_PDU_Descriptions all; +import from RANAP_IEs all; + + +private function f_TC_iu_attach(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + setverdict(pass); +} +testcase TC_iu_attach() runs on test_CT { + /* MS -> SGSN: Attach Request IMSI + * MS <- SGSN: Identity Request IMEI + * MS -> SGSN: Identity Response IMEI + * MS <- SGSN: Auth Request + * MS -> SGSN: Auth Response + * MS <- SGSN: Attach Accept + * MS -> SGSN: Attach Complete + */ + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_iu_attach), testcasename(), g_gb, 1001); + vc_conn.done; + f_cleanup(); +} + + + +control { + execute( TC_iu_attach() ); +} + + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 Gerrit-Change-Number: 13866 Gerrit-PatchSet: 12 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: introduce f_send_l3() to allow one function for Gb & Iu In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 ) Change subject: sgsn: introduce f_send_l3() to allow one function for Gb & Iu ...................................................................... sgsn: introduce f_send_l3() to allow one function for Gb & Iu f_send_l3() replaces f_send_l3_gmm_llc() to have one function which sends L3 messages for Iu and Gb at the same time. This allows to share most of the tests between Iu & Gb. Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 132 insertions(+), 48 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index c9309dd..4a47723 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -169,6 +169,8 @@ OCT4 tlli_old optional, RoutingAreaIdentificationV ra optional, BssgpCellIds bssgp_cell_id, + /* Tracks the RNC state. If true next L3 message will be sent with InitiualUe */ + boolean rnc_send_initial_ue, AuthVector vec optional, SGSN_ConnHdlrNetworkPars net, float t_guard, @@ -390,6 +392,7 @@ tlli_old := omit, ra := omit, bssgp_cell_id := { gb[0].cfg.cell_id, gb[1].cfg.cell_id, gb[2].cfg.cell_id }, + rnc_send_initial_ue := true, vec := omit, net := net_pars, t_guard := t_guard, @@ -469,28 +472,92 @@ f_cleanup(); } +friend function is_gb(integer gb_idx) return boolean { + return gb_idx < NUM_GB; +} +friend function is_iu(integer gb_idx) return boolean { + return gb_idx >= NUM_GB; +} + function f_send_llc(template (value) PDU_LLC llc_pdu, integer gb_index := 0) runs on BSSGP_ConnHdlr { var octetstring llc_enc := enc_PDU_LLC(valueof(llc_pdu)); BSSGP[gb_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[gb_index], llc_enc)); } -function f_send_l3_gmm_llc(template PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { +private function f_send_l3_gmm_llc(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { var octetstring l3_enc := enc_PDU_L3_MS_SGSN(valueof(l3_mo)); var BIT4 sapi := f_llc_sapi_by_l3_mo(valueof(l3_mo)); var integer n_u := f_llc_get_n_u_tx(llc[bit2int(sapi)]); f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), gb_index); } +/* trigger sending of a RANAP InitialUE and wait for SCCP connection confirmation */ +function f_send_l3_initial_ue(template (value) PDU_L3_MS_SGSN l3_mo) runs on BSSGP_ConnHdlr { + log("Sending InitialUE: ", l3_mo); + var octetstring l3_enc := enc_PDU_L3_MS_SGSN(valueof(l3_mo)); + var RANAP_PDU ranap; + var LAI lai := { + pLMNidentity := '62F224'O, + lAC := '1234'O, + iE_Extensions := omit + }; + var SAI sai := { + pLMNidentity := lai.pLMNidentity, + lAC := lai.lAC, + sAC := '0000'O, /* FIXME */ + iE_Extensions := omit + }; + var IuSignallingConnectionIdentifier sigc_id := int2bit(23, 24); /* FIXME */ + var GlobalRNC_ID grnc_id := { + pLMNidentity := lai.pLMNidentity, + rNC_ID := 2342 /* FIXME */ + }; + + ranap := valueof(ts_RANAP_initialUE_CS(lai, sai, l3_enc, sigc_id, grnc_id)); + BSSAP.send(ts_RANAP_Conn_Req(g_pars.sccp_addr_peer, g_pars.sccp_addr_local, ranap)); + alt { + [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND) {} + [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) { + setverdict(fail, "DISC.ind from SCCP"); + mtc.stop; + } + } +} + +/* send a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ +function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { + if (is_iu(gb_index)) { + if (g_pars.rnc_send_initial_ue) { + g_pars.rnc_send_initial_ue := false; + f_send_l3_initial_ue(l3_mo); + } else { + BSSAP.send(ts_PDU_DTAP_PS_MO(l3_mo)); + } + } else { + f_send_l3_gmm_llc(l3_mo, gb_index); + } +} + altstep as_mm_identity(integer gb_idx := 0) runs on BSSGP_ConnHdlr { var MobileL3_CommonIE_Types.MobileIdentityLV mi; - [] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('001'B)) { + [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); repeat; } - [] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('010'B)) { + [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('001'B))) { + mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + repeat; + } + [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('010'B)) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + repeat; + } + [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('010'B))) { + mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); + f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); repeat; } } @@ -498,9 +565,13 @@ /* receive a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ function f_receive_l3(template PDU_L3_SGSN_MS rx_tpl := ?, integer gb_idx := 0) runs on BSSGP_ConnHdlr return PDU_L3_SGSN_MS { + var PDU_DTAP_PS_MT mt; var PDU_L3_SGSN_MS l3_mt; alt { - [] BSSGP[gb_idx].receive(rx_tpl) -> value l3_mt { } + [is_gb(gb_idx)] BSSGP[gb_idx].receive(rx_tpl) -> value l3_mt { } + [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(rx_tpl)) -> value mt { + l3_mt := mt.dtap; + } } return l3_mt; } @@ -568,7 +639,16 @@ l3_mo.msgs.gprs_mm.authenticationAndCipheringResponse.imeisv := valueof(ts_MI_IMEISV_TLV(g_pars.imei & '0'H)); } - f_send_l3_gmm_llc(l3_mo, gb_idx); + f_send_l3(l3_mo, gb_idx); + + /* Security Mode Command + Complete on Iu case */ + if (is_iu(gb_idx)) { + BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), + key_sts := ?)) { + var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ + BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + } + } } else { /* wait for identity procedure */ f_sleep(1.0); @@ -674,7 +754,7 @@ * revisionLevelIndicatior is at the wrong place! */ attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; - f_send_l3_gmm_llc(attach_req, gb_idx); + f_send_l3(attach_req, gb_idx); f_gmm_auth(umts_aka_challenge, force_gsm_sres, gb_idx); /* Expect SGSN to perform LU with HLR */ f_gmm_gsup_lu_isd(); @@ -683,7 +763,12 @@ f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); /* FIXME: Extract P-TMSI, if any. Only send Complete if necessary */ - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL, gb_idx); + f_send_l3(ts_GMM_ATTACH_COMPL, gb_idx); + + /* IuPS case: Expect Iu Release */ + if (is_iu(gb_idx)) { + as_iu_release_compl_disc(); + } } private function f_TC_attach(charstring id) runs on BSSGP_ConnHdlr { @@ -739,7 +824,7 @@ private function f_TC_attach_auth_id_timeout(charstring id) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); alt { [] BSSGP[0].receive(tr_GMM_ID_REQ(?)) { /* don't send ID Response */ @@ -766,7 +851,7 @@ private function f_TC_attach_auth_sai_timeout(charstring id) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); alt { [] as_mm_identity(); [] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); { } @@ -787,7 +872,7 @@ private function f_TC_attach_auth_sai_reject(charstring id) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); alt { [] as_mm_identity(); [] GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); { @@ -810,7 +895,7 @@ var PDU_L3_SGSN_MS l3_mt; var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); f_gmm_auth(); /* Expect MSC to perform LU with HLR */ GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)); @@ -840,7 +925,7 @@ var PDU_L3_SGSN_MS l3_mt; var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); f_gmm_auth(); /* Expect MSC to perform LU with HLR */ GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)) { @@ -872,7 +957,7 @@ var PDU_L3_SGSN_MS l3_mt; var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, true, false, omit, omit)); f_gmm_auth(); /* Expect MSC to perform LU with HLR */ f_gmm_gsup_lu_isd(); @@ -880,7 +965,7 @@ BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); } - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL); + f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } testcase TC_attach_combined() runs on test_CT { @@ -899,12 +984,12 @@ g_pars.net.expect_auth := false; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); f_gmm_auth(); BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); } - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL); + f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } testcase TC_attach_accept_all() runs on test_CT { @@ -927,7 +1012,7 @@ g_pars.net.expect_auth := false; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); alt { [] as_mm_identity(); [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT('07'O)) { @@ -960,7 +1045,7 @@ private function f_TC_rau_unknown(charstring id) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); - f_send_l3_gmm_llc(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, old_ra, false, omit, omit)); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, old_ra, false, omit, omit)); alt { [] BSSGP[0].receive(tr_GMM_RAU_REJECT('0a'O)) { setverdict(pass); @@ -998,7 +1083,7 @@ function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; timer T := 5.0; - f_send_l3_gmm_llc(ts_GMM_DET_REQ_MO(detach_type, power_off), bssgp_index); + f_send_l3(ts_GMM_DET_REQ_MO(detach_type, power_off), bssgp_index); if (expect_purge) { GSUP.receive(tr_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_PS)); GSUP.send(ts_GSUP_PURGE_MS_RES(g_pars.imsi)); @@ -1138,7 +1223,7 @@ recovery := ts_Recovery(apars.ggsn_restart_ctr); } - f_send_l3_gmm_llc(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, + f_send_l3(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, apars.apn, apars.pco), gb_idx); GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud { f_process_gtp_ctx_act_req(apars, g_ud.gtpc); @@ -1178,7 +1263,7 @@ var boolean exp_rej := ispresent(apars.exp_rej_cause); var Gtp1cUnitdata g_ud; - f_send_l3_gmm_llc(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), gb_idx); + f_send_l3(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), gb_idx); GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud { var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber); BSSGP[gb_idx].clear; @@ -1210,7 +1295,7 @@ alt { [] BSSGP[gb_idx].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true)) { - f_send_l3_gmm_llc(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), gb_idx); + f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), gb_idx); } [not error_ind] GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) { repeat; @@ -1397,7 +1482,7 @@ /* PDP Context activation for not-attached subscriber; expect fail */ private function f_TC_pdp_act_unattached(charstring id) runs on BSSGP_ConnHdlr { var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); - f_send_l3_gmm_llc(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, + f_send_l3(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, apars.apn, apars.pco)); alt { /* We might want toalso actually expect a PDPC CTX ACT REJ? */ @@ -1662,7 +1747,7 @@ var OCT1 cause_network_failure := int2oct(38, 1) alt { [] BSSGP[0].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, cause_network_failure, true)) { - f_send_l3_gmm_llc(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid)); + f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid)); setverdict(pass); } [] as_xid(apars); @@ -1745,7 +1830,7 @@ GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) {} - f_send_l3_gmm_llc(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid)); + f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid)); setverdict(pass); } testcase TC_attach_pdp_act_deact_mt_t3395_expire() runs on test_CT { @@ -1950,7 +2035,7 @@ /* MS: receive a Detach Request */ BSSGP[0].receive(tr_GMM_DET_REQ_MT(c_GMM_DTT_MT_IMSI_DETACH, ?, ?)); - f_send_l3_gmm_llc(ts_GMM_DET_ACCEPT_MO); + f_send_l3(ts_GMM_DET_ACCEPT_MO); setverdict(pass); } @@ -2045,7 +2130,7 @@ var integer count_req := 0; var MobileL3_CommonIE_Types.MobileIdentityLV mi; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); alt { [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { @@ -2053,7 +2138,7 @@ } [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi)); + f_send_l3(ts_GMM_ID_RESP(mi)); repeat; } [] BSSGP[0].receive(tr_GMM_ID_REQ('010'B)) { @@ -2094,7 +2179,7 @@ /* set p_tmsi to use it in Attach Req via f_mi_get_lv() */ g_pars.p_tmsi := 'c0000035'O; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); alt { [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { @@ -2107,7 +2192,7 @@ } [] BSSGP[0].receive(tr_GMM_ID_REQ('010'B)) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi)); + f_send_l3(ts_GMM_ID_RESP(mi)); repeat; } } @@ -2170,7 +2255,7 @@ /* there is no auth */ g_pars.net.expect_auth := false; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit)); f_gmm_auth(); alt { [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { @@ -2179,7 +2264,7 @@ } [] BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT(*, *, *)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL); + f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } } @@ -2224,7 +2309,7 @@ private function f_TC_attach_check_complete_resend(charstring id) runs on BSSGP_ConnHdlr { var integer count_req := 0; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); f_gmm_auth(); timer T := 10.0; @@ -2265,11 +2350,11 @@ var PDU_L3_SGSN_MS l3_mt; /* then send RAU */ - f_send_l3_gmm_llc(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit), bssgp); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit), bssgp); alt { [] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); - f_send_l3_gmm_llc(ts_GMM_RAU_COMPL, bssgp); + f_send_l3(ts_GMM_RAU_COMPL, bssgp); setverdict(pass); } [] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { @@ -2347,7 +2432,7 @@ var RoutingAreaIdentificationV rand_rai := f_random_RAI(); var PDU_L3_SGSN_MS l3_mt; - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); alt { [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { @@ -2356,16 +2441,16 @@ } [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi)); + f_send_l3(ts_GMM_ID_RESP(mi)); repeat; } [] BSSGP[0].receive(tr_GMM_ID_REQ('010'B)) { /* send out a second GMM_Attach Request. * If the SGSN follows the rules, this 2nd ATTACH REQ should be ignored, because * of the same content */ - f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); + f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi)); + f_send_l3(ts_GMM_ID_RESP(mi)); } } f_sleep(1.0); @@ -2374,7 +2459,7 @@ alt { [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi)); + f_send_l3(ts_GMM_ID_RESP(mi)); repeat; } [] BSSGP[0].receive(tr_GMM_ID_REQ('010'B)) { @@ -2387,7 +2472,7 @@ } [] BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL); + f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); /* FIXME: Extract P-TMSI, if any. Only send Complete if necessary */ } @@ -2426,7 +2511,7 @@ /* The thing is, if the solSACapability is 'omit', then the * revisionLevelIndicatior is at the wrong place! */ attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; - f_send_l3_gmm_llc(attach_req); + f_send_l3(attach_req); /* do the auth */ var PDU_L3_MS_SGSN l3_mo; @@ -2458,7 +2543,7 @@ BSSGP[0].receive(auth_ciph_req) -> value l3_mt; /* send the gmm auth failure with resync IE */ - f_send_l3_gmm_llc(ts_GMM_AUTH_FAIL_UMTS_AKA_RESYNC(g_pars.vec.auts)); + f_send_l3(ts_GMM_AUTH_FAIL_UMTS_AKA_RESYNC(g_pars.vec.auts)); /* wait for the GSUP resync request */ GSUP.receive(tr_GSUP_SAI_REQ_UMTS_AKA_RESYNC( @@ -2505,7 +2590,7 @@ l3_mo.msgs.gprs_mm.authenticationAndCipheringResponse.imeisv := valueof(ts_MI_IMEISV_TLV(g_pars.imei & '0'H)); } - f_send_l3_gmm_llc(l3_mo); + f_send_l3(l3_mo); deactivate(di); /* Expect SGSN to perform LU with HLR */ @@ -2514,7 +2599,7 @@ BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); } - f_send_l3_gmm_llc(ts_GMM_ATTACH_COMPL); + f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } @@ -2681,7 +2766,6 @@ f_cleanup(); } - control { execute( TC_attach() ); execute( TC_attach_mnc3() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If47ad2be459ca7b87d9071d9ff020a51821e4433 Gerrit-Change-Number: 15171 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 ) Change subject: L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature ...................................................................... L3 Templates: PDU_L3_MS_SGSN: export ptmsi in template signature Iu packets needs to contain an ptmsi as tlv in difference to Gb. Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 --- M library/L3_Templates.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 2fb86d0..0556c97 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -2148,7 +2148,8 @@ RoutingAreaIdentificationV old_ra, boolean follow_on_pending := false, template (omit) MobileStationClassmark2_TLV cm2_tlv, - template (omit) MobileStationClassmark3_TLV cm3_tlv + template (omit) MobileStationClassmark3_TLV cm3_tlv, + template (omit) OCT4 p_tmsi := omit ) := { discriminator := '0000'B, /* overwritten */ tiOrSkip := { @@ -2166,7 +2167,7 @@ readyTimerValue := omit, drxParameter := omit, tmsiStatus := omit, - ptmsi := omit, + ptmsi := ts_MI_TMSI_TLV(p_tmsi), mSNetworkCapability := omit, pdpContextStatus := omit, /* TODO */ pC_LCSCapability := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7ba51a28524261dd1c7f4f2586ee6ebc970ea944 Gerrit-Change-Number: 15395 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 ) Change subject: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If80da5a94fd786b90f71121b51742c9f70a693eb Gerrit-Change-Number: 13905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:19:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:19:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:19:58 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_pdp_ctx_terminate: check llme before accessing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 ) Change subject: sgsn_pdp_ctx_terminate: check llme before accessing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d Gerrit-Change-Number: 15467 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 06:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:23:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:23:02 +0000 Subject: Change in ...osmo-sgsn[master]: mm_gb_fsm: unassign the llme when entering MM_IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 ) Change subject: mm_gb_fsm: unassign the llme when entering MM_IDLE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 Gerrit-Change-Number: 15479 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:23:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:23:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:23:31 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: refactor REQUIRE_MM define In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 ) Change subject: gprs_ranap: refactor REQUIRE_MM define ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f Gerrit-Change-Number: 15480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:23:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:23:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:23:56 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:23:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:24:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:24:19 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 ) Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:24:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:24:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:24:58 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:24:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:25:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:25:09 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: send CommonId after receiving Security Mode Complete In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 ) Change subject: gprs_ranap: send CommonId after receiving Security Mode Complete ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If195c26e87ba3054e159746671babf93a12e7013 Gerrit-Change-Number: 15484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:25:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:25:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:25:55 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 ) Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15485/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15485/1//COMMIT_MSG at 7 PS1, Line 7: stop the attach fsm if running is that the only FSM that could be running? Or do we need some more general 'clear all fsms' function? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:25:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:26:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:26:22 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 ) Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15486/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15486/1//COMMIT_MSG at 10 PS1, Line 10: packages packets -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:26:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:26:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:26:38 +0000 Subject: Change in ...libosmocore[master]: tdef: fixup osmo_tdef_set() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15478 ) Change subject: tdef: fixup osmo_tdef_set() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 Gerrit-Change-Number: 15478 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:26:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:26:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:26:39 +0000 Subject: Change in ...libosmocore[master]: tdef: fixup osmo_tdef_set() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15478 ) Change subject: tdef: fixup osmo_tdef_set() ...................................................................... tdef: fixup osmo_tdef_set() I missed code review, so here are my comments in form of a follow-up patch for Id56a1226d724a374f04231df85fe5b49ffd2c43c. - Fix 'as_unit' arg name to 'val_unit' as in the C file and API doc. - Explain rounding-up behavior of value conversion in API doc. - Use osmo_tdef_get_entry() instead of a loop. Related: OS#4190 Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 --- M include/osmocom/core/tdef.h M src/tdef.c 2 files changed, 7 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index a1ad4cc..8155688 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -97,7 +97,7 @@ unsigned long osmo_tdef_get(const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit, long val_if_not_present); struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T); -int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit as_unit); +int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit); /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ diff --git a/src/tdef.c b/src/tdef.c index dfb47f6..ab6a51b 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -212,6 +212,7 @@ } /*! Set value in entry matching T, converting val from val_unit to unit of T. + * The converted value is rounded up to the next integer value of T's unit and clamped to ULONG_MAX, or 0 if val == 0. * \param[in] tdefs Array of timer definitions, last entry being fully zero. * \param[in] T Timer number to set the value for. * \param[in] val The new timer value to set. @@ -220,14 +221,11 @@ */ int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit) { - struct osmo_tdef *t; - osmo_tdef_for_each(t, tdefs) { - if (t->T == T) { - t->val = osmo_tdef_round(val, val_unit, t->unit); - return 0; - } - } - return -EEXIST; + struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, T); + if (!t) + return -EEXIST; + t->val = osmo_tdef_round(val, val_unit, t->unit); + return 0; } /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 Gerrit-Change-Number: 15478 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:27:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:27:12 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:27:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:27:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:27:57 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 1: I think this patch changes ABI, so it needs a record in TODO-RELEASE -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:27:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:28:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:28:41 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... Patch Set 1: I think this patch changes ABI, so it needs a record in TODO-RELEASE -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:28:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 06:29:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 06:29:19 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 1: I think this patch changes ABI, so it needs a record in TODO-RELEASE -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 06:29:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 07:58:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 07:58:55 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#4). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 14 files changed, 416 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 07:59:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 07:59:03 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 3: (4 comments) Thanks for the review, updated the patch. One thing I am not sure about is this line from 3GPP TS 44.060 11.2.47: > This message may be segmented across more than two RLC/MAC control blocks by using extended RLC/MAC control message segmentation. Does this mean, we need to support splitting long messages into multiple msgb buffers (and sending multiple buffers to each UE then)? https://gerrit.osmocom.org/#/c/15459/3/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/15459/3/src/bts.h at 171 PS3, Line 171: uint32_t app_info_todo; > but nobody ever reads/checks it It is used in gprs_rlcmac_sched.cpp, function sched_app_info(): after decrementing, if it is zero, free bts_data->app_info and log that the message was sent to all MS with active TBF. If you like, I can describe this in the surrounding comments. (I've left it out, because the commenting seems to be quite verbose already for the two variables.) https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h at 43 PS3, Line 43: struct gprs_rlcmac_ms { : bool app_info_send; : }; > why an extra struct around a single member? Otherwise I would have needed to add a setter and getter. As I understood from the IRC discussion, it is preferred to not introduce more C++ style code in osmo-pcu where possible. This ms_data is now similar to bts_data in bts.h. > Update: I now understand it actually determines if the app_info still has to be sent. Let's call it app_info_pending? Yes, that is a better name! Renamed it. Also I've renamed bts_data->app_info_todo to bts_data->app_info_pending, as it is the count of pending messages. https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac.cpp File src/gprs_rlcmac.cpp: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac.cpp at 59 PS3, Line 59: word = 0x00; /* 0-1: page mode: normal */ : word |= (0x0F & req->application_type) << 6; /* 2-5: application type */ : word |= (0xC0 & req->data[0]) >> 6; /* 6-7: first two data bits */ : msgb_put_u8(msg, word); : : for (i=0; i < req->len - 1; i++) { : word = req->data[i] << 2; /* 0-6: last six data bits from current byte */ : word |= (0xC0 & req->data[i + 1]) >> 6; /* 7-8: first two data bits from next byte */ : msgb_put_u8(msg, word); : } : : word = (0xC0 & req->data[req->len -1]) << 2; /* 0-6: last six data bits from last byte (rest is padding) */ : msgb_put_u8(msg, word); > I would have suggested to use the osmocom/core/bitvec.h infrastructure for constructing the payload. [?] Done. https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_rlcmac_sched.cpp at 140 PS3, Line 140: } : else > style Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 07:59:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 10:20:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 10:20:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: make the ranap interface optional In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 ) Change subject: sgsn: make the ranap interface optional ...................................................................... sgsn: make the ranap interface optional Allows to use the test cases without STP Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 24 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index adbcf19..501bec8 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -130,6 +130,7 @@ type component test_CT { var GbInstances g_gb; var RAN_Adapter g_ranap[NUM_RNC]; + var boolean g_ranap_enable := false; var GSUP_Emulation_CT vc_GSUP; var IPA_Emulation_CT vc_GSUP_IPA; @@ -177,8 +178,8 @@ SGSN_ConnHdlrNetworkPars net, float t_guard, /* only in IuPS / RANAP case */ - SCCP_PAR_Address sccp_addr_local, - SCCP_PAR_Address sccp_addr_peer + SCCP_PAR_Address sccp_addr_local optional, + SCCP_PAR_Address sccp_addr_peer optional }; private function f_cellid_to_RAI(in BssgpCellId cell_id) return RoutingAreaIdentificationV { @@ -327,9 +328,11 @@ f_init_gb(g_gb[1], "SGSN_Test-Gb1", 1); f_init_gb(g_gb[2], "SGSN_Test-Gb2", 2); - for (i := 0; i < NUM_RNC; i := i+1) { - f_ran_adapter_init(g_ranap[i], mp_ranap_cfg[i], "SGSN_Test_" & int2str(i), RNC_RanOps); - f_ran_adapter_start(g_ranap[i]); + if (g_ranap_enable) { + for (i := 0; i < NUM_RNC; i := i+1) { + f_ran_adapter_init(g_ranap[i], mp_ranap_cfg[i], "SGSN_Test_" & int2str(i), RNC_RanOps); + f_ran_adapter_start(g_ranap[i]); + } } f_init_gsup("SGSN_Test"); f_init_gtp("SGSN_Test"); @@ -338,8 +341,10 @@ function f_cleanup() runs on test_CT { var integer i; - for (i := 0; i < NUM_RNC; i := i+1) { - f_ran_adapter_cleanup(g_ranap[i]); + if (g_ranap_enable) { + for (i := 0; i < NUM_RNC; i := i+1) { + f_ran_adapter_cleanup(g_ranap[i]); + } } self.stop; } @@ -398,10 +403,15 @@ vec := omit, net := net_pars, t_guard := t_guard, - sccp_addr_local := g_ranap[0].sccp_addr_own, - sccp_addr_peer := g_ranap[0].sccp_addr_peer + sccp_addr_local := omit, + sccp_addr_peer := omit }; + if (g_ranap_enable) { + pars.sccp_addr_local := g_ranap[0].sccp_addr_own; + pars.sccp_addr_peer := g_ranap[0].sccp_addr_peer; + } + vc_conn := BSSGP_ConnHdlr.create(id); connect(vc_conn:BSSGP[0], gb[0].vc_BSSGP:BSSGP_SP); connect(vc_conn:BSSGP_PROC[0], gb[0].vc_BSSGP:BSSGP_PROC); @@ -411,8 +421,10 @@ connect(vc_conn:BSSGP_PROC[2], gb[2].vc_BSSGP:BSSGP_PROC); /* FIXME: support multiple RNCs */ - connect(vc_conn:BSSAP, g_ranap[0].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_PROC, g_ranap[0].vc_RAN:PROC); + if (g_ranap_enable) { + connect(vc_conn:BSSAP, g_ranap[0].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_PROC, g_ranap[0].vc_RAN:PROC); + } connect(vc_conn:GSUP, vc_GSUP:GSUP_CLIENT); connect(vc_conn:GSUP_PROC, vc_GSUP:GSUP_PROC); diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index ace295c..2f077d8 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -28,6 +28,7 @@ * MS -> SGSN: Attach Complete */ var BSSGP_ConnHdlr vc_conn; + g_ranap_enable := true; f_init(); f_sleep(1.0); vc_conn := f_start_handler(refers(f_TC_iu_attach), testcasename(), g_gb, 1001); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43df456c2d5aa3ba3ea9e34da3f0f96b55f7c9a1 Gerrit-Change-Number: 15162 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 10:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 10:20:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: extend f_routing_area_update() to support Iu In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 ) Change subject: sgsn: extend f_routing_area_update() to support Iu ...................................................................... sgsn: extend f_routing_area_update() to support Iu Allow Iu tests to use f_routing_area_update() Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 27 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 501bec8..6de9987 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2360,22 +2360,44 @@ f_cleanup(); } -private function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { +friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; + var PDU_DTAP_PS_MT mt; + var template OCT4 p_tmsi := omit; + if (is_iu(bssgp)) { + p_tmsi := g_pars.p_tmsi; + } /* then send RAU */ - f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit), bssgp); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), bssgp); alt { - [] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { + [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); f_send_l3(ts_GMM_RAU_COMPL, bssgp); setverdict(pass); } - [] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { + [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { + f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); + f_send_l3(ts_GMM_RAU_COMPL, bssgp); + setverdict(pass); + } + + [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [] BSSGP[bssgp].receive { repeat; } + [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { + setverdict(fail, "Unexpected RAU Reject"); + mtc.stop; + } + + [is_iu(bssgp)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), + key_sts := ?)) { + var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ + BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + } + [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } + [is_iu(bssgp)] BSSAP.receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic03952a04c00a4fc437ef39c5ee046549c122c8b Gerrit-Change-Number: 15396 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 10:20:23 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 10:20:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_iu_attach_geran_rau In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 ) Change subject: sgsn: add TC_iu_attach_geran_rau ...................................................................... sgsn: add TC_iu_attach_geran_rau MS <-> SGSN: Attach over Iu MS <-> SGSN: Routing Area Update over Geran The tess case will crash the SGSN and is not included in the default run. Change-Id: Ie043639638a640a2041324fc910964385a41c77d --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 2f077d8..c0a6729 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -36,10 +36,33 @@ f_cleanup(); } +private function f_TC_iu_attach_geran_rau(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + + /* do a routing area update */ + f_routing_area_update(g_pars.ra); +} + +testcase TC_iu_attach_geran_rau() runs on test_CT { + /* MS <-> SGSN: Successful Attach over Iu + * MS <-> SGSN: Routing Area Update over Geran + */ + var BSSGP_ConnHdlr vc_conn; + g_ranap_enable := true; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_iu_attach_geran_rau), testcasename(), g_gb, 1002); + vc_conn.done; + f_cleanup(); +} control { execute( TC_iu_attach() ); + /* FIXME: will crash the sgsn + * execute( TC_iu_attach_geran_rau() ); */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie043639638a640a2041324fc910964385a41c77d Gerrit-Change-Number: 15163 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 10:44:59 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 10:44:59 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_pdp_ctx_terminate: check llme before accessing In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 ) Change subject: sgsn_pdp_ctx_terminate: check llme before accessing ...................................................................... sgsn_pdp_ctx_terminate: check llme before accessing Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d --- M src/sgsn/gprs_sgsn.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 189f7bb..465a5fa 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -459,7 +459,8 @@ if (pdp->mm->ran_type == MM_CTX_T_GERAN_Gb) { /* Force the deactivation of the SNDCP layer */ - sndcp_sm_deactivate_ind(&pdp->mm->gb.llme->lle[pdp->sapi], pdp->nsapi); + if (pdp->mm->gb.llme) + sndcp_sm_deactivate_ind(&pdp->mm->gb.llme->lle[pdp->sapi], pdp->nsapi); } memset(&sig_data, 0, sizeof(sig_data)); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d Gerrit-Change-Number: 15467 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:04:04 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:04:04 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... Patch Set 1: In general, I think we would do good in dissolving iu_client from osmo-iuh.git and absorbing it to osmo-sgsn, since osmo-msc is no longer using it at all. It would probably make things easier in general by removing one layer of API abstraction. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 12:04:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:23:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:23:47 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... Patch Set 1: Code-Review+1 (3 comments) It works and the code looks sane; but after refactoring these things in osmo-msc, I would prefer to have an FSM instance instead of "manual timers". FSMs are for me the shiny new and better way to manage timeouts and async events, and setting up timers is more like the old and weird way. If it were me, I would sooner or later adopt similar FSM layering as in osmo-msc, like sccp_ran (SCCP conn state), ran_peer (hnb/PCU peer state), and a subscriber FSM (msc_i/msc_a transposed to the SGSN land). Whichever layer needs to wait for a release can then just stick around until the message came in or a timeout has passed. I accept that it would be more work than tweaking the current code base, but I expect it to pay off in the long run. That would be my recommendation, but I leave it up to you. https://gerrit.osmocom.org/#/c/15473/1/include/osmocom/ranap/iu_client.h File include/osmocom/ranap/iu_client.h: https://gerrit.osmocom.org/#/c/15473/1/include/osmocom/ranap/iu_client.h at 81 PS1, Line 81: int timeout); indent off-by-one https://gerrit.osmocom.org/#/c/15473/1/src/iu_client.c File src/iu_client.c: https://gerrit.osmocom.org/#/c/15473/1/src/iu_client.c at 134 PS1, Line 134: ctx); indent off-by-one https://gerrit.osmocom.org/#/c/15473/1/src/iu_client.c at 500 PS1, Line 500: int timeout) indent -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 12:23:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:24:34 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:24:34 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 12:24:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:26:21 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:26:21 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 1: > I think this patch changes ABI, so it needs a record in TODO-RELEASE Would it be an option to completely remove iu_client, API compat wise? Or even if neither osmo-msc nor osmo-sgsn were using it anymore, would it still stick around for eternity? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 12:26:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:29:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:29:01 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15474/1/include/osmocom/ranap/iu_client.h File include/osmocom/ranap/iu_client.h: https://gerrit.osmocom.org/#/c/15474/1/include/osmocom/ranap/iu_client.h at 34 PS1, Line 34: /* if true the ue_ctx will be free on Iu release complete */ "will be freed"? -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 12:29:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:29:48 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:29:48 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 11 Sep 2019 12:29:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:43:39 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:43:39 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h at 43 PS3, Line 43: struct gprs_rlcmac_ms { : bool app_info_send; : }; > > why an extra struct around a single member? [?] Quick break down of the possibilities; I have no strong opinion on which one it *should* be, but here are the alternatives: Using just a bool: The simplest C way would be to add bool app_info_send as a public member field, so anyone can read and write directly, which is how we do it in pretty much every other osmocom code base. The next simpler way would be to return a bool* in ms_data(), but I'd prefer getter/setter. But if there will be more members in ms_data in the future, a struct is indeed a good choice. Using a struct: The simplest C way would be to have m_ms_data as a public compound member like: class GprsMs { public: struct { bool app_info_send; } m_ms_data; }; The way this patch currently does it would be the choice if other code would re-use this struct (e.g. to store/pass-around all ms_data members in one, which seems a bit weird if there is only one member). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 12:43:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 12:46:03 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Sep 2019 12:46:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... Patch Set 1: could you add some info on whether this will break the current test suite until fix X is merged, or whether this fixes the current tests...? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 12:46:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 13:43:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 13:43:08 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#5). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 15 files changed, 410 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 13:44:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Sep 2019 13:44:15 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h File src/gprs_ms.h: https://gerrit.osmocom.org/#/c/15459/3/src/gprs_ms.h at 43 PS3, Line 43: struct gprs_rlcmac_ms { : bool app_info_send; : }; Thanks for the overview of alternatives! I've updated it to behave like that: > The simplest C way would be to add bool app_info_send as a public member field, so anyone can read and write directly, which is how we do it in pretty much every other osmocom code base. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 13:44:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 15:06:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Sep 2019 15:06:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in P... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 Change subject: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data" ...................................................................... Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data" This reverts commit dd6d5d1baa62dc9d50fa90ef01fccb8a10284d53. The PADDING seems to be a very experimental feature of TITAN. It works very well for decoding of messages, so the padding bytes are getting recognized as expected, but encoding is broken. Not only the data buffer and its length are encoded in a wrong way, but other fields too. Change-Id: Ieefa61232eb215a19a02e490255332e28e23b8f8 --- M library/PCUIF_Types.ttcn 1 file changed, 2 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/15488/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 721eb64..27d9b92 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -77,15 +77,10 @@ PCUIF_Text text } with { variant "" }; -/* This is a bad side of the current protocol design: fixed-size buffer is located - * in between the other fields of the message, so if the payload is smaller than - * 162 octets (1296 bits), we need to fill the remaining space with padding. */ -type octetstring PCUIF_DataPad with { variant "ALIGN(left), PADDING(1296)" }; - type record PCUIF_data { PCUIF_Sapi sapi, uint8_t len, - PCUIF_DataPad data, + octetstring data length(162), uint32_t fn, uint16_t arfcn, uint8_t trx_nr, @@ -95,7 +90,7 @@ uint16_t ber10k, int16_t ta_offs_qbits, int16_t lqual_cb -} with { variant (len) "LENGTHTO(data)" }; +} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" }; type record PCUIF_data_cnf_dt { PCUIF_Sapi sapi, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieefa61232eb215a19a02e490255332e28e23b8f8 Gerrit-Change-Number: 15488 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 15:08:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Sep 2019 15:08:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in P... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 ) Change subject: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieefa61232eb215a19a02e490255332e28e23b8f8 Gerrit-Change-Number: 15488 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 11 Sep 2019 15:08:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 15:08:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 11 Sep 2019 15:08:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in P... In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 ) Change subject: Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data" ...................................................................... Revert "library/PCUIF_Types.ttcn: inform RAW codec about PADDING in PCUIF_data" This reverts commit dd6d5d1baa62dc9d50fa90ef01fccb8a10284d53. The PADDING seems to be a very experimental feature of TITAN. It works very well for decoding of messages, so the padding bytes are getting recognized as expected, but encoding is broken. Not only the data buffer and its length are encoded in a wrong way, but other fields too. Change-Id: Ieefa61232eb215a19a02e490255332e28e23b8f8 --- M library/PCUIF_Types.ttcn 1 file changed, 2 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 721eb64..27d9b92 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -77,15 +77,10 @@ PCUIF_Text text } with { variant "" }; -/* This is a bad side of the current protocol design: fixed-size buffer is located - * in between the other fields of the message, so if the payload is smaller than - * 162 octets (1296 bits), we need to fill the remaining space with padding. */ -type octetstring PCUIF_DataPad with { variant "ALIGN(left), PADDING(1296)" }; - type record PCUIF_data { PCUIF_Sapi sapi, uint8_t len, - PCUIF_DataPad data, + octetstring data length(162), uint32_t fn, uint16_t arfcn, uint8_t trx_nr, @@ -95,7 +90,7 @@ uint16_t ber10k, int16_t ta_offs_qbits, int16_t lqual_cb -} with { variant (len) "LENGTHTO(data)" }; +} with { variant (data) "FIELDLENGTH(162), ALIGN(left)" }; type record PCUIF_data_cnf_dt { PCUIF_Sapi sapi, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieefa61232eb215a19a02e490255332e28e23b8f8 Gerrit-Change-Number: 15488 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 16:28:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Sep 2019 16:28:33 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/#/c/15459/5/src/gprs_rlcmac.cpp File src/gprs_rlcmac.cpp: https://gerrit.osmocom.org/#/c/15459/5/src/gprs_rlcmac.cpp at 55 PS5, Line 55: bv = bitvec_alloc(req->len + 1, tall_pcu_ctx); no check or ASSERT of bitvec_alloc() return value. Also, no need to actually allocate a bitvec dynamically. you can simply msgb_alloc and then have the bitvec point to data of the msgb? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 16:28:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Wed Sep 11 19:19:49 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 11 Sep 2019 19:19:49 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mas?= =?UTF-8?Q?ter-osmo-gmr_=C2=BB_a1=3Ddefault,a2=3D?= =?UTF-8?Q?default,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#2305?= Message-ID: <866446272.91.1568229589381.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 39.75 KB...] libtool: install: /usr/bin/install -c .libs/libosmocodec.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/gsm make[2]: Entering directory ' GEN gsm0503_conv.c Generating convolutional codes... Generate 'xcch' definition Generate 'rach' definition Generate 'rach_ext' definition Generate 'sch' definition Generate 'cs2' definition Generate 'cs3' definition Generate 'cs2_np' definition Generate 'cs3_np' definition Generate 'tch_afs_12_2' definition Generate 'tch_afs_10_2' definition Generate 'tch_afs_7_95' definition Generate 'tch_afs_7_4' definition Generate 'tch_afs_6_7' definition Generate 'tch_afs_5_9' definition Generate 'tch_afs_5_15' definition Generate 'tch_afs_4_75' definition Generate 'tch_fr' definition Generate 'tch_hr' definition Generate 'tch_ahs_7_95' definition Generate 'tch_ahs_7_4' definition Generate 'tch_ahs_6_7' definition Generate 'tch_ahs_5_9' definition Generate 'tch_ahs_5_15' definition Generate 'tch_ahs_4_75' definition Generate 'mcs1_dl_hdr' definition Generate 'mcs1_ul_hdr' definition Generate 'mcs1' definition Generate 'mcs2' definition Generate 'mcs3' definition Generate 'mcs4' definition Generate 'mcs5_dl_hdr' definition Generate 'mcs5_ul_hdr' definition Generate 'mcs5' definition Generate 'mcs6' definition Generate 'mcs7_dl_hdr' definition Generate 'mcs7_ul_hdr' definition Generate 'mcs7' definition Generate 'mcs8' definition Generate 'mcs9' definition Generation complete. make install-am make[3]: Entering directory ' CC a5.lo CC comp128.lo CC tlv_parser.lo CC comp128v23.lo CC rsl.lo CC gsm_utils.lo CC gsm48.lo CC rxlev_stat.lo gsm_utils.c:121:9: note: #pragma message: including GnuTLS for getrandom fallback. #pragma message ("including GnuTLS for getrandom fallback.") ^~~~~~~ gsm_utils.c: In function ?osmo_get_rand_id?: gsm_utils.c:459:9: note: #pragma message: Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25 #pragma message ("Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25") ^~~~~~~ CC gsm48_arfcn_range_encode.lo CC gsm48_ie.lo CC gsm0808.lo CC sysinfo.lo gsm48_ie.c: In function ?gsm48_decode_called?: gsm48_ie.c:411:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(called->number, sizeof(called->number), lv, 1); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c: In function ?gsm48_decode_callerid?: gsm48_ie.c:466:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(callerid->number, sizeof(callerid->number), lv, i); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ CC gprs_cipher_core.lo CC gsm0480.lo CC gprs_rlc.lo CC abis_nm.lo CC gsm0502.lo CC gsm0411_utils.lo CC gsm0411_smc.lo CC gsm0411_smr.lo CC gsm0414.lo CC lapd_core.lo CC lapdm.lo CC kasumi.lo CC gsm29205.lo CC gsm_04_08_gprs.lo CC auth_core.lo CC auth_comp128v1.lo CC auth_comp128v23.lo CC auth_milenage.lo CC gea.lo CC milenage/aes-internal.lo CC milenage/aes-internal-enc.lo CC milenage/milenage.lo CC gan.lo CC ipa.lo CC gsm0341.lo CC apn.lo CC gsup.lo ipa.c: In function ?ipa_ccm_idtag_parse?: ipa.c:104:2: warning: ?ipa_ccm_idtag_parse_off? is deprecated: Use ipa_ccm_id_{get,resp}_parse instead [-Wdeprecated-declarations] return ipa_ccm_idtag_parse_off(dec, buf, len, 1); ^~~~~~ In file included from ipa.c:45:0: ../../include/osmocom/gsm/ipa.h:31:5: note: declared here int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset) ^~~~~~~~~~~~~~~~~~~~~~~ CC gsup_sms.lo CC gprs_gea.lo CC gsm0503_conv.lo CC oap.lo CC gsm0808_utils.lo CC gsm23003.lo CC mncc.lo CC bts_features.lo CC oap_client.lo CC gsm29118.lo CC gsm48_rest_octets.lo CC cbsp.lo CC gsm48049.lo CC milenage/aes-encblock.lo CCLD libgsmint.la ar: `u' modifier ignored since `D' is the default (see `U') CCLD libosmogsm.la make[4]: Entering directory ' make[4]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmogsm.la ' libtool: warning: relinking 'libosmogsm.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -Wl,--version-script=./libosmogsm.map -version-info 13:0:0 -no-undefined -o libosmogsm.la -rpath libgsmint.la -ltalloc -lgnutls ) libtool: install: /usr/bin/install -c .libs/libosmogsm.so.13.0.0T libtool: install: (cd && { ln -s -f libosmogsm.so.13.0.0 libosmogsm.so.13 || { rm -f libosmogsm.so.13 && ln -s libosmogsm.so.13.0.0 libosmogsm.so.13; }; }) libtool: install: (cd && { ln -s -f libosmogsm.so.13.0.0 libosmogsm.so || { rm -f libosmogsm.so && ln -s libosmogsm.so.13.0.0 libosmogsm.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmogsm.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/coding make[2]: Entering directory ' CC gsm0503_interleaving.lo CC gsm0503_mapping.lo CC gsm0503_tables.lo CC gsm0503_parity.lo CC gsm0503_coding.lo CCLD libosmocoding.la make[3]: Entering directory ' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmocoding.la ' libtool: warning: relinking 'libosmocoding.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -Wl,--version-script=./libosmocoding.map -version-info 1:1:1 -no-undefined -ltalloc -o libosmocoding.la -rpath gsm0503_interleaving.lo gsm0503_mapping.lo gsm0503_tables.lo gsm0503_parity.lo gsm0503_coding.lo ../libosmocore.la ../gsm/libosmogsm.la ../codec/libosmocodec.la ) libtool: install: /usr/bin/install -c .libs/libosmocoding.so.0.1.1T libtool: install: (cd && { ln -s -f libosmocoding.so.0.1.1 libosmocoding.so.0 || { rm -f libosmocoding.so.0 && ln -s libosmocoding.so.0.1.1 libosmocoding.so.0; }; }) libtool: install: (cd && { ln -s -f libosmocoding.so.0.1.1 libosmocoding.so || { rm -f libosmocoding.so && ln -s libosmocoding.so.0.1.1 libosmocoding.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmocoding.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/gb make[2]: Entering directory ' CC gprs_ns.lo CC gprs_ns_frgre.lo CC gprs_ns_vty.lo CC gprs_ns_sns.lo CC gprs_bssgp.lo CC gprs_bssgp_vty.lo CC gprs_bssgp_util.lo CC gprs_bssgp_bss.lo /bin/bash: line 2: 7832 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DBUILDING_LIBOSMOCORE -Wall -Wall -fno-strict-aliasing -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT gprs_ns_vty.lo -MD -MP -MF $depbase.Tpo -c -o gprs_ns_vty.lo gprs_ns_vty.c Makefile:500: recipe for target 'gprs_ns_vty.lo' failed make[2]: *** [gprs_ns_vty.lo] Error 139 make[2]: *** Waiting for unfinished jobs.... /bin/bash: line 2: 7833 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DBUILDING_LIBOSMOCORE -Wall -Wall -fno-strict-aliasing -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT gprs_ns_sns.lo -MD -MP -MF $depbase.Tpo -c -o gprs_ns_sns.lo gprs_ns_sns.c Makefile:500: recipe for target 'gprs_ns_sns.lo' failed make[2]: *** [gprs_ns_sns.lo] Error 139 make[2]: Leaving directory ' Makefile:627: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:926: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Wed Sep 11 21:23:59 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Wed, 11 Sep 2019 21:23:59 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-osmo-gmr_=C2=BB_a1=3Ddefault?= =?UTF-8?Q?,a2=3Ddefault,a3=3Ddefault,a4=3Ddefau?= =?UTF-8?Q?lt,osmocom-master-debian9_#2306?= In-Reply-To: <866446272.91.1568229589381.JavaMail.jenkins@jenkins.osmocom.org> References: <866446272.91.1568229589381.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <2031836467.92.1568237039663.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:26:09 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:26:09 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 to look at the new patch set (#2). Change subject: tbf_dl: add comments to the scheduler ...................................................................... tbf_dl: add comments to the scheduler Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 --- M src/tbf_dl.cpp 1 file changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/66/15466/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:26:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:26:16 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15466 ) Change subject: tbf_dl: add comments to the scheduler ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 362 PS1, Line 362: /* search for an nacked or resend marked bsn */ > a nacked Done https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 416 PS1, Line 416: /* Is the TBF is in finished, we already sent all packages at least once. > If the Done https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 417 PS1, Line 417: * If any packages could have been send (because of unacked) it should have > sent Done https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 427 PS1, Line 427: * Restart the bsn_cycle to resent all unacked messages */ > resend Done https://gerrit.osmocom.org/#/c/15466/1/src/tbf_dl.cpp at 445 PS1, Line 445: * Mark unacked bsns as resend */ > not sure if it's resend or resent here (depending on what you actually mean). RESEND is a state -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 11 Sep 2019 23:26:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:28:02 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:28:02 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 23:28:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:28:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:28:10 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... Patch Set 1: 1+1 = 2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 11 Sep 2019 23:28:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:28:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:28:30 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce a guard around global_iu_event_cb In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15471 ) Change subject: iu_client: introduce a guard around global_iu_event_cb ...................................................................... iu_client: introduce a guard around global_iu_event_cb As preparation to enable and disable notifications for a specific ue connection, add a slim proxy before calling global_iu_event_cb Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b --- M src/iu_client.c 1 file changed, 14 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve neels: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/src/iu_client.c b/src/iu_client.c index 7a0a78e..ec5290f 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -109,6 +109,16 @@ { 0, NULL } }; +static int global_iu_event(struct ranap_ue_conn_ctx *ue_ctx, + enum ranap_iu_event_type type, + void *data) +{ + if (!global_iu_event_cb) + return 0; + + return global_iu_event_cb(ue_ctx, type, data); +} + static struct ranap_ue_conn_ctx *ue_conn_ctx_alloc(struct ranap_iu_rnc *rnc, uint32_t conn_id) { struct ranap_ue_conn_ctx *ctx = talloc_zero(talloc_iu_ctx, struct ranap_ue_conn_ctx); @@ -501,7 +511,7 @@ return rc; } - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_RAB_ASSIGN, &setup_ies); + rc = global_iu_event(ctx, RANAP_IU_EVENT_RAB_ASSIGN, &setup_ies); ranap_free_rab_setupormodifieditemies(&setup_ies); } @@ -567,11 +577,11 @@ switch (message->procedureCode) { case RANAP_ProcedureCode_id_SecurityModeControl: /* Security Mode Complete */ - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_SECURITY_MODE_COMPLETE, NULL); + rc = global_iu_event(ctx, RANAP_IU_EVENT_SECURITY_MODE_COMPLETE, NULL); break; case RANAP_ProcedureCode_id_Iu_Release: /* Iu Release Complete */ - rc = global_iu_event_cb(ctx, RANAP_IU_EVENT_IU_RELEASE, NULL); + rc = global_iu_event(ctx, RANAP_IU_EVENT_IU_RELEASE, NULL); if (rc) { LOGPIU(LOGL_ERROR, "Iu Release event: Iu Event callback returned %d\n", rc); @@ -818,7 +828,7 @@ if (!ue) break; - global_iu_event_cb(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); + global_iu_event(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I49a3402a871d6dccd343cda49f8a7f82bffe150b Gerrit-Change-Number: 15471 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:37:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:37:07 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 to look at the new patch set (#2). Change subject: iu_client: allow to control the notifications ...................................................................... iu_client: allow to control the notifications The iu_client is informing the library user about global event. In prepration to the tx_iu_release_free() call allow to disable upstream notificatiosn Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/72/15472/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:37:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:37:07 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 to look at the new patch set (#2). Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... iu_client: introduce ranap_iu_tx_release_free() ranap_iu_tx_release_free is a fire and forget function to release gracefully if possible. It first sends a Iu Release Command. After a certain timeout the connection will be release. Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/73/15473/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:37:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:37:07 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 to look at the new patch set (#2). Change subject: iu_client: introduce UE field free_on_release ...................................................................... iu_client: introduce UE field free_on_release Allow to free UE ctx when receiving a Iu Release Complete. In preparation of ranap_iu_tx_release_free() it requires a field to free the Iu ctx on it's own without depending on the upstream user. Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/74/15474/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:43:20 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:43:20 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 to look at the new patch set (#2). Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... gprs_ranap: on Iu release, stop the attach fsm if running A Iu release stops any active procedure. Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee --- M src/sgsn/gprs_ranap.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15485/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 11 23:43:20 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 11 Sep 2019 23:43:20 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 to look at the new patch set (#2). Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In IDLE there is not further context with the MS. Prevents the Timer from sending packages to a MS which can not respond Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/15486/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:35:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 00:35:44 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15474/2/include/osmocom/ranap/iu_client.h File include/osmocom/ranap/iu_client.h: https://gerrit.osmocom.org/#/c/15474/2/include/osmocom/ranap/iu_client.h at 35 PS2, Line 35: bool free_on_release; Since you're adding a new field to a structure that is a part of the public API, maybe is's safer to place it in the end, not in the middle? Otherwise, I guess, the binaries linked against the old version of this library may still access 'osmo_timer_list' at this offset... -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 00:35:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 00:43:03 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: send CommonId after receiving Security Mode Complete In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 ) Change subject: gprs_ranap: send CommonId after receiving Security Mode Complete ...................................................................... gprs_ranap: send CommonId after receiving Security Mode Complete After Security Mode Complete, the sender has been authenticated. Send a CommonId to enable paging coordination between CS and PS. Change-Id: If195c26e87ba3054e159746671babf93a12e7013 --- M src/sgsn/gprs_ranap.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 27b9641..cad8487 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -147,6 +147,7 @@ REQUIRE_MM /* Continue authentication here */ mm->iu.ue_ctx->integrity_active = 1; + ranap_iu_tx_common_id(mm->iu.ue_ctx, mm->imsi); /* FIXME: remove gmm_authorize */ if (mm->pending_req != GSM48_MT_GMM_ATTACH_REQ) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If195c26e87ba3054e159746671babf93a12e7013 Gerrit-Change-Number: 15484 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:45:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 00:45:10 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Fixes: CID#204005 (CID#204007), CID#204006 (CID#204004) --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/15489/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 45fc701..6107d2f 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1272,6 +1272,11 @@ /* If there is an ECU active on this channel, use its output */ if (lchan->ecu_state) { rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); + if (rc < 0) { + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "ECU failed to encode a frame (rc=%d)\n", rc); + return rc; + } goto compose_l1sap; } @@ -1485,6 +1490,11 @@ /* If there is an ECU active on this channel, use its output */ if (lchan->ecu_state) { rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); + if (rc < 0) { + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "ECU failed to encode a frame (rc=%d)\n", rc); + return rc; + } goto compose_l1sap; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:47:27 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 00:47:27 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15474/2/include/osmocom/ranap/iu_client.h File include/osmocom/ranap/iu_client.h: https://gerrit.osmocom.org/#/c/15474/2/include/osmocom/ranap/iu_client.h at 35 PS2, Line 35: bool free_on_release; > Since you're adding a new field to a structure that is a part of the public API, maybe is's safer to [?] i can move it. but both notification and release_timeout are in this commit change. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 00:47:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 00:58:06 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15490 Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument It's always set to OSMO_TERM_ERROR. Move the assignment to the caller. In prepartion to use gmm_cause_to_fsm_and_mm_cause() in vlr_auth_fsm. Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 --- M src/libvlr/vlr.c 1 file changed, 10 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/90/15490/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index ea160b1..aafe7f6 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -917,12 +917,14 @@ return 0; } -static void gmm_cause_to_fsm_and_mm_cause(enum gsm48_gmm_cause gmm_cause, - enum osmo_fsm_term_cause *fsm_cause_p, - enum gsm48_reject_value *gsm48_rej_p) +static void gmm_cause_to_mm_cause(enum gsm48_gmm_cause gmm_cause, + enum gsm48_reject_value *gsm48_rej_p) { - enum osmo_fsm_term_cause fsm_cause = OSMO_FSM_TERM_ERROR; enum gsm48_reject_value gsm48_rej = GSM48_REJECT_NETWORK_FAILURE; + + if (!gsm48_rej_p) + return; + switch (gmm_cause) { case GMM_CAUSE_IMSI_UNKNOWN: gsm48_rej = GSM48_REJECT_IMSI_UNKNOWN_IN_HLR; @@ -1004,16 +1006,8 @@ gsm48_rej = GSM48_REJECT_NETWORK_FAILURE; break; } - switch (gmm_cause) { - /* refine any error causes here? */ - default: - fsm_cause = OSMO_FSM_TERM_ERROR; - break; - } - if (fsm_cause_p) - *fsm_cause_p = fsm_cause; - if (gsm48_rej_p) - *gsm48_rej_p = gsm48_rej; + + *gsm48_rej_p = gsm48_rej; } /* Handle LOCATION CANCEL request from HLR */ @@ -1021,7 +1015,7 @@ const struct osmo_gsup_message *gsup_msg) { enum gsm48_reject_value gsm48_rej; - enum osmo_fsm_term_cause fsm_cause; + enum osmo_fsm_term_cause fsm_cause = OSMO_FSM_TERM_ERROR; struct osmo_gsup_message gsup_reply = {0}; int rc, is_update_procedure = !gsup_msg->cancel_type || gsup_msg->cancel_type == OSMO_GSUP_CANCEL_TYPE_UPDATE; @@ -1033,7 +1027,7 @@ gsup_reply.message_type = OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT; rc = vlr_subscr_tx_gsup_message(vsub, &gsup_reply); - gmm_cause_to_fsm_and_mm_cause(gsup_msg->cause, &fsm_cause, &gsm48_rej); + gmm_cause_to_mm_cause(gsup_msg->cause, &gsm48_rej); vlr_subscr_cancel_attach_fsm(vsub, fsm_cause, gsm48_rej); vlr_subscr_rx_imsi_detach(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:58:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 00:58:07 +0000 Subject: Change in ...osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15491 Change subject: make vlr_gmm_cause_to_mm_cause public ...................................................................... make vlr_gmm_cause_to_mm_cause public To be used by vlr_auth_fsm Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 --- M include/osmocom/msc/vlr.h M src/libvlr/vlr.c 2 files changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/91/15491/1 diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 56314b7..52912eb 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -473,3 +473,6 @@ void log_set_filter_vlr_subscr(struct log_target *target, struct vlr_subscr *vlr_subscr); + +void vlr_gmm_cause_to_mm_cause(enum gsm48_gmm_cause gmm_cause, + enum gsm48_reject_value *gsm48_rej_p); diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index aafe7f6..dd3c3cb 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -917,8 +917,8 @@ return 0; } -static void gmm_cause_to_mm_cause(enum gsm48_gmm_cause gmm_cause, - enum gsm48_reject_value *gsm48_rej_p) +void vlr_gmm_cause_to_mm_cause(enum gsm48_gmm_cause gmm_cause, + enum gsm48_reject_value *gsm48_rej_p) { enum gsm48_reject_value gsm48_rej = GSM48_REJECT_NETWORK_FAILURE; @@ -1027,7 +1027,7 @@ gsup_reply.message_type = OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT; rc = vlr_subscr_tx_gsup_message(vsub, &gsup_reply); - gmm_cause_to_mm_cause(gsup_msg->cause, &gsm48_rej); + vlr_gmm_cause_to_mm_cause(gsup_msg->cause, &gsm48_rej); vlr_subscr_cancel_attach_fsm(vsub, fsm_cause, gsm48_rej); vlr_subscr_rx_imsi_detach(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 Gerrit-Change-Number: 15491 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 00:58:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 00:58:07 +0000 Subject: Change in ...osmo-msc[master]: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15492 Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code ...................................................................... vlr_auth_fsm: on SAI use the GSUP provided GMM cause code The HLR might respond with a specific GMM cause code. E.g. roaming not allowed which needs to be passed down the layers. Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a --- M src/libvlr/vlr_auth_fsm.c 1 file changed, 11 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/92/15492/1 diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c index 6026510..d66d1f3 100644 --- a/src/libvlr/vlr_auth_fsm.c +++ b/src/libvlr/vlr_auth_fsm.c @@ -331,6 +331,7 @@ struct auth_fsm_priv *afp = fi->priv; struct vlr_subscr *vsub = afp->vsub; struct osmo_gsup_message *gsup = data; + enum gsm48_reject_value gsm48_rej; if (event == VLR_AUTH_E_HLR_SAI_NACK) LOGPFSM(fi, "GSUP: rx Auth Info Error cause: %d: %s\n", @@ -340,9 +341,9 @@ /* We are in what corresponds to the * Wait_For_Authentication_Sets state of TS 23.018 OAS_VLR */ if ((event == VLR_AUTH_E_HLR_SAI_ACK && !gsup->num_auth_vectors) - || (event == VLR_AUTH_E_HLR_SAI_NACK && - gsup->cause != GMM_CAUSE_IMSI_UNKNOWN) - || (event == VLR_AUTH_E_HLR_SAI_ABORT)) { + || (event == VLR_AUTH_E_HLR_SAI_NACK && + gsup->cause != GMM_CAUSE_IMSI_UNKNOWN) + || (event == VLR_AUTH_E_HLR_SAI_ABORT)) { if (vsub->vlr->cfg.auth_reuse_old_sets_on_error && vlr_subscr_has_auth_tuple(vsub, -1)) { /* To re-use an old tuple, disable the max_reuse_count @@ -350,21 +351,21 @@ afp->auth_tuple_max_reuse_count = -1; goto pass; } - /* result = procedure error */ - auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE); - return; } switch (event) { case VLR_AUTH_E_HLR_SAI_ACK: + if (!gsup->num_auth_vectors) { + auth_fsm_term(fi, GSM48_REJECT_NETWORK_FAILURE); + return; + } vlr_subscr_update_tuples(vsub, gsup); goto pass; break; case VLR_AUTH_E_HLR_SAI_NACK: - auth_fsm_term(fi, - gsup->cause == GMM_CAUSE_IMSI_UNKNOWN? - GSM48_REJECT_IMSI_UNKNOWN_IN_HLR - : GSM48_REJECT_NETWORK_FAILURE); + case VLR_AUTH_E_HLR_SAI_ABORT: + vlr_gmm_cause_to_mm_cause(gsup->cause, &gsm48_rej); + auth_fsm_term(fi, gsm48_rej); break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a Gerrit-Change-Number: 15492 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 01:43:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 01:43:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: add f_tc_lu_and_mt_sms_paging_repeated Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 Change subject: msc: add f_tc_lu_and_mt_sms_paging_repeated ...................................................................... msc: add f_tc_lu_and_mt_sms_paging_repeated The testcase will ensure paging is repeated by the MSC. Repeating will improve the reachability of MS when a Paging is lost or not received because the MS is moving between states. Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 --- M msc/MSC_Tests.ttcn M msc/MSC_Tests_Iu.ttcn 2 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/93/15493/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7499456..d39efd0 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2060,6 +2060,48 @@ vc_conn.done; } +/* LU followed by MT SMS with repeated paging */ +friend function f_tc_lu_and_mt_sms_paging_repeated(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + var SmsParameters spars := valueof(t_SmsPars); + var OCT4 tmsi; + + f_init_handler(pars); + + /* Perform location update and call */ + f_perform_lu(); + + /* register an 'expect' for given IMSI (+TMSI) */ + if (isvalue(g_pars.tmsi)) { + tmsi := g_pars.tmsi; + } else { + tmsi := 'FFFFFFFF'O; + } + f_ran_register_imsi(g_pars.imsi, tmsi); + + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + /* Establish DTAP / BSSAP / SCCP connection */ + f_establish_fully(EST_TYPE_PAG_RESP); + + spars.tp.ud := 'C8329BFD064D9B53'O; + f_mt_sms(spars); + + f_expect_clear(); +} +testcase TC_lu_and_mt_sms_paging_repeated() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(); + pars := f_init_pars(1844); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars); + vc_conn.done; +} /* mobile originated SMS from MS/BTS/BSC side to SMPP */ friend function f_tc_smpp_mo_sms(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5827,6 +5869,7 @@ execute( TC_lu_and_mo_sms() ); execute( TC_lu_and_mt_sms() ); execute( TC_lu_and_mt_sms_paging_and_nothing() ); + execute( TC_lu_and_mt_sms_paging_repeated() ); execute( TC_smpp_mo_sms() ); execute( TC_smpp_mt_sms() ); diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index 6491e27..628fbcd 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -274,6 +274,15 @@ vc_conn.done; } +testcase TC_iu_lu_and_mt_sms_paging_repeated() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(3); + pars := f_init_pars(101844); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars); + vc_conn.done; +} + testcase TC_iu_smpp_mo_sms() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(3); @@ -432,6 +441,7 @@ execute( TC_iu_lu_and_mo_sms() ); execute( TC_iu_lu_and_mt_sms() ); execute( TC_iu_lu_and_mt_sms_paging_and_nothing() ); + execute( TC_iu_lu_and_mt_sms_paging_repeated() ); execute( TC_iu_smpp_mo_sms() ); execute( TC_iu_gsup_mo_sms() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 Gerrit-Change-Number: 15493 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 01:53:52 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 01:53:52 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15494 Change subject: Introduce multiple paging attempts ...................................................................... Introduce multiple paging attempts Some MS/UE might not be reachable on the first attempt. E.g. when the MS/UE is moving between channels it might not respond to paging. Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/paging.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/libmsc/paging.c 5 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/15494/1 diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 11b6e82..faabb88 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -124,6 +124,7 @@ }; #define MSC_PAGING_RESPONSE_TIMER_DEFAULT 10 +#define MSC_PAGING_ATTEMPTS 3 struct gsm_tz { int override; /* if 0, use system's time zone instead. */ @@ -171,6 +172,8 @@ struct llist_head trans_list; unsigned int paging_response_timer; + /* how often a paging should be attempted */ + unsigned int paging_attempts; /* Radio Resource Location Protocol (TS 04.31) */ struct { diff --git a/include/osmocom/msc/paging.h b/include/osmocom/msc/paging.h index 4de679d..bbe455c 100644 --- a/include/osmocom/msc/paging.h +++ b/include/osmocom/msc/paging.h @@ -35,6 +35,7 @@ /* the callback data */ paging_cb_t paging_cb; struct gsm_trans *trans; + int attempts; }; struct paging_request *paging_request_start(struct vlr_subscr *vsub, enum paging_cause cause, diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index 91b6165..4ab974c 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -58,6 +58,7 @@ net->ncss_guard_timeout = 30; net->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT; + net->paging_attempts = MSC_PAGING_RESPONSE_TIMER_DEFAULT; INIT_LLIST_HEAD(&net->trans_list); INIT_LLIST_HEAD(&net->upqueue); diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 09aef91..6db2bb1 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -564,6 +564,21 @@ return CMD_SUCCESS; } +DEFUN(cfg_msc_paging_attempts, cfg_msc_paging_attempts_cmd, + "paging attempts (default|<1-10>)", + "Configure Paging\n" + "Set Paging attempts, how often the paging should be attempted before giving up" + " BSS or RNC\n" + "Set to default attempts (" OSMO_STRINGIFY_VAL(MSC_PAGING_ATTEMPTS) " seconds)\n" + "Set paging attempts\n") +{ + if (!strcmp(argv[1], "default")) + gsmnet->paging_attempts = MSC_PAGING_ATTEMPTS; + else + gsmnet->paging_attempts = atoi(argv[0]); + return CMD_SUCCESS; +} + DEFUN(cfg_msc_emergency_msisdn, cfg_msc_emergency_msisdn_cmd, "emergency-call route-to-msisdn MSISDN", "Configure Emergency Call Behaviour\n" @@ -691,6 +706,9 @@ if (gsmnet->paging_response_timer != MSC_PAGING_RESPONSE_TIMER_DEFAULT) vty_out(vty, " paging response-timer %u%s", gsmnet->paging_response_timer, VTY_NEWLINE); + if (gsmnet->paging_attempts != MSC_PAGING_ATTEMPTS) + vty_out(vty, " paging attempts %u%s", gsmnet->paging_attempts, VTY_NEWLINE); + if (gsmnet->emergency.route_to_msisdn) { vty_out(vty, " emergency-call route-to-msisdn %s%s", gsmnet->emergency.route_to_msisdn, VTY_NEWLINE); @@ -1990,6 +2008,7 @@ install_element(MSC_NODE, &cfg_msc_cs7_instance_a_cmd); install_element(MSC_NODE, &cfg_msc_cs7_instance_iu_cmd); install_element(MSC_NODE, &cfg_msc_paging_response_timer_cmd); + install_element(MSC_NODE, &cfg_msc_paging_attempts_cmd); install_element(MSC_NODE, &cfg_msc_emergency_msisdn_cmd); install_element(MSC_NODE, &cfg_msc_sms_over_gsup_cmd); install_element(MSC_NODE, &cfg_msc_no_sms_over_gsup_cmd); diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 182b036..15481ff 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -89,6 +89,7 @@ .cause = cause, .paging_cb = paging_cb, .trans = trans, + .attempts = 0, }; if (vsub->cs.is_paging) { @@ -130,6 +131,7 @@ static void paging_concludes(struct vlr_subscr *vsub, struct msc_a *msc_a) { + struct gsm_network *net = vsub->vlr->user_ctx; struct paging_request *pr, *pr_next; struct paging_signal_data sig_data; @@ -138,10 +140,21 @@ llist_for_each_entry_safe(pr, pr_next, &vsub->cs.requests, entry) { struct gsm_trans *trans = pr->trans; paging_cb_t paging_cb = pr->paging_cb; + const char *retry_str = ""; - LOG_PAGING(vsub, pr, LOGL_DEBUG, "Paging Response action (%s)%s\n", + pr->attempts++; + if (!msc_a && pr->attempts < net->paging_attempts) + retry_str = "(retrying)"; + + LOG_PAGING(vsub, pr, LOGL_DEBUG, "Paging Response action (%s)%s%s\n", msc_a ? "success" : "expired", - paging_cb ? "" : " (no action defined)"); + paging_cb ? "" : " (no action defined)", + retry_str); + + if (!msc_a && pr->attempts < net->paging_attempts) { + msc_paging_request(pr, vsub); + continue; + } /* Remove the paging request before the paging_cb could deallocate e.g. the trans */ paging_request_remove(pr); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 01:54:12 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 01:54:12 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15494 ) Change subject: Introduce multiple paging attempts ...................................................................... Patch Set 1: Needs testing. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 12 Sep 2019 01:54:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 03:24:49 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 03:24:49 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15469 ) Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15469/1/contrib/remsim-apitool.py File contrib/remsim-apitool.py: https://gerrit.osmocom.org/#/c/15469/1/contrib/remsim-apitool.py at a72 PS1, Line 72: how about add a type=int here? It would also force it's an integert. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 12 Sep 2019 03:24:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 07:59:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Sep 2019 07:59:09 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#6). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 15 files changed, 406 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 08:00:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Sep 2019 08:00:24 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/15459/5/src/gprs_rlcmac.cpp File src/gprs_rlcmac.cpp: https://gerrit.osmocom.org/#/c/15459/5/src/gprs_rlcmac.cpp at 55 PS5, Line 55: bv = bitvec_alloc(req->len + 1, tall_pcu_ctx); > you can simply msgb_alloc and then have the bitvec point to data of the msgb? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Sep 2019 08:00:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 08:23:45 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 08:23:45 +0000 Subject: Change in ...pysim[master]: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15431 ) Change subject: pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files ...................................................................... pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files When reading CSV files we currently have no option to provide a pin_adm_hex field like we already have it as commandline option. Lets add an option pin_adm_hex for this. Change-Id: I53e8d666d26a06f580725a8443a335643d10192c --- M pySim-prog.py 1 file changed, 15 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 8abce0a..13e8bb5 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -485,6 +485,21 @@ pin_adm = ''.join(['%02x'%(ord(x)) for x in row['adm1']]) if pin_adm: row['pin_adm'] = rpad(pin_adm, 16) + + # If the CSV-File defines a pin_adm_hex field use this field to + # generate pin_adm from that. + pin_adm_hex = row.get('pin_adm_hex') + if pin_adm_hex: + if len(pin_adm_hex) == 16: + row['pin_adm'] = pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("pin_adm_hex needs to be hex encoded using this option") + else: + raise ValueError("pin_adm_hex needs to be exactly 16 digits (hex encoded)") + return row -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I53e8d666d26a06f580725a8443a335643d10192c Gerrit-Change-Number: 15431 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 08:40:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Sep 2019 08:40:46 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#7). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 15 files changed, 407 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 09:24:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 09:24:50 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: Hello daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15432 to look at the new patch set (#4). Change subject: Add support for automatic card handling ...................................................................... Add support for automatic card handling When using the batch mode of pySim-prog, the user has to insert/remove the cards from the cardreader manually. This is fine for small batches, but for high volume batches this method is not applicable. This patch adds support for the integration of an automatic card handler machine. The user can freely configure a custom commandline that is executed when a card should be inserted or moved to a good/bad collection bin. Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Related: SYS#4654 --- M contrib/jenkins.sh M pySim-prog.py A pySim/card_handler.py 3 files changed, 213 insertions(+), 77 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/15432/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 09:53:26 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 09:53:26 +0000 Subject: Change in ...pysim[master]: pySim-prog: check if CSV file exists Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15495 Change subject: pySim-prog: check if CSV file exists ...................................................................... pySim-prog: check if CSV file exists At the moment we do not chack if the CSV file exists at all. This may lead into a crash while programming the card. Lets check the CSV file before we start. Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Related: SYS#4654 --- M pySim-prog.py 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/15495/1 diff --git a/pySim-prog.py b/pySim-prog.py index 55634a5..a462489 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -708,6 +708,13 @@ # Create command layer scc = SimCardCommands(transport=sl) + # If we use a CSV file as data input, check if the CSV file exists. + print "Using CSV file as data input: " + str(opts.read_csv) + if opts.source == 'csv': + if not os.path.isfile(opts.read_csv): + print "CSV file not found!" + sys.exit(1) + # Batch mode init init_batch(opts) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Gerrit-Change-Number: 15495 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 10:55:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 10:55:55 +0000 Subject: Change in ...osmo-sgsn[master]: mm_gb_fsm: unassign the llme when entering MM_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 ) Change subject: mm_gb_fsm: unassign the llme when entering MM_IDLE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 Gerrit-Change-Number: 15479 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 10:55:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 10:57:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 10:57:34 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: refactor REQUIRE_MM define In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 ) Change subject: gprs_ranap: refactor REQUIRE_MM define ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f Gerrit-Change-Number: 15480 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 10:57:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 10:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 10:58:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 2: gprs_ranap.c: In function ?sgsn_ranap_iu_release_free?: gprs_ranap.c:182:2: error: implicit declaration of function ?ranap_iu_tx_release_free? [-Werror=implicit-function-declaration] ranap_iu_tx_release_free(ctx->iu.ue_ctx, ^ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 10:58:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:00:03 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 11:00:03 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15496 Change subject: cards: use string representation for MNC/MCC ...................................................................... cards: use string representation for MNC/MCC At the moment MNC and MCC are represented as integer numbers inside the parameter array while all other parameters are represented as strings. Lets use strings for MNC/MCC as well to simplify the parameter handling. We will also not loose the length information in case of leading zeros. Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a --- M pySim-prog.py M pySim/cards.py 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/96/15496/1 diff --git a/pySim-prog.py b/pySim-prog.py index a462489..57a24d4 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -432,7 +432,7 @@ if 'smsp' in params: s.append(" > SMSP : %(smsp)s") s.append(" > ICCID : %(iccid)s") - s.append(" > MCC/MNC : %(mcc)d/%(mnc)d") + s.append(" > MCC/MNC : %(mcc)s/%(mnc)s") s.append(" > IMSI : %(imsi)s") s.append(" > Ki : %(ki)s") s.append(" > OPC : %(opc)s") @@ -479,8 +479,8 @@ def read_params_csv(opts, imsi=None, iccid=None): row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: - row['mcc'] = int(row.get('mcc', row['imsi'][0:3])) - row['mnc'] = int(row.get('mnc', row['imsi'][3:5])) + row['mcc'] = row.get('mcc', row['imsi'][0:3]) + row['mnc'] = row.get('mnc', row['imsi'][3:5]) pin_adm = None # We need to escape the pin_adm we get from the csv if 'pin_adm' in row: diff --git a/pySim/cards.py b/pySim/cards.py index cda337a..ec001ab 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -90,7 +90,7 @@ # get size and write EF.OPLMNwAcT data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) size = len(data[0])/2 - hplmn = enc_plmn(mcc, mnc) + hplmn = enc_plmn(int(mcc), int(mnc)) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) return sw @@ -102,7 +102,7 @@ # get size and write EF.PLMNwAcT data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) size = len(data[0])/2 - hplmn = enc_plmn(mcc, mnc) + hplmn = enc_plmn(int(mcc), int(mnc)) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size/5-1)) return sw @@ -110,7 +110,7 @@ def update_plmnsel(self, mcc, mnc): data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) size = len(data[0])/2 - hplmn = enc_plmn(mcc, mnc) + hplmn = enc_plmn(int(mcc), int(mnc)) data, sw = self._scc.update_binary(EF['PLMNsel'], hplmn + 'ff' * (size-3)) return sw @@ -200,7 +200,7 @@ self._scc.select_file(['3f00', '7f4d']) # Home PLMN in PLMN_Sel format - hplmn = enc_plmn(p['mcc'], p['mnc']) + hplmn = enc_plmn(int(p['mcc']), int(p['mnc'])) # Operator name ( 3f00/7f4d/8f0c ) self._scc.update_record(self._files['name'][0], 2, @@ -244,7 +244,7 @@ r = self._scc.select_file(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) - hplmn = enc_plmn(p['mcc'], p['mnc']) + hplmn = enc_plmn(int(p['mcc']), int(p['mnc'])) self._scc.update_binary('6f30', hplmn + 'ff' * (tl-3)) def erase(self): @@ -330,7 +330,7 @@ r = self._scc.select_file(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) - hplmn = enc_plmn(p['mcc'], p['mnc']) + hplmn = enc_plmn(int(p['mcc']), int(p['mnc'])) self._scc.update_binary('6f30', hplmn + 'ff' * (tl-3)) # Get total number of entries and entry size @@ -405,7 +405,7 @@ # EF.HPLMN r = self._scc.select_file(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) - hplmn = enc_plmn(p['mcc'], p['mnc']) + hplmn = enc_plmn(int(p['mcc']), int(p['mnc'])) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) # EF.SPN (Service Provider Name) @@ -523,7 +523,7 @@ # get size and write EF.HPLMN r = self._scc.select_file(['6f30']) size = int(r[-1][4:8], 16) - hplmn = enc_plmn(p['mcc'], p['mnc']) + hplmn = enc_plmn(int(p['mcc']), int(p['mnc'])) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) # set COMP128 version 0 in proprietary file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:03:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:03:04 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c at 160 PS2, Line 160: #define TIMEOUT_RANAP_RELEASE_SEC 5 Looks like this define won't need to be here since timers will be handled in PMM State FSM in ./src/sgsn/gprs_mm_state_iu_fsm.{c,h} ? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:03:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 12 11:03:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 12 Sep 2019 11:03:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7a25f9a4d35_34c92b0009e1c600512ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 550s] ar: `u' modifier ignored since `D' is the default (see `U') [ 550s] libtool: link: ranlib .libs/libtransceiver_common.a [ 550s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 550s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 551s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 551s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 551s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 551s] collect2: error: ld returned 1 exit status [ 551s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 551s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 551s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 551s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 551s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 551s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 551s] make[1]: *** [Makefile:444: all] Error 2 [ 551s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 551s] dh_auto_build: make -j1 returned exit code 2 [ 551s] make: *** [debian/rules:6: build] Error 255 [ 551s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 551s] [ 551s] morla3 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 12 11:02:39 UTC 2019. [ 551s] [ 551s] ### VM INTERACTION START ### [ 554s] [ 531.105019] sysrq: SysRq : Power Off [ 554s] [ 531.146119] reboot: Power down [ 555s] ### VM INTERACTION END ### [ 555s] [ 555s] morla3 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 12 11:02:43 UTC 2019. [ 555s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 12 11:04:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 12 Sep 2019 11:04:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7a2654eeed7_34c92b0009e1c6005146a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 396s] ar: `u' modifier ignored since `D' is the default (see `U') [ 396s] libtool: link: ranlib .libs/libtransceiver_common.a [ 396s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 396s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 396s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 397s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 397s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 397s] collect2: error: ld returned 1 exit status [ 397s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 397s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 397s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 397s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 397s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 397s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 397s] make[1]: *** [Makefile:444: all] Error 2 [ 397s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 397s] dh_auto_build: make -j1 returned exit code 2 [ 397s] make: *** [debian/rules:6: build] Error 255 [ 397s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 397s] [ 397s] wildcard2 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Thu Sep 12 11:04:12 UTC 2019. [ 397s] [ 397s] ### VM INTERACTION START ### [ 400s] [ 371.849795] sysrq: SysRq : Power Off [ 400s] [ 371.862091] reboot: Power down [ 401s] ### VM INTERACTION END ### [ 401s] [ 401s] wildcard2 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Thu Sep 12 11:04:17 UTC 2019. [ 401s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:05:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:05:44 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 ) Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:05:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:09:20 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 11:09:20 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15497 Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... pySim-prog: use functions to derive MCC/MNC from IMSI In case the MCC/MNC are not supplied with a CSV file we cut out the missing values from the IMSI string. Lets use a function to do this and also check the input parameters. Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 --- M pySim-prog.py M pySim/utils.py 2 files changed, 31 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/97/15497/1 diff --git a/pySim-prog.py b/pySim-prog.py index 57a24d4..974dbd1 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -43,6 +43,7 @@ from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF from pySim.card_handler import * +from pySim.utils import * def parse_options(): @@ -479,8 +480,9 @@ def read_params_csv(opts, imsi=None, iccid=None): row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: - row['mcc'] = row.get('mcc', row['imsi'][0:3]) - row['mnc'] = row.get('mnc', row['imsi'][3:5]) + row['mcc'] = row.get('mcc', mcc_from_imsi(row.get('imsi'))) + row['mnc'] = row.get('mnc', mnc_from_imsi(row.get('imsi'))) + pin_adm = None # We need to escape the pin_adm we get from the csv if 'pin_adm' in row: diff --git a/pySim/utils.py b/pySim/utils.py index 65f10c5..09d4f86 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -206,3 +206,30 @@ num = map(int, str(cc)) check_digit = 10 - sum(num[-2::-2] + [sum(divmod(d * 2, 10)) for d in num[::-2]]) % 10 return 0 if check_digit == 10 else check_digit + +def mcc_from_imsi(imsi): + """ + Derive the MCC (Mobile Country Code) from the first three digits of an IMSI + """ + if imsi == None: + return None + + if len(imsi) > 3: + return imsi[:3] + else: + return None + +def mnc_from_imsi(imsi, long=False): + """ + Derive the MNC (Mobile Country Code) from the 4th to 6th digit of an IMSI + """ + if imsi == None: + return None + + if len(imsi) > 3: + if long: + return imsi[3:6] + else: + return imsi[3:5] + else: + return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:12:04 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 2: Code-Review-1 (5 comments) https://gerrit.osmocom.org/#/c/15483/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15483/2//COMMIT_MSG at 9 PS2, Line 9: The user inactivity timer is similiar to the Gb READY timer and redruce reduces https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c File src/sgsn/gprs_mm_state_iu_fsm.c: https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 15 PS2, Line 15: [ST_PMM_CONNECTED] = { .T=-3314 }, So this timer is not defined in the case of Iu but we add it ourselves? please clarify that somewhere and leave a comment in code too if that's the case. If timer comes from specs then it should be positive (and write a comment with the spec reference). https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 50 PS2, Line 50: static const struct RANAP_Cause user_inactive_cause = { why static? it's fine having it in the stack right? https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 96 PS2, Line 96: /* timer for pmm state. state=CONNECTED: -T3314 (User inactivity timer) */ Ah here it is. Still, it's not clear if it comes from us or it's defined in specs. Better add the comment also in the timer struct definition at the start of the file. https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/sgsn_vty.c at 107 PS2, Line 107: /* non spec timers */ Ah here it is! non-spec. Please add same thing in the FSM timer declaration. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:12:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:14:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:14:06 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 ) Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15485/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15485/2/src/sgsn/gprs_ranap.c at 144 PS2, Line 144: osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_REJECT, (void *) GMM_DISCARD_MS_WITHOUT_REJECT); Not sure if you need to do it before releasing the ranap_iu stuff from a few lines above. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:14:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:16:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:16:22 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 ) Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15486/2/src/sgsn/gprs_mm_state_gb_fsm.c File src/sgsn/gprs_mm_state_gb_fsm.c: https://gerrit.osmocom.org/#/c/15486/2/src/sgsn/gprs_mm_state_gb_fsm.c at 24 PS2, Line 24: if (ctx->T == 3350 && osmo_timer_pending(&ctx->timer)) When is this timer set? in both MM_STANDBLY and READY? we should probably move it to osmo_tdef in this FSM so it is disabled automatically? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:16:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:19:52 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 11:19:52 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15498 Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... pySim-prog: use case insensitive CSV headers. Inside of pySim all CSV headers are defined in lower case and are evaluated case sensitive. This means that a CSV file that contains the headers in uppercase for example will not parse. Lets make sure that the CSV headers are evaluated case insensitive to increase compatibility with slightly different formats. Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 --- M pySim-prog.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/15498/1 diff --git a/pySim-prog.py b/pySim-prog.py index 974dbd1..a24cd1a 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -457,6 +457,10 @@ import csv f = open(opts.read_csv, 'r') cr = csv.DictReader(f) + + # Lower-case fieldnames + cr.fieldnames = [ field.lower() for field in cr.fieldnames ] + i = 0 if not 'iccid' in cr.fieldnames: raise Exception("CSV file in wrong format!") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:28:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:28:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... Patch Set 8: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15397/8//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15397/8//COMMIT_MSG at 12 PS8, Line 12: The tess case will crash the SGSN and is not included test -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:28:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:31:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:31:05 +0000 Subject: Change in ...libosmocore[master]: tdef: fixup osmo_tdef_set() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15478 ) Change subject: tdef: fixup osmo_tdef_set() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia91c2f17e40fb9e79ffa5a7f28ce9c3605664402 Gerrit-Change-Number: 15478 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:31:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:32:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:32:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... Patch Set 1: > Patch Set 1: > > could you add some info on whether this will break the current test suite until fix X is merged, or whether this fixes the current tests...? I'll do it soon. I'm not sure if it will start failing with current osmo-sgsn implementation since I was trying a modified version with some fixes in auth code I was attempting. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Sep 2019 11:32:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:33:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:33:57 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15466 ) Change subject: tbf_dl: add comments to the scheduler ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:33:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:36:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:36:44 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15473/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15473/2//COMMIT_MSG at 11 PS2, Line 11: a certain timeout the connection will be release. released -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 11:36:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:37:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 11:37:16 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add small program to play with how Linux reacts to hubs with many ports Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 Change subject: add small program to play with how Linux reacts to hubs with many ports ...................................................................... add small program to play with how Linux reacts to hubs with many ports Change-Id: Ic3d2bec3f55f4d9e13183795c5825723f9427476 --- M ccid/Makefile A ccid/hub_create_gadget.sh A ccid/hub_main_functionfs.c A ccid/hub_remove_gadget.sh 4 files changed, 589 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/99/15499/1 diff --git a/ccid/Makefile b/ccid/Makefile index 3258967..0fadd22 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -3,6 +3,9 @@ ccid_functionfs: ccid_main_functionfs.o ccid_proto.o ccid_device.o ccid_slot_sim.o $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio +hub_functionfs: hub_main_functionfs.o + $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ diff --git a/ccid/hub_create_gadget.sh b/ccid/hub_create_gadget.sh new file mode 100755 index 0000000..3689c9f --- /dev/null +++ b/ccid/hub_create_gadget.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +GADGET_NAME=osmo-hub + + + +GADGET_CONFIGFS=/sys/kernel/config/usb_gadget + +die() { + echo ERROR: $1 + exit 2 +} + +modprobe configfs +modprobe usb_f_fs +modprobe dummy_hcd is_high_speed=0 is_super_speed=0 + +[ -d $GADGET_CONFIGFS ] || die "usb_gadget configfs not mounted" + +gadgetdir="$GADGET_CONFIGFS/$GADGET_NAME" + +# create gadget +[ -d $gadgetdir ] || mkdir $gadgetdir || die "Cannot create $gadgetdir. Permission problem?" +set -e -x +cd $gadgetdir +echo 0x2342 > idVendor +echo 0x4200 > idProduct +echo 0x09 > bDeviceClass +echo 1 > bDeviceProtocol +[ -d strings/0x409 ] || mkdir strings/0x409 +echo 2342 > strings/0x409/serialnumber +echo "sysmocom GmbH" > strings/0x409/manufacturer +echo "sysmoHUB" > strings/0x409/product + +# create config +[ -d configs/c.1 ] || mkdir configs/c.1 +[ -d configs/c.1/strings/0x409 ] || mkdir configs/c.1/strings/0x409 +echo "sysmoHUB config" > configs/c.1/strings/0x409/configuration + +[ -d functions/ffs.usb0 ] || mkdir functions/ffs.usb0 +[ -e configs/c.1/ffs.usb0 ] || ln -s functions/ffs.usb0 configs/c.1 + +[ -d /dev/ffs-hub ] || mkdir /dev/ffs-hub +[ -e /dev/ffs-hub/ep0 ] || mount -t functionfs usb0 /dev/ffs-hub/ + +# enable device, only works after program has opened EP FDs +#echo dummy_udc.0 > UDC + diff --git a/ccid/hub_main_functionfs.c b/ccid/hub_main_functionfs.c new file mode 100644 index 0000000..c019cde --- /dev/null +++ b/ccid/hub_main_functionfs.c @@ -0,0 +1,505 @@ + +#include +#include +#include +#include +#include +#include +#include + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define cpu_to_le16(x) (x) +#define cpu_to_le32(x) (x) +#else +#define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8)) +#define cpu_to_le32(x) \ + ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \ + (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) +#endif + +#define le32_to_cpu(x) le32toh(x) +#define le16_to_cpu(x) le16toh(x) + +enum { + DUSB, +}; + +/*********************************************************************** + * Actual USB Descriptors + ***********************************************************************/ + +static const struct { + struct usb_functionfs_descs_head_v2 header; + __le32 fs_count; + struct { + struct usb_interface_descriptor intf; + struct usb_endpoint_descriptor_no_audio ep_int; + } __attribute__ ((packed)) fs_descs; +} __attribute__ ((packed)) descriptors = { + .header = { + .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), + .flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_ALL_CTRL_RECIP), + .length = cpu_to_le32(sizeof(descriptors)), + }, + .fs_count = cpu_to_le32(2), + .fs_descs = { + .intf = { + .bLength = sizeof(descriptors.fs_descs.intf), + .bDescriptorType = USB_DT_INTERFACE, + .bNumEndpoints = 1, + .bInterfaceClass = USB_CLASS_HUB, + .iInterface = 1, + }, + .ep_int = { + .bLength = sizeof(descriptors.fs_descs.ep_int), + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = 1 | USB_DIR_IN, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = 64, + .bInterval = 12, + }, + }, +}; + +#define STR_INTERFACE_ "Osmocom USB Hub" + +static const struct { + struct usb_functionfs_strings_head header; + struct { + __le16 code; + const char str1[sizeof(STR_INTERFACE_)]; + } __attribute__((packed)) lang0; +} __attribute__((packed)) strings = { + .header = { + .magic = cpu_to_le32(FUNCTIONFS_STRINGS_MAGIC), + .length = cpu_to_le32(sizeof(strings)), + .str_count = cpu_to_le32(1), + .lang_count = cpu_to_le32(1), + }, + .lang0 = { + cpu_to_le16(0x0409), /* en-us */ + STR_INTERFACE_, + }, +}; + + +struct usb2_hub_desc_header { + __u8 bDescLength; + __u8 bDescriptorType; + __u8 bNbrPorts; + __le16 wHubCharacteristics; + __u8 bPwrOn2PwrGood; + __u8 bHubContrCurrent; + __u8 data[0]; +}; + +#define NUM_PORTS 31 +#define HDESC_ARR_BYTES ((NUM_PORTS + 1 + 7) / 8) +static const struct { + struct usb2_hub_desc_header hdr; + uint8_t DeviceRemovable[HDESC_ARR_BYTES]; + uint8_t PortPwrCtrlMask[HDESC_ARR_BYTES]; +} __attribute__ ((packed)) hub_desc = { + .hdr = { + .bDescLength = sizeof(hub_desc), + .bDescriptorType = USB_DT_HUB, + .bNbrPorts = NUM_PORTS, + .wHubCharacteristics = cpu_to_le16(0x0001), + .bPwrOn2PwrGood = 100, + .bHubContrCurrent = 0, + }, +}; + + +/*********************************************************************** + * USB FunctionFS interface + ***********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef FUNCTIONFS_SUPPORTS_POLL +#include +struct aio_help { + struct msgb *msg; + struct iocb *iocb; +}; +#endif + +/* usb function handle */ +struct ufunc_handle { + struct osmo_fd ep0; + struct osmo_fd ep_int; + struct llist_head ep_int_queue; +#ifndef FUNCTIONFS_SUPPORTS_POLL + struct osmo_fd aio_evfd; + io_context_t aio_ctx; + struct aio_help aio_int; +#endif +}; + +static int ep_int_cb(struct osmo_fd *ofd, unsigned int what) +{ + LOGP(DUSB, LOGL_DEBUG, "%s\n", __func__); + return 0; +} + +const struct value_string ffs_evt_type_names[] = { + { FUNCTIONFS_BIND, "BIND" }, + { FUNCTIONFS_UNBIND, "UNBIND" }, + { FUNCTIONFS_ENABLE, "ENABLE" }, + { FUNCTIONFS_DISABLE, "DISABLE" }, + { FUNCTIONFS_SETUP, "SETUP" }, + { FUNCTIONFS_SUSPEND, "SUSPEND" }, + { FUNCTIONFS_RESUME, "RESUME" }, + { 0, NULL } +}; + +/* local, stand-alone definition of a USB control request */ +struct _usb_ctrl_req { + uint8_t bRequestType; + uint8_t bRequest; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; +} __attribute__ ((packed));; + +/* class requests from the USB 2.0 hub spec, table 11-15 */ +#define HUB_CLASS_REQ(dir, type, request) ((((dir) | (type)) << 8) | (request)) +/* GetBusState and SetHubDescriptor are optional, omitted */ +#define ClearHubFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_HUB, USB_REQ_CLEAR_FEATURE) +#define ClearPortFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_PORT, USB_REQ_CLEAR_FEATURE) +#define GetHubDescriptor HUB_CLASS_REQ(USB_DIR_IN, USB_RT_HUB, USB_REQ_GET_DESCRIPTOR) +#define GetHubStatus HUB_CLASS_REQ(USB_DIR_IN, USB_RT_HUB, USB_REQ_GET_STATUS) +#define GetPortStatus HUB_CLASS_REQ(USB_DIR_IN, USB_RT_PORT, USB_REQ_GET_STATUS) +#define SetHubFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_HUB, USB_REQ_SET_FEATURE) +#define SetPortFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_PORT, USB_REQ_SET_FEATURE) + +static const struct value_string hub_class_spec_req_vals[] = { + OSMO_VALUE_STRING(USB_REQ_CLEAR_FEATURE), + OSMO_VALUE_STRING(USB_REQ_GET_DESCRIPTOR), + OSMO_VALUE_STRING(USB_REQ_GET_STATUS), + OSMO_VALUE_STRING(USB_REQ_SET_FEATURE), + { 0, NULL } +}; + +#define CCID_CTRL_RET_INVALID -1 +#define CCID_CTRL_RET_UNKNOWN -2 +#define CCID_CTRL_RET_OK 0 + +/*! Handle [class specific] CTRL request. We assume the caller has already verified that the + * request was made to the correct interface as well as it is a class-specific request. + * \param[in] ci CCID Instance for which CTRL request was received + * \param[in] ctrl_req buffer holding the 8 bytes CTRL transfer header + * \param[out] data_in data to be returned to the host in the IN transaction (if any) + * \returns CCID_CTRL_RET_OK, CCID_CTRL_RET_INVALID or CCID_CTRL_RET_UNKNOWN + */ +int hub_handle_ctrl(void *ci, const uint8_t *ctrl_req, const uint8_t **data_in) +{ + const struct _usb_ctrl_req *req = (const struct _usb_ctrl_req *) ctrl_req; + static uint16_t status[2]; + int rc; + + LOGP(DUSB, LOGL_NOTICE, "CTRL bmReqT=0x%02X bRequest=%s, wValue=0x%04X, wIndex=0x%04X, wLength=%d\n", + req->bRequestType, get_value_string(hub_class_spec_req_vals, req->bRequest), + req->wValue, req->wIndex, req->wLength); + + switch (req->bRequestType & 0x7f) { + case USB_RT_HUB: + switch (req->bRequest) { + case USB_REQ_GET_DESCRIPTOR: + if (req->wIndex != 0) { + LOGP(DUSB, LOGL_ERROR, "GET_DESC wIndex invalid\n"); + return CCID_CTRL_RET_INVALID; + } + if (0) // ctrl_req->wValue != FIXME + return CCID_CTRL_RET_INVALID; + *data_in = (const uint8_t *) &hub_desc; + return sizeof(hub_desc); + case USB_REQ_CLEAR_FEATURE: + switch (req->wValue) { + case C_HUB_LOCAL_POWER: + case C_HUB_OVER_CURRENT: + return CCID_CTRL_RET_OK; + } + break; + case USB_REQ_GET_STATUS: + status[0] = cpu_to_le16(HUB_STATUS_LOCAL_POWER); + status[1] = cpu_to_le16(0); + *data_in = (const uint8_t *) status; + return sizeof(status); + case USB_REQ_SET_FEATURE: + if (req->wValue > 1) + return CCID_CTRL_RET_INVALID; + return CCID_CTRL_RET_OK; + } + break; + case USB_RT_PORT: + switch (req->bRequest) { + case USB_REQ_CLEAR_FEATURE: + switch (req->wValue) { + case USB_PORT_FEAT_CONNECTION: + case USB_PORT_FEAT_ENABLE: + case USB_PORT_FEAT_SUSPEND: + case USB_PORT_FEAT_OVER_CURRENT: + case USB_PORT_FEAT_RESET: + case USB_PORT_FEAT_L1: + case USB_PORT_FEAT_POWER: + case USB_PORT_FEAT_LOWSPEED: + case USB_PORT_FEAT_C_CONNECTION: + case USB_PORT_FEAT_C_ENABLE: + case USB_PORT_FEAT_C_SUSPEND: + case USB_PORT_FEAT_C_OVER_CURRENT: + case USB_PORT_FEAT_C_RESET: + case USB_PORT_FEAT_TEST: + case USB_PORT_FEAT_C_PORT_L1: + return CCID_CTRL_RET_OK; + } + break; + case USB_REQ_GET_STATUS: + status[0] = cpu_to_le16(0); + status[1] = cpu_to_le16(0); + *data_in = (const uint8_t *) status; + return sizeof(status); + case USB_REQ_SET_FEATURE: + //selector = wIndex >> 8 + //port = wIndex & 0xff + return CCID_CTRL_RET_OK; + } + } + return CCID_CTRL_RET_UNKNOWN; +} + +static void handle_setup(int fd, const struct usb_ctrlrequest *setup) +{ + const uint8_t *data_in = NULL; + int rc; + + LOGP(DUSB, LOGL_NOTICE, "EP0 SETUP bRequestType=0x%02x, bRequest=0x%02x wValue=0x%04x, " + "wIndex=0x%04x, wLength=%u\n", setup->bRequestType, setup->bRequest, + le16_to_cpu(setup->wValue), le16_to_cpu(setup->wIndex), le16_to_cpu(setup->wLength)); + + rc = hub_handle_ctrl(NULL, (const uint8_t *) setup, &data_in); + switch (rc) { + case CCID_CTRL_RET_INVALID: + if (setup->bRequestType & USB_DIR_IN) + read(fd, NULL, 0); /* cause stall */ + else + write(fd, NULL, 0); /* cause stall */ + break; + case CCID_CTRL_RET_UNKNOWN: + /* FIXME: is this correct behavior? */ + if (setup->bRequestType & USB_DIR_IN) + write(fd, NULL, 0); /* send ZLP */ + else + read(fd, NULL, 0); + break; + default: + if (setup->bRequestType & USB_DIR_IN) { + uint16_t len = rc; + if (setup->wLength < len) + len = setup->wLength; + LOGP(DUSB, LOGL_NOTICE, "Writing %u: %s\n", len, osmo_hexdump_nospc(data_in, len)); + write(fd, data_in, le16_to_cpu(len)); + } else + read(fd, NULL, 0); /* FIXME: control OUT? */ + break; + } +} + +static int ep_0_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct ufunc_handle *uh = (struct ufunc_handle *) ofd->data; + int rc; + + if (what & BSC_FD_READ) { + struct usb_functionfs_event evt; + rc = read(ofd->fd, (uint8_t *)&evt, sizeof(evt)); + if (rc < sizeof(evt)) + return -23; + LOGP(DUSB, LOGL_NOTICE, "EP0 %s\n", get_value_string(ffs_evt_type_names, evt.type)); + switch (evt.type) { + case FUNCTIONFS_ENABLE: + //aio_refill_out(uh); + break; + case FUNCTIONFS_SETUP: + handle_setup(ofd->fd, &evt.u.setup); + break; + } + + } + return 0; +} + +#ifndef FUNCTIONFS_SUPPORTS_POLL + +/* dequeue the next msgb from ep_int_queue and set up AIO for it */ +static void dequeue_aio_write_int(struct ufunc_handle *uh) +{ + struct aio_help *ah = &uh->aio_int; + struct msgb *d; + int rc; + + if (ah->msg) + return; + + d = msgb_dequeue(&uh->ep_int_queue); + if (!d) + return; + + OSMO_ASSERT(ah->iocb); + ah->msg = d; + io_prep_pwrite(ah->iocb, uh->ep_int.fd, msgb_data(d), msgb_length(d), 0); + io_set_eventfd(ah->iocb, uh->aio_evfd.fd); + rc = io_submit(uh->aio_ctx, 1, &ah->iocb); + OSMO_ASSERT(rc >= 0); +} + +static int evfd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct ufunc_handle *uh = (struct ufunc_handle *) ofd->data; + struct io_event evt[1]; + struct msgb *msg; + uint64_t ev_cnt; + int i, rc; + + rc = read(ofd->fd, &ev_cnt, sizeof(ev_cnt)); + assert(rc == sizeof(ev_cnt)); + + rc = io_getevents(uh->aio_ctx, 1, 1, evt, NULL); + if (rc <= 0) { + LOGP(DUSB, LOGL_ERROR, "error in io_getevents(): %d\n", rc); + return rc; + } + + for (i = 0; i < rc; i++) { + int fd = evt[i].obj->aio_fildes; + if (fd == uh->ep_int.fd) { + /* interrupt endpoint AIO has completed. This means the IRQ transfer + * which we generated has reached the host */ + LOGP(DUSB, LOGL_DEBUG, "IRQ AIO completed, free()ing msgb\n"); + msgb_free(uh->aio_int.msg); + uh->aio_int.msg = NULL; + dequeue_aio_write_int(uh); + } + } + return 0; +} +#endif + + +static int ep0_init(struct ufunc_handle *uh) +{ + int rc; + + /* open control endpoint and write descriptors to it */ + rc = open("ep0", O_RDWR); + assert(rc >= 0); + osmo_fd_setup(&uh->ep0, rc, BSC_FD_READ, &ep_0_cb, uh, 0); + osmo_fd_register(&uh->ep0); + rc = write(uh->ep0.fd, &descriptors, sizeof(descriptors)); + if (rc != sizeof(descriptors)) { + LOGP(DUSB, LOGL_ERROR, "Cannot write descriptors: %s\n", strerror(errno)); + return -1; + } + rc = write(uh->ep0.fd, &strings, sizeof(strings)); + if (rc != sizeof(strings)) { + LOGP(DUSB, LOGL_ERROR, "Cannot write strings: %s\n", strerror(errno)); + return -1; + } + + /* open other endpoint file descriptors */ + INIT_LLIST_HEAD(&uh->ep_int_queue); + rc = open("ep1", O_RDWR); + assert(rc >= 0); + osmo_fd_setup(&uh->ep_int, rc, 0, &ep_int_cb, uh, 1); +#ifdef FUNCTIONFS_SUPPORTS_POLL + osmo_fd_register(&uh->ep_int); +#endif + +#ifndef FUNCTIONFS_SUPPORTS_POLL +#include + /* for some absolutely weird reason, gadgetfs+functionfs don't support + * the standard methods of non-blocking I/o (select/poll). We need to + * work around using Linux AIO, which is not to be confused with POSIX AIO! */ + + memset(&uh->aio_ctx, 0, sizeof(uh->aio_ctx)); + rc = io_setup(1, &uh->aio_ctx); + OSMO_ASSERT(rc >= 0); + + /* create an eventfd, which will be marked readable once some AIO completes */ + rc = eventfd(0, 0); + OSMO_ASSERT(rc >= 0); + osmo_fd_setup(&uh->aio_evfd, rc, BSC_FD_READ, &evfd_cb, uh, 0); + osmo_fd_register(&uh->aio_evfd); + + uh->aio_int.iocb = malloc(sizeof(struct iocb)); +#endif + + return 0; +} + +static const struct log_info_cat log_info_cat[] = { + [DUSB] = { + .name = "USB", + .description = "USB Transport", + .enabled = 1, + .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info log_info = { + .cat = log_info_cat, + .num_cat = ARRAY_SIZE(log_info_cat), +}; + +static void *tall_main_ctx; + +static void signal_handler(int signal) +{ + switch (signal) { + case SIGUSR1: + talloc_report_full(tall_main_ctx, stderr); + break; + } +} + + +int main(int argc, char **argv) +{ + struct ufunc_handle ufh = (struct ufunc_handle) { 0, }; + int rc; + + tall_main_ctx = talloc_named_const(NULL, 0, "hub_main_functionfs"); + msgb_talloc_ctx_init(tall_main_ctx, 0); + osmo_init_logging2(tall_main_ctx, &log_info); + + signal(SIGUSR1, &signal_handler); + + if (argc < 2) { + fprintf(stderr, "You have to specify the mount-path of the functionfs\n"); + exit(2); + } + + chdir(argv[1]); + rc = ep0_init(&ufh); + if (rc < 0) { + fprintf(stderr, "Error %d\n", rc); + exit(1); + } + + while (1) { + osmo_select_main(0); + } +} diff --git a/ccid/hub_remove_gadget.sh b/ccid/hub_remove_gadget.sh new file mode 100755 index 0000000..e206d6f --- /dev/null +++ b/ccid/hub_remove_gadget.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +GADGET_NAME=osmo-hub + +GADGET_CONFIGFS=/sys/kernel/config/usb_gadget + +set -e +set -x + +gadgetdir="$GADGET_CONFIGFS/$GADGET_NAME" + +# unmount the endpoints from the filesystem +umount /dev/ffs-hub + +# detach from USB gadget/bus +echo "" > "$gadgetdir/UDC" || true + +# remove function from config +rm "$gadgetdir/configs/c.1/ffs.usb0" + +# remove strings in config +rmdir "$gadgetdir/configs/c.1/strings/0x409" + +# remove config +rmdir "$gadgetdir/configs/c.1" + +# remove function +rmdir "$gadgetdir/functions/ffs.usb0" + +# remove strings in gadget +rmdir "$gadgetdir/strings/0x409" + +rmdir $gadgetdir -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ic3d2bec3f55f4d9e13183795c5825723f9427476 Gerrit-Change-Number: 15499 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:38:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:38:19 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15472/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15472/2//COMMIT_MSG at 11 PS2, Line 11: disable upstream notificatiosn notifications -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:38:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:39:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:39:27 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 11:39:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:41:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:41:38 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 11:41:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:43:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:43:47 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 ) Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15489/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/#/c/15489/1/src/osmo-bts-trx/scheduler_trx.c at 1278 PS1, Line 1278: return rc; Are you sure you want to drop the tch_ind in this case? Isn't that going to affect the RTP clock? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:43:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:46:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:46:03 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15490 ) Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15490/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/15490/1/src/libvlr/vlr.c at 925 PS1, Line 925: if (!gsm48_rej_p) IMHO It doesn't make to call this function with gsm48_rej_p being NULL, so you can drop this. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:46:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:46:57 +0000 Subject: Change in ...osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15491 ) Change subject: make vlr_gmm_cause_to_mm_cause public ...................................................................... Patch Set 1: Code-Review+1 Usually you want to have this together with the patch adding the code to use it, otherwise if you revert the later one this change is kept while being unnecessary. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 Gerrit-Change-Number: 15491 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:46:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:49:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:49:35 +0000 Subject: Change in ...osmo-msc[master]: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15492 ) Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15492/1/src/libvlr/vlr_auth_fsm.c File src/libvlr/vlr_auth_fsm.c: https://gerrit.osmocom.org/#/c/15492/1/src/libvlr/vlr_auth_fsm.c at 344 PS1, Line 344: || (event == VLR_AUTH_E_HLR_SAI_NACK && whitespace change non-related. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a Gerrit-Change-Number: 15492 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:49:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 11:56:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 11:56:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: add f_tc_lu_and_mt_sms_paging_repeated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 ) Change subject: msc: add f_tc_lu_and_mt_sms_paging_repeated ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 Gerrit-Change-Number: 15493 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 11:56:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:05:45 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 12:05:45 +0000 Subject: Change in ...pysim[master]: pySim-prog.py: use more expressive error message on CSV read failure Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15500 Change subject: pySim-prog.py: use more expressive error message on CSV read failure ...................................................................... pySim-prog.py: use more expressive error message on CSV read failure When the CSV file fails to read the error message is just "Error reading parameters". Lets make clear that this error is related to a problem with the CSV file Change-Id: If285c1fbf7d285f512b573040f1b8983e4e3087e --- M pySim-prog.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/00/15500/1 diff --git a/pySim-prog.py b/pySim-prog.py index a24cd1a..1e613c1 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -666,7 +666,7 @@ imsi = opts.imsi cp = read_params_csv(opts, imsi=imsi, iccid=iccid) if cp is None: - print "Error reading parameters\n" + print "Error reading parameters from CSV file!\n" return 2 print_parameters(cp) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If285c1fbf7d285f512b573040f1b8983e4e3087e Gerrit-Change-Number: 15500 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:05:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 12:05:46 +0000 Subject: Change in ...pysim[master]: test please ignore Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15501 Change subject: test please ignore ...................................................................... test please ignore Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 --- M pySim/cards.py 1 file changed, 116 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/01/15501/1 diff --git a/pySim/cards.py b/pySim/cards.py index ec001ab..e1557c0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -145,6 +145,107 @@ return sw +class _GenericSimBase(Card): + """ + A comfortable wrapper for the Card class. This class provides methods + that just accept just the parameter array. All further decisions, + parameter checking, status word checking are then done in this class. + """ + + def __check_sw(self, par, sw): + if sw != '9000': + print("Programming %s failed with code %s" % (par, sw)) + return False + return True + + # Safely get a parameter from the parameter array. Ensure that it + # exists and that it is not empty. Also ensure that it is always + # a string so that we know what we are working with. + def __get_p(self, p, p_name): + p_val = p.get(p_name, None) + if p_val == None: + return None + return str(p_val).strip() + + def __get_mcc_mnc(self, p): + mcc = self.__get_p(p, 'mcc') + mnc = self.__get_p(p, 'mnc') + + # If MCC is missing, try to obtain it from the IMSI + if mcc == None: + imsi = self.__get_p(p, 'imsi') + if imsi == None: + return (None, None) + mcc = mcc_from_imsi(imsi) + + # If MNC is missing, try to obtain it from the IMSI + if mnc == None: + imsi = self.__get_p(p, 'imsi') + if imsi == None: + return (None, None) + mnc = mnc_from_imsi(imsi) + return mcc, mnc + + def p_update_imsi(self, p): + imsi = self.__get_p(p, 'imsi') + if imsi != None: + sw = self.update_imsi(imsi) + return self.__check_sw('imsi',sw) + return False + + def p_update_acc(self, p): + if p.get('acc'): + sw = self.update_acc(p['acc']) + return self.__check_sw('ACC',sw) + + def p_update_plmnsel(self, p): + mcc, mnc = self.__get_mcc_mnc(p); + if mcc and mnc: + sw = self.update_plmnsel(int(mcc), int(mnc)) + return self.__check_sw('PLMNsel',sw) + return False + + def p_update_hplmn_act(self, p): + mcc, mnc = self.__get_mcc_mnc(p); + if mcc and mnc: + sw = self.update_hplmn_act(int(mcc), int(mnc)) + return self.__check_sw('HPLMNwAcT',sw) + return False + + def p_update_oplmn_act(self, p): + mcc, mnc = self.__get_mcc_mnc(p); + if mcc and mnc: + sw = self.update_oplmn_act(int(mcc), int(mnc)) + return self.__check_sw('OPLMNwAcT',sw) + return False + + def p_update_plmn_act(self, p): + mcc, mnc = self.__get_mcc_mnc(p); + if mcc and mnc: + sw = self.update_plmn_act(int(mcc), int(mnc)) + return self.__check_sw('PLMNwAcT',sw) + return False + + def p_update_smsp(self, p): + if p.get('smsp'): + sw = self.update_smsp(p['smsp']) + return self.__check_sw('SMSP',sw) + + def p_update_ad(self, p): + mcc, mnc = self.__get_mcc_mnc(p); + if mcc and mnc: + sw = self.update_ad(int(mnc)) + return self.__check_sw('AD',sw) + return False + + def p_update_smsp(self, p): + smsp = self.__get_p(p, 'smsp') + if smsp: + sw = self.update_smsp(smsp) + return self.__check_sw('SMSP',sw) + return False + + class _MagicSimBase(Card): """ Theses cards uses several record based EFs to store the provider infos, @@ -542,7 +643,7 @@ def erase(self): return -class SysmoUSIMSJS1(Card): +class SysmoUSIMSJS1(_GenericSimBase): """ sysmocom sysmoUSIM-SJS1 """ @@ -589,33 +690,21 @@ data, sw = self._scc.update_binary('00F7', content) # write EF.IMSI - data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) + self.p_update_imsi(p) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming PLMNsel failed with code %s"%sw) + self.p_update_plmnsel(p) # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmn_act(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming PLMNwAcT failed with code %s"%sw) + self.p_update_plmn_act(p) # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): - sw = self.update_oplmn_act(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming OPLMNwAcT failed with code %s"%sw) + self.p_update_oplmn_act(p) # EF.AD - if p.get('mcc') and p.get('mnc'): - sw = self.update_ad(p['mnc']) - if sw != '9000': - print("Programming AD failed with code %s"%sw) + self.p_update_ad(p) - # EF.SMSP + # EF.SMSP (propritary method?, why different than the others?) if p.get('smsp'): r = self._scc.select_file(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) @@ -817,7 +906,7 @@ # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) -class WavemobileSim(Card): +class WavemobileSim(_GenericSimBase): """ WavemobileSim @@ -864,46 +953,25 @@ print("Warning: Programming of the OPc is not implemented for this type of card.") # EF.SMSP - if p.get('smsp'): - sw = self.update_smsp(p['smsp']) - if sw != '9000': - print("Programming SMSP failed with code %s"%sw) + self.p_update_smsp(p) # EF.IMSI - if p.get('imsi'): - sw = self.update_imsi(p['imsi']) - if sw != '9000': - print("Programming IMSI failed with code %s"%sw) + self.p_update_imsi(p) # EF.ACC - if p.get('acc'): - sw = self.update_acc(p['acc']) - if sw != '9000': - print("Programming ACC failed with code %s"%sw) + self.p_update_acc(p) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming PLMNsel failed with code %s"%sw) + self.p_update_plmnsel(p) # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmn_act(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming PLMNwAcT failed with code %s"%sw) + self.p_update_plmn_act(p) # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): - sw = self.update_oplmn_act(p['mcc'], p['mnc']) - if sw != '9000': - print("Programming OPLMNwAcT failed with code %s"%sw) + self.p_update_oplmn_act(p) # EF.AD - if p.get('mcc') and p.get('mnc'): - sw = self.update_ad(p['mnc']) - if sw != '9000': - print("Programming AD failed with code %s"%sw) + self.p_update_ad(p) return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:07:48 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Sep 2019 12:07:48 +0000 Subject: Change in ...pysim[master]: WIP: cards.py: unify card programming In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15501 to look at the new patch set (#2). Change subject: WIP: cards.py: unify card programming ...................................................................... WIP: cards.py: unify card programming Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 --- M pySim/cards.py 1 file changed, 116 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/01/15501/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:09:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:09:23 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15494 ) Change subject: Introduce multiple paging attempts ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/gsm_data.h File include/osmocom/msc/gsm_data.h: https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/gsm_data.h at 126 PS1, Line 126: #define MSC_PAGING_RESPONSE_TIMER_DEFAULT 10 Looks like we want to move this one to osmo_tdef. https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/gsm_data.h at 127 PS1, Line 127: #define MSC_PAGING_ATTEMPTS 3 MSC_PAGING_ATTEMPTS_DEFAULT https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_vty.c File src/libmsc/msc_vty.c: https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_vty.c at 572 PS1, Line 572: "Set to default attempts (" OSMO_STRINGIFY_VAL(MSC_PAGING_ATTEMPTS) " seconds)\n" MSC_PAGING_ATTEMPTS_DEFAULT Remove seconds from there. https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_vty.c at 576 PS1, Line 576: gsmnet->paging_attempts = MSC_PAGING_ATTEMPTS; MSC_PAGING_ATTEMPTS_DEFAULT https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_vty.c at 709 PS1, Line 709: if (gsmnet->paging_attempts != MSC_PAGING_ATTEMPTS) MSC_PAGING_ATTEMPTS_DEFAULT -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: efistokl Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:09:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:10:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:10:42 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15494 ) Change subject: Introduce multiple paging attempts ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/gsm_data.h File include/osmocom/msc/gsm_data.h: https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/gsm_data.h at 176 PS1, Line 176: unsigned int paging_attempts; max_paging_attempts -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: efistokl Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:10:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:01 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: respawn(): return process result In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 ) Change subject: process: respawn(): return process result ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440 Gerrit-Change-Number: 15463 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:15:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:05 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: Introduce respawn_sync() method In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 ) Change subject: process: Introduce respawn_sync() method ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433 Gerrit-Change-Number: 15464 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:15:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:08 +0000 Subject: Change in ...osmo-gsm-tester[master]: Support SC5 power cycling through powersupply In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 ) Change subject: Support SC5 power cycling through powersupply ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 Gerrit-Change-Number: 15465 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:15:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:12 +0000 Subject: Change in ...osmo-gsm-tester[master]: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 ) Change subject: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f Gerrit-Change-Number: 15468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:15:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:15 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: respawn(): return process result In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 ) Change subject: process: respawn(): return process result ...................................................................... process: respawn(): return process result Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440 --- M src/osmo_gsm_tester/process.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index 4b22d0c..cd125d5 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -205,7 +205,7 @@ assert not self.is_running() self.result = None self.killed = None - self.launch() + return self.launch() def _poll_termination(self, time_to_wait_for_term=5): wait_step = 0.001 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440 Gerrit-Change-Number: 15463 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:16 +0000 Subject: Change in ...osmo-gsm-tester[master]: process: Introduce respawn_sync() method In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 ) Change subject: process: Introduce respawn_sync() method ...................................................................... process: Introduce respawn_sync() method Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433 --- M src/osmo_gsm_tester/process.py 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/process.py b/src/osmo_gsm_tester/process.py index cd125d5..b73673f 100644 --- a/src/osmo_gsm_tester/process.py +++ b/src/osmo_gsm_tester/process.py @@ -207,6 +207,13 @@ self.killed = None return self.launch() + def respawn_sync(self, raise_nonsuccess=True): + self.dbg('respawn_sync') + assert not self.is_running() + self.result = None + self.killed = None + return self.launch_sync(raise_nonsuccess) + def _poll_termination(self, time_to_wait_for_term=5): wait_step = 0.001 waited_time = 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433 Gerrit-Change-Number: 15464 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:17 +0000 Subject: Change in ...osmo-gsm-tester[master]: Support SC5 power cycling through powersupply In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 ) Change subject: Support SC5 power cycling through powersupply ...................................................................... Support SC5 power cycling through powersupply * Add powersupply related code to bts_osmotrx.py to power cycle the board. * Each time the board is started, we need to unlock the RF (start TRX implementation). Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 --- M example/resources.conf.prod M src/osmo_gsm_tester/bts_osmotrx.py 2 files changed, 106 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/resources.conf.prod b/example/resources.conf.prod index ef6e37b..e8fe2b0 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -71,8 +71,14 @@ ciphers: [a5_0, a5_1] trx_list: - arfcn: 878 + power_supply: + type: 'intellinet' + device: '10.42.42.250' + port: '5' osmo_trx: - launch_trx: false + type: sc5 + launch_trx: true + remote_user: root clock_reference: external trx_ip: 10.42.42.112 max_trxd_version: 0 diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index b3738d2..554a236 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -22,6 +22,7 @@ import pprint from abc import ABCMeta, abstractmethod from . import log, config, util, template, process, bts_osmo +from . import powersupply from .event_loop import MainLoop class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): @@ -39,6 +40,7 @@ self.run_dir = None self.inst = None self.trx = None + self.pwsup_list = [] self.env = {} self.gen_conf = {} @@ -92,6 +94,20 @@ self.dbg(r) f.write(r) + self.pwsup_list = [None] * self.num_trx() + # Construct trx_list appending with empty dicts if needed: + conf_trx_list = self.conf.get('trx_list', []) + conf_trx_list = conf_trx_list + [{}] * (self.num_trx() - len(conf_trx_list)) + for trx_i in range(self.num_trx()): + pwsup_opt = conf_trx_list[trx_i].get('power_supply', {}) + if not pwsup_opt: + self.dbg('no power_supply configured for TRX %d' % trx_i) + continue + pwsup_type = pwsup_opt.get('type') + if not pwsup_type: + raise log.Error('No type attribute provided in power_supply conf for TRX %d!' % trx_i) + self.pwsup_list[trx_i] = powersupply.get_instance_by_type(pwsup_type, pwsup_opt) + def launch_trx_enabled(self): return util.str2bool(self.gen_conf['osmo_bts_trx'].get('osmo_trx', {}).get('launch_trx')) @@ -109,6 +125,15 @@ def conf_for_osmotrx(self): return dict(osmo_trx=self.gen_conf['osmo_bts_trx'].get('osmo_trx', {})) + def cleanup(self): + i = 0 + for pwsup in self.pwsup_list: + if pwsup: + self.dbg('Powering off TRX %d' % i) + pwsup.power_set(False) + i = i + 1 + self.pwsup_list = [] + ################### # PUBLIC (test API included) ################### @@ -121,6 +146,14 @@ self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() + # Power cycle all TRX if needed (right now only TRX0 for SC5): + i = 0 + for pwsup in self.pwsup_list: + if pwsup: + self.dbg('Powering cycling TRX %d' % i) + pwsup.power_cycle(1.0) + i = i + 1 + if self.launch_trx_enabled(): self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.suite_run, self.conf_for_osmotrx()) self.trx.start(keepalive) @@ -138,7 +171,45 @@ '-i', self.bsc.addr()) self.suite_run.poll() -class OsmoTrx(log.Origin, metaclass=ABCMeta): + +################################################################################ +# TRX +################################################################################ + +class Trx(log.Origin, metaclass=ABCMeta): +############## +# PROTECTED +############## + def __init__(self, suite_run, conf, name): + super().__init__(log.C_RUN, name) + self.suite_run = suite_run + self.conf = conf + self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') + self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) + + @classmethod + def get_instance_by_type(cls, type, suite_run, conf): + KNOWN_OSMOTRX_TYPES = { + 'uhd': OsmoTrxUHD, + 'lms': OsmoTrxLMS, + 'sc5': TrxSC5 + } + osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) + return osmo_trx_class(suite_run, conf) + +############## +# PUBLIC (test API included) +############## + @abstractmethod + def start(self, keepalive=False): + pass + + @abstractmethod + def trx_ready(self): + pass + +class OsmoTrx(Trx, metaclass=ABCMeta): CONF_OSMO_TRX = 'osmo-trx.cfg' REMOTE_DIR = '/osmo-gsm-tester-trx/last_run' @@ -148,27 +219,13 @@ # PROTECTED ############## def __init__(self, suite_run, conf): - super().__init__(log.C_RUN, self.binary_name()) - self.suite_run = suite_run - self.conf = conf + super().__init__(suite_run, conf, self.binary_name()) self.env = {} self.log("OSMOTRX CONF: %r" % conf) - self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.bts_ip = conf.get('osmo_trx', {}).get('bts_ip') - self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) - self.run_dir = None self.inst = None self.proc_trx = None - @classmethod - def get_instance_by_type(cls, type, suite_run, conf): - KNOWN_OSMOTRX_TYPES = { - 'uhd': OsmoTrxUHD, - 'lms': OsmoTrxLMS, - } - osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) - return osmo_trx_class(suite_run, conf) - @abstractmethod def binary_name(self): 'Used by base class. Subclass can create different OsmoTRX implementations.' @@ -242,7 +299,6 @@ # PUBLIC (test API included) ############## def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) if not self.remote_user: @@ -293,4 +349,30 @@ def binary_name(self): return OsmoTrxLMS.BIN_TRX +class TrxSC5(Trx): + + def __init__(self, suite_run, conf): + super().__init__(suite_run, conf, "sc5-trx") + self.ready = False + + def start(self, keepalive=False): + name = "ssh_sc5_ccli" + run_dir = self.run_dir.new_dir(name) + popen_args = ('/cx/bin/ccli', '-c', 'gsm.unlock') + proc = process.RemoteProcess(name, run_dir, self.remote_user, self.listen_ip, None, + popen_args) + keep_trying = 10 + while keep_trying > 0: + if proc.respawn_sync(raise_nonsuccess=False) == 0 and 'OK' in (proc.get_stdout() or ''): + break + keep_trying = keep_trying - 1 + self.log('Configuring SC5 TRX failed, retrying %d more times' % keep_trying) + MainLoop.sleep(self, 5) + if keep_trying == 0: + raise log.Error('Failed configuring SC5!') + self.ready = True + + def trx_ready(self): + return self.ready + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2 Gerrit-Change-Number: 15465 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:15:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:15:17 +0000 Subject: Change in ...osmo-gsm-tester[master]: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 ) Change subject: Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" ...................................................................... Revert "resources.conf.prod: Use different ARFCN for sysmocell-5k" This reverts commit 91199a31377fe94a79376eca9232151a3f637bce. Since we now support powercycling the SC5, we don't longer need to use a different ARFCN for it. Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f --- M example/resources.conf.prod M src/osmo_gsm_tester/resource.py 2 files changed, 1 insertion(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/example/resources.conf.prod b/example/resources.conf.prod index e8fe2b0..0bf9f45 100644 --- a/example/resources.conf.prod +++ b/example/resources.conf.prod @@ -70,8 +70,7 @@ band: GSM-1800 ciphers: [a5_0, a5_1] trx_list: - - arfcn: 878 - power_supply: + - power_supply: type: 'intellinet' device: '10.42.42.250' port: '5' diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index aa41b98..1b18076 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -60,7 +60,6 @@ 'bts[].num_trx': schema.UINT, 'bts[].max_trx': schema.UINT, 'bts[].trx_list[].addr': schema.IPV4, - 'bts[].trx_list[].arfcn': schema.INT, 'bts[].trx_list[].hw_addr': schema.HWADDR, 'bts[].trx_list[].net_device': schema.STR, 'bts[].trx_list[].nominal_power': schema.UINT, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f Gerrit-Change-Number: 15468 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:22:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:22:00 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: Hello lynxis lazus, fixeria, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 to look at the new patch set (#7). Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 403 insertions(+), 307 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/15425/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:22:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 12:22:00 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 to look at the new patch set (#3). Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Use osmo_tdef to implement dl-tbf-idle-time Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 28 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/15454/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:36:13 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Sep 2019 12:36:13 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Patch Set 4: Code-Review+1 (6 comments) https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 625 PS3, Line 625: first = False > This is redundant as you change first at the end of the loop in line 753. [?] Done https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 653 PS3, Line 653: card_handler.get(first) > First will always be False here (I know, this was true before your patch as well, just became more v [?] Done https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 659 PS3, Line 659: card_handler.get(first) > Same. [?] Done https://gerrit.osmocom.org/#/c/15432/3/pySim-prog.py at 673 PS3, Line 673: if opts.dry_run is not True: > Sorry, nothing you introduced, but this looks really weird and redundant. [?] Done https://gerrit.osmocom.org/#/c/15432/3/pySim/card_handler.py File pySim/card_handler.py: https://gerrit.osmocom.org/#/c/15432/3/pySim/card_handler.py at 94 PS3, Line 94: os._exit(rc) > Is there a reason you are using os._exit() instead of sys. [?] Done https://gerrit.osmocom.org/#/c/15432/4/pySim/card_handler.py File pySim/card_handler.py: https://gerrit.osmocom.org/#/c/15432/4/pySim/card_handler.py at 61 PS4, Line 61: self.cmds = yaml.load(cfg, Loader=yaml.FullLoader) safe_load might be the better choice here (especially if the input is untrusted. But I'm not sure if we care since the file comes from the user anyway. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 12:36:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:37:04 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Sep 2019 12:37:04 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15498 ) Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 12 Sep 2019 12:37:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:40:34 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Sep 2019 12:40:34 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15496 ) Change subject: cards: use string representation for MNC/MCC ...................................................................... Patch Set 1: Code-Review-1 Don't you need to modify enc_plmn for that as well? pySim/utils.py line 101: swap_nibbles(lpad('%d' % mcc, 3) + lpad('%d' % mnc, 3)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 12 Sep 2019 12:40:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:42:09 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Sep 2019 12:42:09 +0000 Subject: Change in ...pysim[master]: pySim-prog: check if CSV file exists In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15495 ) Change subject: pySim-prog: check if CSV file exists ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15495/1/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15495/1/pySim-prog.py at 712 PS1, Line 712: print "Using CSV file as data input: " + str(opts.read_csv) I'd swap this and the following line so it's only printed if we actually use csv as input. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Gerrit-Change-Number: 15495 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 12 Sep 2019 12:42:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:43:58 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Sep 2019 12:43:58 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15497 ) Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 12 Sep 2019 12:43:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:56:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 12:56:16 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 12:56:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:56:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 12:56:57 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15453 ) Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 12:56:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:57:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 12:57:43 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 12:57:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 12:59:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 12:59:23 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15497 ) Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15497/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/#/c/15497/1/pySim/utils.py at 226 PS1, Line 226: if imsi == None: : return None : : if len(imsi) > 3: : if there's a mixture of spaces and tabs, which may not be the best idea if working with python. The existing code seems to use tabs more or less everywhere, while the new code here uses spaces. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 12:59:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 13:00:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 13:00:09 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15498 ) Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15498/1/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15498/1/pySim-prog.py at 460 PS1, Line 460: same here about tabs vs spaces -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 13:00:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 13:00:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 13:00:18 +0000 Subject: Change in ...pysim[master]: pySim-prog.py: use more expressive error message on CSV read failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15500 ) Change subject: pySim-prog.py: use more expressive error message on CSV read failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If285c1fbf7d285f512b573040f1b8983e4e3087e Gerrit-Change-Number: 15500 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 13:00:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 13:00:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 13:00:52 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 13:00:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:12:05 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:12:05 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use braces around print calls Message-ID: gnutoo has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15502 Change subject: python3 conversion: Use braces around print calls ...................................................................... python3 conversion: Use braces around print calls This is required to run under python3. Without it we have errors that looks like that: $ python3 pySim-read.py File "pySim-read.py", line 132 print "HPLMNAcT: Can't read file -- " + str(e) SyntaxError: invalid syntax Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 --- M pySim-prog.py M pySim-read.py M pySim/cards.py M pySim/commands.py M pySim/transport/__init__.py M pySim/transport/serial.py 6 files changed, 132 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/15502/1 diff --git a/pySim-prog.py b/pySim-prog.py index 8abce0a..bb7160e 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -127,7 +127,7 @@ ) parser.add_option("--acc", dest="acc", help="Set ACC bits (Access Control Code). not all card types are supported", - ) + ) parser.add_option("--read-imsi", dest="read_imsi", action="store_true", help="Read the IMSI from the CARD", default=False ) @@ -167,11 +167,11 @@ if options.type == 'list': for kls in _cards_classes: - print kls.name + print(kls.name) sys.exit(0) - if options.probe: - return options + if options.probe: + return options if options.source == 'csv': if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False) and (options.read_iccid is False): @@ -393,7 +393,7 @@ else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: + if opts.pin_adm_hex is not None: if len(opts.pin_adm_hex) == 16: pin_adm = opts.pin_adm_hex # Ensure that it's hex-encoded @@ -452,8 +452,8 @@ f = open(opts.read_csv, 'r') cr = csv.DictReader(f) i = 0 - if not 'iccid' in cr.fieldnames: - raise Exception("CSV file in wrong format!") + if not 'iccid' in cr.fieldnames: + raise Exception("CSV file in wrong format!") for row in cr: if opts.num is not None and opts.read_iccid is False and opts.read_imsi is False: if opts.num == i: @@ -534,7 +534,7 @@ for k in BATCH_INCOMPATIBLE: if getattr(opts, k): - print "Incompatible option with batch_state: %s" % (k,) + print("Incompatible option with batch_state: %s" % (k,)) sys.exit(-1) # Don't load state if there is none ... @@ -542,7 +542,7 @@ return if not os.path.isfile(opts.batch_state): - print "No state file yet" + print("No state file yet") return # Get stored data @@ -575,12 +575,12 @@ for kls in _cards_classes: card = kls.autodetect(scc) if card: - print "Autodetected card type: %s" % card.name + print("Autodetected card type: %s" % card.name) card.reset() break if card is None: - print "Autodetection failed" + print(Autodetection failed") return if opts.type == "auto_once": @@ -632,7 +632,7 @@ if opts.dry_run is False: # Connect transport - print "Insert card now (or CTRL-C to cancel)" + print("Insert card now (or CTRL-C to cancel)") sl.wait_for_card(newcardonly=not first) # Not the first anymore ! @@ -648,13 +648,13 @@ else: sys.exit(-1) - # Probe only - if opts.probe: - break; + # Probe only + if opts.probe: + break; # Erase if requested if opts.erase: - print "Formatting ..." + print("Formatting ...") card.erase() card.reset() @@ -662,20 +662,20 @@ if opts.source == 'cmdline': cp = gen_parameters(opts) elif opts.source == 'csv': - imsi = None - iccid = None + imsi = None + iccid = None if opts.read_iccid: if opts.dry_run: # Connect transport - print "Insert card now (or CTRL-C to cancel)" + print("Insert card now (or CTRL-C to cancel)") sl.wait_for_card(newcardonly=not first) (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) iccid = dec_iccid(res) - print iccid - elif opts.read_imsi: + print(iccid) + elif opts.read_imsi: if opts.dry_run: # Connect transport - print "Insert card now (or CTRL-C to cancel)" + print("Insert card now (or CTRL-C to cancel)") sl.wait_for_card(newcardonly=not first) (res,_) = scc.read_binary(EF['IMSI']) imsi = swap_nibbles(res)[3:] @@ -683,17 +683,17 @@ imsi = opts.imsi cp = read_params_csv(opts, imsi=imsi, iccid=iccid) if cp is None: - print "Error reading parameters\n" + print("Error reading parameters\n") sys.exit(2) print_parameters(cp) if opts.dry_run is False: # Program the card - print "Programming ..." + print("Programming ...") if opts.dry_run is not True: card.program(cp) else: - print "Dry Run: NOT PROGRAMMING!" + print("Dry Run: NOT PROGRAMMING!") # Write parameters permanently write_parameters(opts, cp) @@ -704,7 +704,7 @@ save_batch(opts) # Done for this card and maybe for everything ? - print "Done !\n" + print("Done !\n") if not opts.batch_mode: done = True diff --git a/pySim-read.py b/pySim-read.py index 17fce61..6b2fed6 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -123,43 +123,43 @@ # EF.PLMNsel try: - (res, sw) = scc.read_binary(EF['PLMNsel']) - if sw == '9000': - print("PLMNsel: %s" % (res)) - else: - print("PLMNsel: Can't read, response code = %s" % (sw,)) + (res, sw) = scc.read_binary(EF['PLMNsel']) + if sw == '9000': + print("PLMNsel: %s" % (res)) + else: + print("PLMNsel: Can't read, response code = %s" % (sw,)) except Exception as e: - print "HPLMNAcT: Can't read file -- " + str(e) + print("HPLMNAcT: Can't read file -- " + str(e)) # EF.PLMNwAcT - try: - (res, sw) = scc.read_binary(EF['PLMNwAcT']) - if sw == '9000': - print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("PLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['PLMNwAcT']) + if sw == '9000': + print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("PLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: - print "PLMNwAcT: Can't read file -- " + str(e) + print("PLMNwAcT: Can't read file -- " + str(e)) # EF.OPLMNwAcT - try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) - if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: - print "OPLMNwAcT: Can't read file -- " + str(e) + print("OPLMNwAcT: Can't read file -- " + str(e)) # EF.HPLMNAcT - try: - (res, sw) = scc.read_binary(EF['HPLMNAcT']) - if sw == '9000': - print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("HPLMNAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['HPLMNAcT']) + if sw == '9000': + print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("HPLMNAcT: Can't read, response code = %s" % (sw,)) except Exception as e: - print "HPLMNAcT: Can't read file -- " + str(e) + print("HPLMNAcT: Can't read file -- " + str(e)) # EF.ACC (res, sw) = scc.read_binary(['3f00', '7f20', '6f78']) @@ -180,7 +180,7 @@ else: print("MSISDN: Can't read, response code = %s" % (sw,)) except Exception as e: - print "MSISDN: Can't read file -- " + str(e) + print("MSISDN: Can't read file -- " + str(e)) # EF.AD (res, sw) = scc.read_binary(['3f00', '7f20', '6fad']) @@ -190,4 +190,4 @@ print("AD: Can't read, response code = %s" % (sw,)) # Done for this card and maybe for everything ? - print "Done !\n" + print("Done !\n") diff --git a/pySim/cards.py b/pySim/cards.py index cda337a..41723c4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -85,11 +85,11 @@ def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.OPLMNwAcT - data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) @@ -97,19 +97,19 @@ def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.PLMNwAcT - data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size/5-1)) return sw - def update_plmnsel(self, mcc, mnc): - data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) - size = len(data[0])/2 + def update_plmnsel(self, mcc, mnc): + data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) data, sw = self._scc.update_binary(EF['PLMNsel'], hplmn + 'ff' * (size-3)) return sw @@ -119,16 +119,16 @@ return sw def update_ad(self, mnc): - #See also: 3GPP TS 31.102, chapter 4.2.18 - mnclen = len(str(mnc)) - if mnclen == 1: - mnclen = 2 - if mnclen > 3: + #See also: 3GPP TS 31.102, chapter 4.2.18 + mnclen = len(str(mnc)) + if mnclen == 1: + mnclen = 2 + if mnclen > 3: raise RuntimeError('unable to calculate proper mnclen') - data = self._scc.read_binary(EF['AD'], length=None, offset=0) - size = len(data[0])/2 - content = data[0][0:6] + "%02X" % mnclen + data = self._scc.read_binary(EF['AD'], length=None, offset=0) + size = len(data[0])/2 + content = data[0][0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw @@ -394,7 +394,7 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # EF.SMSP - if p.get('smsp'): + if p.get('smsp'): r = self._scc.select_file(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) @@ -426,7 +426,7 @@ """ name = 'sysmosim-gr1' - @classmethod + @classmethod def autodetect(kls, scc): try: # Look for ATR @@ -536,7 +536,7 @@ r = self._scc.select_file(['3f00', '7f10']) # write EF.SMSP - if p.get('smsp'): + if p.get('smsp'): data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) def erase(self): @@ -592,25 +592,25 @@ data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) @@ -848,28 +848,28 @@ if sw != '9000': raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) - # EF.ICCID - # TODO: Add programming of the ICCID - if p.get('iccid'): + # EF.ICCID + # TODO: Add programming of the ICCID + if p.get('iccid'): print("Warning: Programming of the ICCID is not implemented for this type of card.") - # KI (Presumably a propritary file) - # TODO: Add programming of KI - if p.get('ki'): + # KI (Presumably a propritary file) + # TODO: Add programming of KI + if p.get('ki'): print("Warning: Programming of the KI is not implemented for this type of card.") - # OPc (Presumably a propritary file) - # TODO: Add programming of OPc - if p.get('opc'): + # OPc (Presumably a propritary file) + # TODO: Add programming of OPc + if p.get('opc'): print("Warning: Programming of the OPc is not implemented for this type of card.") - # EF.SMSP + # EF.SMSP if p.get('smsp'): sw = self.update_smsp(p['smsp']) if sw != '9000': print("Programming SMSP failed with code %s"%sw) - # EF.IMSI + # EF.IMSI if p.get('imsi'): sw = self.update_imsi(p['imsi']) if sw != '9000': @@ -882,30 +882,30 @@ print("Programming ACC failed with code %s"%sw) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) - return None + return None def erase(self): return diff --git a/pySim/commands.py b/pySim/commands.py index 3d17903..03540b6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -34,7 +34,7 @@ def __get_len_from_tlv(self, fcp): # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF - from pytlv.TLV import TLV + from pytlv.TLV import TLV tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) # pytlv is case sensitive! @@ -62,24 +62,24 @@ return int(tlv_parsed['80'], 16) - # Tell the length of a record by the card response - # USIMs respond with an FCP template, which is different - # from what SIMs responds. See also: - # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data - # SIM: GSM 11.11, chapter 9.2.1 SELECT + # Tell the length of a record by the card response + # USIMs respond with an FCP template, which is different + # from what SIMs responds. See also: + # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data + # SIM: GSM 11.11, chapter 9.2.1 SELECT def __record_len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][28:30], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][28:30], 16) - # Tell the length of a binary file. See also comment - # above. + # Tell the length of a binary file. See also comment + # above. def __len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][4:8], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][4:8], 16) def get_atr(self): return self._tp.get_atr() diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 4b932cd..69e2fe9 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -28,7 +28,7 @@ timeout : Maximum wait time (None=no timeout) newcardonly : Should we wait for a new card, or an already - inserted one ? + inserted one ? """ pass @@ -52,8 +52,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ pass @@ -62,8 +62,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ data, sw = self.send_apdu_raw(pdu) @@ -84,15 +84,15 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") sw : string of 4 hexadecimal characters (ex. "9000"). The - user may mask out certain digits using a '?' to add some - ambiguity if needed. + user may mask out certain digits using a '?' to add some + ambiguity if needed. return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ rv = self.send_apdu(pdu) - # Create a masked version of the returned status word + # Create a masked version of the returned status word sw_masked = "" for i in range(0, 4): if sw.lower()[i] == '?': diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py index 7a2bfd3..f672be2 100644 --- a/pySim/transport/serial.py +++ b/pySim/transport/serial.py @@ -162,7 +162,7 @@ def _dbg_print(self, s): if self._debug: - print s + print(s) def _tx_byte(self, b): self._sl.write(b) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 Gerrit-Change-Number: 15502 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:12:05 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:12:05 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions Message-ID: gnutoo has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15503 Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... python3 conversion: Use python 2 and 3 compatible exceptions Without that we have: $ python3 pySim-read.py Using serial reader (port=/dev/ttyUSB0, baudrate=9600) interface Traceback (most recent call last): File "pySim-read.py", line 91, in from pySim.transport.serial import SerialSimLink File "/home/gnutoo/work/projects/osmocom/pysim/pySim/transport/serial.py", line 29, in from pySim.exceptions import NoCardError, ProtocolError File "/home/gnutoo/work/projects/osmocom/pysim/pySim/exceptions.py", line 26, in import exceptions ModuleNotFoundError: No module named 'exceptions' Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c --- M pySim/exceptions.py 1 file changed, 8 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/15503/1 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 831b1c9..c57b89c 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -23,14 +23,17 @@ from __future__ import absolute_import -import exceptions +try: + # This if for compatibility with python 2 and 3 + from exceptions import Exception +except: + pass - -class NoCardError(exceptions.Exception): +class NoCardError(Exception): pass -class ProtocolError(exceptions.Exception): +class ProtocolError(Exception): pass -class ReaderError(exceptions.Exception): +class ReaderError(Exception): pass -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:12:07 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:12:07 +0000 Subject: Change in ...pysim[master]: switch to python3 Message-ID: gnutoo has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15504 Change subject: switch to python3 ...................................................................... switch to python3 Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M contrib/jenkins.sh M pySim-prog.py M pySim-read.py 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index fdcd0cb..f59b1ff 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -9,7 +9,7 @@ exit 1 fi -virtualenv -p python2 venv --system-site-packages +virtualenv -p python3 venv --system-site-packages . venv/bin/activate pip install pytlv diff --git a/pySim-prog.py b/pySim-prog.py index bb7160e..a01d004 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # # Utility to deal with sim cards and program the 'magic' ones easily diff --git a/pySim-read.py b/pySim-read.py index 6b2fed6..5d1a2ee 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # # Utility to display some informations about a SIM card -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:30:17 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:30:17 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15503 to look at the new patch set (#2). Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... python3 conversion: Use python 2 and 3 compatible exceptions Without that we have: $ python3 pySim-read.py Using serial reader (port=/dev/ttyUSB0, baudrate=9600) interface Traceback (most recent call last): File "pySim-read.py", line 91, in from pySim.transport.serial import SerialSimLink File "/home/gnutoo/work/projects/osmocom/pysim/pySim/transport/serial.py", line 29, in from pySim.exceptions import NoCardError, ProtocolError File "/home/gnutoo/work/projects/osmocom/pysim/pySim/exceptions.py", line 26, in import exceptions ModuleNotFoundError: No module named 'exceptions' Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c --- M pySim/exceptions.py 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/15503/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:32:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 14:32:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > could you add some info on whether this will break the current test suite until fix X is merged, or whether this fixes the current tests...? > > I'll do it soon. I'm not sure if it will start failing with current osmo-sgsn implementation since I was trying a modified version with some fixes in auth code I was attempting. Tests doesn't break with current master, so everything's fine. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Sep 2019 14:32:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:33:13 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:33:13 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency Message-ID: gnutoo has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/15505 Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... python3 conversion: fix tabs and spaces inconsistency Without that fix we have: $ python3 pySim-read.py File "pySim-read.py", line 135 try: ^ TabError: inconsistent use of tabs and spaces in indentation The following command was used to do the conversion: sed 's# #\t#g' -i $(find -name "*.py") Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f --- M pySim-prog.py M pySim-read.py M pySim/cards.py M pySim/commands.py M pySim/transport/__init__.py 5 files changed, 112 insertions(+), 112 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/15505/1 diff --git a/pySim-prog.py b/pySim-prog.py index 8abce0a..0fd92d4 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -127,7 +127,7 @@ ) parser.add_option("--acc", dest="acc", help="Set ACC bits (Access Control Code). not all card types are supported", - ) + ) parser.add_option("--read-imsi", dest="read_imsi", action="store_true", help="Read the IMSI from the CARD", default=False ) @@ -170,8 +170,8 @@ print kls.name sys.exit(0) - if options.probe: - return options + if options.probe: + return options if options.source == 'csv': if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False) and (options.read_iccid is False): @@ -393,7 +393,7 @@ else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: + if opts.pin_adm_hex is not None: if len(opts.pin_adm_hex) == 16: pin_adm = opts.pin_adm_hex # Ensure that it's hex-encoded @@ -452,8 +452,8 @@ f = open(opts.read_csv, 'r') cr = csv.DictReader(f) i = 0 - if not 'iccid' in cr.fieldnames: - raise Exception("CSV file in wrong format!") + if not 'iccid' in cr.fieldnames: + raise Exception("CSV file in wrong format!") for row in cr: if opts.num is not None and opts.read_iccid is False and opts.read_imsi is False: if opts.num == i: @@ -648,9 +648,9 @@ else: sys.exit(-1) - # Probe only - if opts.probe: - break; + # Probe only + if opts.probe: + break; # Erase if requested if opts.erase: @@ -662,8 +662,8 @@ if opts.source == 'cmdline': cp = gen_parameters(opts) elif opts.source == 'csv': - imsi = None - iccid = None + imsi = None + iccid = None if opts.read_iccid: if opts.dry_run: # Connect transport @@ -671,8 +671,8 @@ sl.wait_for_card(newcardonly=not first) (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) iccid = dec_iccid(res) - print iccid - elif opts.read_imsi: + print iccid + elif opts.read_imsi: if opts.dry_run: # Connect transport print "Insert card now (or CTRL-C to cancel)" diff --git a/pySim-read.py b/pySim-read.py index 17fce61..4bfa900 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -123,41 +123,41 @@ # EF.PLMNsel try: - (res, sw) = scc.read_binary(EF['PLMNsel']) - if sw == '9000': - print("PLMNsel: %s" % (res)) - else: - print("PLMNsel: Can't read, response code = %s" % (sw,)) + (res, sw) = scc.read_binary(EF['PLMNsel']) + if sw == '9000': + print("PLMNsel: %s" % (res)) + else: + print("PLMNsel: Can't read, response code = %s" % (sw,)) except Exception as e: print "HPLMNAcT: Can't read file -- " + str(e) # EF.PLMNwAcT - try: - (res, sw) = scc.read_binary(EF['PLMNwAcT']) - if sw == '9000': - print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("PLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['PLMNwAcT']) + if sw == '9000': + print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("PLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "PLMNwAcT: Can't read file -- " + str(e) # EF.OPLMNwAcT - try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) - if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "OPLMNwAcT: Can't read file -- " + str(e) # EF.HPLMNAcT - try: - (res, sw) = scc.read_binary(EF['HPLMNAcT']) - if sw == '9000': - print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("HPLMNAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['HPLMNAcT']) + if sw == '9000': + print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("HPLMNAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "HPLMNAcT: Can't read file -- " + str(e) diff --git a/pySim/cards.py b/pySim/cards.py index cda337a..41723c4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -85,11 +85,11 @@ def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.OPLMNwAcT - data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) @@ -97,19 +97,19 @@ def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.PLMNwAcT - data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size/5-1)) return sw - def update_plmnsel(self, mcc, mnc): - data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) - size = len(data[0])/2 + def update_plmnsel(self, mcc, mnc): + data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) data, sw = self._scc.update_binary(EF['PLMNsel'], hplmn + 'ff' * (size-3)) return sw @@ -119,16 +119,16 @@ return sw def update_ad(self, mnc): - #See also: 3GPP TS 31.102, chapter 4.2.18 - mnclen = len(str(mnc)) - if mnclen == 1: - mnclen = 2 - if mnclen > 3: + #See also: 3GPP TS 31.102, chapter 4.2.18 + mnclen = len(str(mnc)) + if mnclen == 1: + mnclen = 2 + if mnclen > 3: raise RuntimeError('unable to calculate proper mnclen') - data = self._scc.read_binary(EF['AD'], length=None, offset=0) - size = len(data[0])/2 - content = data[0][0:6] + "%02X" % mnclen + data = self._scc.read_binary(EF['AD'], length=None, offset=0) + size = len(data[0])/2 + content = data[0][0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw @@ -394,7 +394,7 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # EF.SMSP - if p.get('smsp'): + if p.get('smsp'): r = self._scc.select_file(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) @@ -426,7 +426,7 @@ """ name = 'sysmosim-gr1' - @classmethod + @classmethod def autodetect(kls, scc): try: # Look for ATR @@ -536,7 +536,7 @@ r = self._scc.select_file(['3f00', '7f10']) # write EF.SMSP - if p.get('smsp'): + if p.get('smsp'): data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) def erase(self): @@ -592,25 +592,25 @@ data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) @@ -848,28 +848,28 @@ if sw != '9000': raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) - # EF.ICCID - # TODO: Add programming of the ICCID - if p.get('iccid'): + # EF.ICCID + # TODO: Add programming of the ICCID + if p.get('iccid'): print("Warning: Programming of the ICCID is not implemented for this type of card.") - # KI (Presumably a propritary file) - # TODO: Add programming of KI - if p.get('ki'): + # KI (Presumably a propritary file) + # TODO: Add programming of KI + if p.get('ki'): print("Warning: Programming of the KI is not implemented for this type of card.") - # OPc (Presumably a propritary file) - # TODO: Add programming of OPc - if p.get('opc'): + # OPc (Presumably a propritary file) + # TODO: Add programming of OPc + if p.get('opc'): print("Warning: Programming of the OPc is not implemented for this type of card.") - # EF.SMSP + # EF.SMSP if p.get('smsp'): sw = self.update_smsp(p['smsp']) if sw != '9000': print("Programming SMSP failed with code %s"%sw) - # EF.IMSI + # EF.IMSI if p.get('imsi'): sw = self.update_imsi(p['imsi']) if sw != '9000': @@ -882,30 +882,30 @@ print("Programming ACC failed with code %s"%sw) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) - return None + return None def erase(self): return diff --git a/pySim/commands.py b/pySim/commands.py index 3d17903..03540b6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -34,7 +34,7 @@ def __get_len_from_tlv(self, fcp): # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF - from pytlv.TLV import TLV + from pytlv.TLV import TLV tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) # pytlv is case sensitive! @@ -62,24 +62,24 @@ return int(tlv_parsed['80'], 16) - # Tell the length of a record by the card response - # USIMs respond with an FCP template, which is different - # from what SIMs responds. See also: - # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data - # SIM: GSM 11.11, chapter 9.2.1 SELECT + # Tell the length of a record by the card response + # USIMs respond with an FCP template, which is different + # from what SIMs responds. See also: + # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data + # SIM: GSM 11.11, chapter 9.2.1 SELECT def __record_len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][28:30], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][28:30], 16) - # Tell the length of a binary file. See also comment - # above. + # Tell the length of a binary file. See also comment + # above. def __len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][4:8], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][4:8], 16) def get_atr(self): return self._tp.get_atr() diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 4b932cd..69e2fe9 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -28,7 +28,7 @@ timeout : Maximum wait time (None=no timeout) newcardonly : Should we wait for a new card, or an already - inserted one ? + inserted one ? """ pass @@ -52,8 +52,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ pass @@ -62,8 +62,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ data, sw = self.send_apdu_raw(pdu) @@ -84,15 +84,15 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") sw : string of 4 hexadecimal characters (ex. "9000"). The - user may mask out certain digits using a '?' to add some - ambiguity if needed. + user may mask out certain digits using a '?' to add some + ambiguity if needed. return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ rv = self.send_apdu(pdu) - # Create a masked version of the returned status word + # Create a masked version of the returned status word sw_masked = "" for i in range(0, 4): if sw.lower()[i] == '?': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:33:48 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:33:48 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use braces around print calls In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15502 to look at the new patch set (#2). Change subject: python3 conversion: Use braces around print calls ...................................................................... python3 conversion: Use braces around print calls This is required to run under python3. Without it we have errors that looks like that: $ python3 pySim-read.py File "pySim-read.py", line 132 print "HPLMNAcT: Can't read file -- " + str(e) SyntaxError: invalid syntax Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 --- M pySim-prog.py M pySim-read.py M pySim/transport/serial.py 3 files changed, 21 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/15502/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 Gerrit-Change-Number: 15502 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:33:48 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:33:48 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15503 to look at the new patch set (#3). Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... python3 conversion: Use python 2 and 3 compatible exceptions Without that we have: $ python3 pySim-read.py Using serial reader (port=/dev/ttyUSB0, baudrate=9600) interface Traceback (most recent call last): File "pySim-read.py", line 91, in from pySim.transport.serial import SerialSimLink File "/home/gnutoo/work/projects/osmocom/pysim/pySim/transport/serial.py", line 29, in from pySim.exceptions import NoCardError, ProtocolError File "/home/gnutoo/work/projects/osmocom/pysim/pySim/exceptions.py", line 26, in import exceptions ModuleNotFoundError: No module named 'exceptions' Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c --- M pySim/exceptions.py 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/15503/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 14:33:48 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Thu, 12 Sep 2019 14:33:48 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15504 to look at the new patch set (#3). Change subject: switch to python3 ...................................................................... switch to python3 Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M contrib/jenkins.sh M pySim-prog.py M pySim-read.py 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:05:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 16:05:49 +0000 Subject: Change in ...osmo-pcu[master]: Introduce osmo_tdef infra and timer VTY commands In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15425 ) Change subject: Introduce osmo_tdef infra and timer VTY commands ...................................................................... Introduce osmo_tdef infra and timer VTY commands This will allow for configuration of some of the timers by the user, and allow him to inspect current values being used. It will be also useful for TTCN3 tests which may want to test some of the timers without having to wait for lots of time. Timers are splitted into 2 groups: BTS controlled ones and PCU controlled ones. The BTS controlled ones are read-only by the user (hence no "timer" VTY command is provided to change them). TbfTest.err output changes due to timers being set up correctly as a consequence of changes. Other application such as pcu_emu.cpp and pcu_main.cpp had to previosuly set the initial values by hand (and did so), but apparently TbfTest.c was missing that part, which is now fixed for free. Depends: libosmocore.git Id56a1226d724a374f04231df85fe5b49ffd2c43c Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 --- M doc/manuals/vty/osmo-pcu_vty_reference.xml M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.err 12 files changed, 403 insertions(+), 307 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index ea2d674..4584ad8 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -388,6 +388,20 @@ + + + + + + + + + + + + + + @@ -797,6 +811,20 @@ + + + + + + + + + + + + + + @@ -1876,5 +1904,13 @@ + + + + + + + + diff --git a/src/bts.cpp b/src/bts.cpp index 60f74dd..a913ca0 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -68,6 +68,21 @@ static BTS s_bts; +static struct osmo_tdef T_defs_bts[] = { + { .T=3142, .default_val=20, .unit=OSMO_TDEF_S, .desc="timer (s)", .val=0 }, + { .T=3169, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (s)", .val=0 }, + { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (s)", .val=0 }, + { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (ms)", .val=0 }, + { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (s)", .val=0 }, + {} +}; +static struct osmo_tdef T_defs_pcu[] = { + { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, + { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, + { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, + {} +}; + /** * For gcc-4.4 compat do not use extended initializer list but keep the * order from the enum here. Once we support GCC4.7 and up we can change @@ -217,6 +232,10 @@ memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; m_bts.dl_tbf_preemptive_retransmission = true; + m_bts.T_defs_bts = T_defs_bts; + m_bts.T_defs_pcu = T_defs_pcu; + osmo_tdefs_reset(m_bts.T_defs_bts); + osmo_tdefs_reset(m_bts.T_defs_pcu); /* initialize back pointers */ for (size_t trx_no = 0; trx_no < ARRAY_SIZE(m_bts.trx); ++trx_no) { @@ -570,7 +589,7 @@ LOGP(DRLCMAC, LOGL_DEBUG, "Got IMM.ASS confirm for TLLI=%08x\n", tlli); if (dl_tbf->m_wait_confirm) - T_START(dl_tbf, T0, 0, T_ASS_AGCH_USEC, "assignment (AGCH)", true); + T_START(dl_tbf, T0, -2002, "assignment (AGCH)", true); return 0; } @@ -761,7 +780,7 @@ tbf->set_ta(ta); TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); - T_START(tbf, T3169, m_bts.t3169, 0, "RACH (new UL-TBF)", true); + T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] START\n"); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] RACH " "qbit-ta=%d ra=0x%02x, Fn=%d " diff --git a/src/bts.h b/src/bts.h index 45d52a9..6d92ae1 100644 --- a/src/bts.h +++ b/src/bts.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -117,11 +118,9 @@ uint32_t llc_discard_csec; uint32_t llc_idle_ack_csec; uint32_t llc_codel_interval_msec; /* 0=disabled, -1=use default interval */ - uint8_t t3142; - uint8_t t3169; - uint8_t t3191; - uint16_t t3193_msec; - uint8_t t3195; + /* Timer defintions */ + struct osmo_tdef *T_defs_bts; /* timers controlled by BTS, received through PCUIF */ + struct osmo_tdef *T_defs_pcu; /* timers controlled by PCU */ uint8_t n3101; uint8_t n3103; uint8_t n3105; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index da85df4..6ffebcf 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -508,11 +508,11 @@ if (!bts->cs1 && !bts->cs2 && !bts->cs3 && !bts->cs4) bts->cs1 = 1; if (info_ind->t3142) { /* if timer values are set */ - bts->t3142 = info_ind->t3142; - bts->t3169 = info_ind->t3169; - bts->t3191 = info_ind->t3191; - bts->t3193_msec = info_ind->t3193_10ms * 10; - bts->t3195 = info_ind->t3195; + osmo_tdef_set(bts->T_defs_bts, 3142, info_ind->t3142, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs_bts, 3169, info_ind->t3169, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs_bts, 3191, info_ind->t3191, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs_bts, 3193, info_ind->t3193_10ms * 10, OSMO_TDEF_MS); + osmo_tdef_set(bts->T_defs_bts, 3195, info_ind->t3195, OSMO_TDEF_S); bts->n3101 = info_ind->n3101; bts->n3103 = info_ind->n3103; bts->n3105 = info_ind->n3105; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 21cb244..6f71ca5 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -202,11 +202,6 @@ bts->initial_cs_dl = bts->initial_cs_ul = 1; bts->initial_mcs_dl = bts->initial_mcs_ul = 1; bts->cs1 = 1; - bts->t3142 = 20; - bts->t3169 = 5; - bts->t3191 = 5; - bts->t3193_msec = 100; - bts->t3195 = 5; bts->n3101 = 10; bts->n3103 = 4; bts->n3105 = 8; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index a566e73..380b173 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -1109,6 +1111,38 @@ return CMD_SUCCESS; } +DEFUN(show_bts_timer, show_bts_timer_cmd, + "show bts-timer " OSMO_TDEF_VTY_ARG_T_OPTIONAL, + SHOW_STR "Show BTS controlled timers\n" + OSMO_TDEF_VTY_DOC_T) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + const char *T_arg = argc > 0 ? argv[0] : NULL; + return osmo_tdef_vty_show_cmd(vty, bts->T_defs_bts, T_arg, NULL); +} + +DEFUN(show_timer, show_timer_cmd, + "show timer " OSMO_TDEF_VTY_ARG_T_OPTIONAL, + SHOW_STR "Show PCU timers\n" + OSMO_TDEF_VTY_DOC_T) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + const char *T_arg = argc > 0 ? argv[0] : NULL; + return osmo_tdef_vty_show_cmd(vty, bts->T_defs_pcu, T_arg, NULL); +} + +DEFUN(cfg_pcu_timer, cfg_pcu_timer_cmd, + "timer " OSMO_TDEF_VTY_ARG_SET_OPTIONAL, + "Configure or show PCU timers\n" + OSMO_TDEF_VTY_DOC_SET) +{ + struct gprs_rlcmac_bts *bts = bts_main_data(); + /* If any arguments are missing, redirect to 'show' */ + if (argc < 2) + return show_timer(self, vty, argc, argv); + return osmo_tdef_vty_set_cmd(vty, bts->T_defs_pcu, argv); +} + DEFUN(show_tbf, show_tbf_cmd, "show tbf (all|ccch|pacch)", @@ -1251,12 +1285,15 @@ install_element(PCU_NODE, &cfg_pcu_no_gsmtap_categ_cmd); install_element(PCU_NODE, &cfg_pcu_sock_cmd); install_element(PCU_NODE, &cfg_pcu_gb_dialect_cmd); + install_element(PCU_NODE, &cfg_pcu_timer_cmd); install_element_ve(&show_bts_stats_cmd); install_element_ve(&show_tbf_cmd); install_element_ve(&show_ms_all_cmd); install_element_ve(&show_ms_tlli_cmd); install_element_ve(&show_ms_imsi_cmd); + install_element_ve(&show_bts_timer_cmd); + install_element_ve(&show_timer_cmd); return 0; } diff --git a/src/tbf.cpp b/src/tbf.cpp index d3021e4..37435f5 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -428,7 +428,7 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); - T_START(tbf, T3169, bts->t3169, 0, "allocation (UL-TBF)", true); + T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -661,12 +661,18 @@ T_CBACK(T3193, false) T_CBACK(T3195, true) -void gprs_rlcmac_tbf::t_start(enum tbf_timers t, uint32_t sec, uint32_t microsec, const char *reason, bool force, +void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) { int current_fn = get_current_fn(); + int sec; + int microsec; + struct osmo_tdef *tdef; - if (t >= T_MAX) { + if (!(tdef = osmo_tdef_get_entry(bts->bts_data()->T_defs_bts, T))) + tdef = osmo_tdef_get_entry(bts->bts_data()->T_defs_pcu, T); + + if (t >= T_MAX || !tdef) { LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to start unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); return; @@ -675,6 +681,20 @@ if (!force && osmo_timer_pending(&Tarr[t])) return; + switch (tdef->unit) { + case OSMO_TDEF_MS: + sec = 0; + microsec = tdef->val * 1000; + break; + case OSMO_TDEF_S: + sec = tdef->val; + microsec = 0; + break; + default: + /* so far only timers using MS and S */ + OSMO_ASSERT(false); + } + LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s %sstarting timer %s [%s] with %u sec. %u microsec, cur_fn=%d\n", tbf_name(this), osmo_timer_pending(&Tarr[t]) ? "re" : "", get_value_string(tbf_timers_names, t), reason, sec, microsec, current_fn); @@ -790,7 +810,7 @@ if (n_inc(N3101)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3169, bts->bts_data()->t3169, 0, "MAX N3101 reached", false); + T_START(this, T3169, 3169, "MAX N3101 reached", false); return; } @@ -805,7 +825,7 @@ if (ul_tbf->n_inc(N3103)) { bts->pkt_ul_ack_nack_poll_failed(); TBF_SET_STATE(ul_tbf, GPRS_RLCMAC_RELEASING); - T_START(ul_tbf, T3169, ul_tbf->bts->bts_data()->t3169, 0, "MAX N3103 reached", false); + T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } /* reschedule UL ack */ @@ -824,7 +844,7 @@ bts->pua_poll_timedout(); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3195, bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(this, T3195, 3195, "MAX N3105 reached", true); bts->rlc_ass_failed(); bts->pua_poll_failed(); return; @@ -843,7 +863,7 @@ bts->pda_poll_timedout(); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3195, bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(this, T3195, 3195, "MAX N3105 reached", true); bts->rlc_ass_failed(); bts->pda_poll_failed(); return; @@ -869,7 +889,7 @@ if (dl_tbf->n_inc(N3105)) { TBF_SET_STATE(dl_tbf, GPRS_RLCMAC_RELEASING); - T_START(dl_tbf, T3195, dl_tbf->bts_data()->t3195, 0, "MAX N3105 reached", true); + T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts->pkt_dl_ack_nack_poll_failed(); bts->rlc_ack_failed(); return; @@ -1321,7 +1341,7 @@ /* Start Tmr only if it is UL TBF */ if (direction == GPRS_RLCMAC_UL_TBF) - T_START(this, T0, 0, T_REJ_PACCH_USEC, "reject (PACCH)", true); + T_START(this, T0, -2000, "reject (PACCH)", true); return msg; diff --git a/src/tbf.h b/src/tbf.h index 16ccf43..6eab9d0 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -42,10 +42,6 @@ * TBF instance */ -#define T_ASS_AGCH_USEC 200000 /* waiting after IMM.ASS confirm */ -#define T_ASS_PACCH_SEC 2 /* timeout for pacch assignment */ -#define T_REJ_PACCH_USEC 2000 /* timeout for tbf reject for PRR*/ - enum gprs_rlcmac_tbf_state { GPRS_RLCMAC_NULL = 0, /* new created TBF */ GPRS_RLCMAC_ASSIGN, /* wait for downlink assignment */ @@ -193,7 +189,7 @@ #define GPRS_RLCMAC_FLAG_TO_DL_ASS 7 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ -#define T_START(tbf, t, sec, usec, r, f) tbf->t_start(t, sec, usec, r, f, __FILE__, __LINE__) +#define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) #define TBF_SET_STATE(t, st) do { t->set_state(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) @@ -250,7 +246,7 @@ void stop_timers(const char *reason); bool timers_pending(enum tbf_timers t); void t_stop(enum tbf_timers t, const char *reason); - void t_start(enum tbf_timers t, uint32_t sec, uint32_t microsec, const char *reason, bool force, + void t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line); int establish_dl_tbf_on_pacch(); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 510a65c..a7671c9 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -499,7 +499,7 @@ TBF_SET_ASS_ON(this, GPRS_RLCMAC_FLAG_PACCH, true); /* start timer */ - T_START(this, T0, T_ASS_PACCH_SEC, 0, "assignment (PACCH)", true); + T_START(this, T0, -2001, "assignment (PACCH)", true); } else { LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); @@ -843,7 +843,7 @@ m_tx_counter = 0; /* start timer whenever we send the final block */ if (is_final) - T_START(this, T3191, bts_data()->t3191, 0, "final block (DL-TBF)", true); + T_START(this, T3191, 3191, "final block (DL-TBF)", true); state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); /* clear poll timeout flag */ @@ -1104,8 +1104,7 @@ TBF_SET_STATE(this, GPRS_RLCMAC_WAIT_RELEASE); /* start T3193 */ - T_START(this, T3193, bts_data()->t3193_msec / 1000, (bts_data()->t3193_msec % 1000) * 1000, - "release (DL-TBF)", true); + T_START(this, T3193, 3193, "release (DL-TBF)", true); /* reset rlc states */ m_tx_counter = 0; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 55c83e7..e4f0083 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -197,7 +197,7 @@ unsigned int block_idx; /* restart T3169 */ - T_START(this, T3169, bts_data()->t3169, 0, "acked (data)", true); + T_START(this, T3169, 3169, "acked (data)", true); /* Increment RX-counter */ this->m_rx_counter++; diff --git a/tests/emu/pcu_emu.cpp b/tests/emu/pcu_emu.cpp index 7ecabe1..7f99355 100644 --- a/tests/emu/pcu_emu.cpp +++ b/tests/emu/pcu_emu.cpp @@ -69,11 +69,6 @@ bts->fc_interval = 100; bts->initial_cs_dl = bts->initial_cs_ul = 1; bts->cs1 = 1; - bts->t3142 = 20; - bts->t3169 = 5; - bts->t3191 = 5; - bts->t3193_msec = 100; - bts->t3195 = 5; bts->n3101 = 10; bts->n3103 = 4; bts->n3105 = 8; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3d1616f..0bc1c42 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -87,7 +87,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 @@ -175,7 +175,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 @@ -455,7 +455,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free @@ -1446,7 +1446,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -1454,7 +1454,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1524,7 +1524,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1545,7 +1545,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1606,7 +1606,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1627,7 +1627,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1694,7 +1694,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because is was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654292, TS=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1738,7 +1738,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf5667788, not yet confirmed Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1760,7 +1760,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-4 because we don't have link quality measurements. -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1805,7 +1805,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1826,7 +1826,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1900,7 +1900,7 @@ Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS Unable to update UL (M)CS CS-1 because we don't have link quality measurements. @@ -1940,7 +1940,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1976,7 +1976,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -1997,7 +1997,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2060,7 +2060,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654275 (17,31,13) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -2068,7 +2068,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2125,7 +2125,7 @@ Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assinment is complete. @@ -2146,7 +2146,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) Unable to update UL (M)CS CS-1 because we don't have link quality measurements. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2787,7 +2787,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=1/0 [DL] Slot Allocation (Algorithm A) for class 1 @@ -3028,7 +3028,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because is was requested explicitly (e.g. first final block sent). TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654461, TS=7) -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 Not accepting non-EGPRS phone in EGPRS-only mode @@ -3144,7 +3144,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -3165,7 +3165,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3234,7 +3234,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -3255,7 +3255,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3265,7 +3265,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3273,7 +3273,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3288,7 +3288,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3296,7 +3296,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3311,7 +3311,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3319,7 +3319,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3327,7 +3327,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3342,7 +3342,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3350,14 +3350,14 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3372,7 +3372,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3380,7 +3380,7 @@ Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3718,7 +3718,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -3974,7 +3974,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4192,7 +4192,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4378,7 +4378,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4544,7 +4544,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4692,7 +4692,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4835,7 +4835,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -4967,7 +4967,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5099,7 +5099,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5154,7 +5154,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5209,7 +5209,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5264,7 +5264,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5335,7 +5335,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5406,7 +5406,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5477,7 +5477,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5548,7 +5548,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5610,7 +5610,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5672,7 +5672,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5734,7 +5734,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5803,7 +5803,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5845,7 +5845,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -5866,7 +5866,7 @@ Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5876,7 +5876,7 @@ Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5887,7 +5887,7 @@ Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6006,7 +6006,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(0) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -6027,7 +6027,7 @@ Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6037,7 +6037,7 @@ Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6135,7 +6135,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6160,7 +6160,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6185,7 +6185,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6210,7 +6210,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6235,7 +6235,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6260,7 +6260,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6285,7 +6285,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -6343,7 +6343,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assinment is complete. @@ -6364,7 +6364,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6374,133 +6374,133 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6509,140 +6509,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6651,140 +6651,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6793,140 +6793,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6936,7 +6936,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -6972,7 +6972,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6982,126 +6982,126 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7110,7 +7110,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7118,7 +7118,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7134,126 +7134,126 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7262,140 +7262,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7404,140 +7404,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7546,140 +7546,140 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7688,14 +7688,14 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7703,7 +7703,7 @@ Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7756,7 +7756,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7781,7 +7781,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7806,7 +7806,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7831,7 +7831,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7856,7 +7856,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7881,7 +7881,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) @@ -7906,7 +7906,7 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 0 sec. 0 microsec, cur_fn=0 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5cfb9ef01706124be262d4536617b9edb4601dd5 Gerrit-Change-Number: 15425 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:48:37 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 16:48:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 to look at the new patch set (#9). Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The test case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15397/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:48:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 16:48:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/#/c/15397/8//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15397/8//COMMIT_MSG at 12 PS8, Line 12: The tess case will crash the SGSN and is not included > test Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 16:48:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:49:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 16:49:22 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: add comments to the scheduler In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15466 ) Change subject: tbf_dl: add comments to the scheduler ...................................................................... tbf_dl: add comments to the scheduler Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 --- M src/tbf_dl.cpp 1 file changed, 13 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index a7671c9..37bd3ee 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -359,6 +359,7 @@ int data_len2, force_data_len = -1; GprsCodingScheme force_cs; + /* search for a nacked or resend marked bsn */ bsn = m_window.resend_needed(); if (previous_bsn >= 0) { @@ -369,6 +370,7 @@ } if (bsn >= 0) { + /* resend an unacked bsn or resend bsn. */ if (previous_bsn == bsn) return -1; @@ -397,9 +399,11 @@ if (m_rlc.block(bsn)->cs_init == MCS8) m_rlc.block(bsn)->cs_current_trans = MCS8; - } else + } else { + /* gprs */ m_rlc.block(bsn)->cs_current_trans = m_rlc.block(bsn)->cs_last; + } data_len2 = m_rlc.block(bsn)->len; if (force_data_len > 0 && force_data_len != data_len2) @@ -409,6 +413,9 @@ m_window.m_v_b.mark_unacked(bsn); bts->rlc_resent(); } else if (state_is(GPRS_RLCMAC_FINISHED)) { + /* If the TBF is in finished, we already sent all packages at least once. + * If any packages could have been sent (because of unacked) it should have + * been catched up by the upper if(bsn >= 0) */ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted.\n", m_window.v_a()); @@ -416,6 +423,8 @@ if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (dl_window_stalled()) { + /* There are no more packages to send, but the window is stalled. + * Restart the bsn_cycle to resend all unacked messages */ LOGPTBFDL(this, LOGL_NOTICE, "Restarting at BSN %d, because the window is stalled.\n", m_window.v_a()); @@ -423,8 +432,8 @@ if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { + /* The window has space left, generate new bsn */ GprsCodingScheme new_cs; - /* New blocks may be send */ new_cs = force_cs ? force_cs : current_cs(); LOGPTBFDL(this, LOGL_DEBUG, "Sending new block at BSN %d, CS=%s\n", @@ -432,6 +441,8 @@ bsn = create_new_bsn(fn, new_cs); } else if (bts->bts_data()->dl_tbf_preemptive_retransmission && !m_window.window_empty()) { + /* The window contains unacked packages, but not acked. + * Mark unacked bsns as RESEND */ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib037f9fda30472313c7a82effb1e925c6abebbe5 Gerrit-Change-Number: 15466 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:59:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 16:59:35 +0000 Subject: Change in ...osmo-sgsn[master]: mm_gb_fsm: unassign the llme when entering MM_IDLE In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 ) Change subject: mm_gb_fsm: unassign the llme when entering MM_IDLE ...................................................................... mm_gb_fsm: unassign the llme when entering MM_IDLE MM_IDLE means there is no known state to this MM. Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/sgsn/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c index 2056540..4e1ed48 100644 --- a/src/sgsn/gprs_mm_state_gb_fsm.c +++ b/src/sgsn/gprs_mm_state_gb_fsm.c @@ -1,6 +1,7 @@ #include #include +#include #include #include @@ -16,6 +17,15 @@ #define mm_state_gb_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, mm_state_gb_fsm_timeouts, sgsn->cfg.T_defs, -1) +static void st_mm_idle_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { + struct sgsn_mm_ctx *ctx = fi->priv; + + if (ctx->gb.llme) { + gprs_llgmm_unassign(ctx->gb.llme); + ctx->gb.llme = NULL; + } +} + static void st_mm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { @@ -59,6 +69,7 @@ [ST_MM_IDLE] = { .in_event_mask = X(E_MM_GPRS_ATTACH) | X(E_MM_PDU_RECEPTION), .out_state_mask = X(ST_MM_READY), + .onenter = st_mm_idle_on_enter, .name = "Idle", .action = st_mm_idle, }, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799 Gerrit-Change-Number: 15479 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 16:59:41 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 16:59:41 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: refactor REQUIRE_MM define In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 ) Change subject: gprs_ranap: refactor REQUIRE_MM define ...................................................................... gprs_ranap: refactor REQUIRE_MM define All branches need a MM context. Exit early if no MM context present. Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f --- M src/sgsn/gprs_ranap.c 1 file changed, 6 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index cad8487..b0d0f8d 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -120,31 +120,24 @@ int rc = -1; mm = sgsn_mm_ctx_by_ue_ctx(ctx); - -#define REQUIRE_MM \ - if (!mm) { \ - LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); \ - return rc; \ + if (!mm) { + LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); + return rc; } switch (type) { case RANAP_IU_EVENT_RAB_ASSIGN: - REQUIRE_MM rc = sgsn_ranap_rab_ass_resp(mm, (RANAP_RAB_SetupOrModifiedItemIEs_t *)data); break; case RANAP_IU_EVENT_IU_RELEASE: /* fall thru */ case RANAP_IU_EVENT_LINK_INVALIDATED: /* Clean up ranap_ue_conn_ctx here */ - if (mm) { - LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); - osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); - } else - LOGIUP(ctx, LOGL_INFO, "IU release\n"); + LOGMMCTXP(LOGL_INFO, mm, "IU release for imsi %s\n", mm->imsi); + osmo_fsm_inst_dispatch(mm->iu.mm_state_fsm, E_PMM_PS_CONN_RELEASE, NULL); rc = 0; break; case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE: - REQUIRE_MM /* Continue authentication here */ mm->iu.ue_ctx->integrity_active = 1; ranap_iu_tx_common_id(mm->iu.ue_ctx, mm->imsi); @@ -156,10 +149,7 @@ osmo_fsm_inst_dispatch(mm->gmm_att_req.fsm, E_IU_SECURITY_CMD_COMPLETE, NULL); break; default: - if (mm) - LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); - else - LOGIUP(ctx, LOGL_NOTICE, "Unknown event received: %i\n", type); + LOGMMCTXP(LOGL_NOTICE, mm, "Unknown event received: %i\n", type); rc = -1; break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f Gerrit-Change-Number: 15480 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:09:59 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 17:09:59 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c at 160 PS2, Line 160: #define TIMEOUT_RANAP_RELEASE_SEC 5 > Looks like this define won't need to be here since timers will be handled in PMM State FSM in . [?] it's the timeout given to the ranap_iu_tx_release free, but I would like to move this into a real timer value -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 17:09:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:11:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 17:11:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15481/2/src/sgsn/gprs_ranap.c at 160 PS2, Line 160: #define TIMEOUT_RANAP_RELEASE_SEC 5 > it's the timeout given to the ranap_iu_tx_release free, but I would like to move this into a real ti [?] It's also not so important, because this timeout will only be used, when the Iu release doesn't work. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 17:11:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:11:38 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 17:11:38 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 2: > Patch Set 2: > > gprs_ranap.c: In function ?sgsn_ranap_iu_release_free?: > gprs_ranap.c:182:2: error: implicit declaration of function ?ranap_iu_tx_release_free? [-Werror=implicit-function-declaration] > ranap_iu_tx_release_free(ctx->iu.ue_ctx, > ^ It's missing a change in osmo-iuh -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 17:11:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:16:38 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 17:16:38 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c File src/sgsn/gprs_mm_state_iu_fsm.c: https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 50 PS2, Line 50: static const struct RANAP_Cause user_inactive_cause = { > why static? it's fine having it in the stack right? shouldn't be static. passing it down the layers isn't a problem. it will be only used while calling the function and later parsed into a pdu -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 17:16:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:54:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 17:54:09 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15506 Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... remsim-apitool: Fix slotmap-create (integer needed, not string!) Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 --- M contrib/remsim-apitool.py M src/server/rest_api.c 2 files changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/15506/1 diff --git a/contrib/remsim-apitool.py b/contrib/remsim-apitool.py index 35c8826..dd62e5e 100755 --- a/contrib/remsim-apitool.py +++ b/contrib/remsim-apitool.py @@ -103,7 +103,8 @@ rest_get("/slotmaps/" + str(args.show_slotmaps)) return if args.create_slotmap: - slotmap_create(args.create_slotmap[0],args.create_slotmap[1],args.create_slotmap[2],args.create_slotmap[3]) + slotmap_create(int(args.create_slotmap[0]), int(args.create_slotmap[1]), + int(args.create_slotmap[2]), int(args.create_slotmap[3])) return if args.delete_slotmap: slotmap_delete(args.delete_slotmap[0],args.delete_slotmap[1]) diff --git a/src/server/rest_api.c b/src/server/rest_api.c index abd46b9..fc7144e 100644 --- a/src/server/rest_api.c +++ b/src/server/rest_api.c @@ -76,14 +76,20 @@ { json_t *jbank_id, *jslot_nr; - if (!json_is_object(in)) + if (!json_is_object(in)) { + printf("%s: bank is not a JSON object\n", __func__); return -EINVAL; + } jbank_id = json_object_get(in, "bankId"); - if (!jbank_id || !json_is_integer(jbank_id)) + if (!jbank_id || !json_is_integer(jbank_id)) { + printf("%s: error parsing bankId\n", __func__); return -EINVAL; + } jslot_nr = json_object_get(in, "slotNr"); - if (!jslot_nr || !json_is_integer(jslot_nr)) + if (!jslot_nr || !json_is_integer(jslot_nr)) { + printf("%s: error parsing slotNd\n", __func__); return -EINVAL; + } bslot->bank_id = json_integer_value(jbank_id); bslot->slot_nr = json_integer_value(jslot_nr); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:57:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 17:57:23 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 to look at the new patch set (#2). Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... remsim-apitool: Fix slotmap-create (integer needed, not string!) Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 --- M contrib/remsim-apitool.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/15506/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 17:57:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 17:57:58 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15506 ) Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tsaitgaist Gerrit-Comment-Date: Thu, 12 Sep 2019 17:57:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:00:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:00:08 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) In-Reply-To: References: Message-ID: Hello tsaitgaist, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 to look at the new patch set (#3). Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... remsim-apitool: Fix slotmap-create (integer needed, not string!) Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 --- M contrib/remsim-apitool.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/15506/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tsaitgaist Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:13:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:13:00 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15506 ) Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Reviewer: tsaitgaist Gerrit-Comment-Date: Thu, 12 Sep 2019 18:13:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:13:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:13:03 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool: Fix slotmap-create (integer needed, not string!) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15506 ) Change subject: remsim-apitool: Fix slotmap-create (integer needed, not string!) ...................................................................... remsim-apitool: Fix slotmap-create (integer needed, not string!) Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 --- M contrib/remsim-apitool.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/remsim-apitool.py b/contrib/remsim-apitool.py index 35c8826..7662ae4 100755 --- a/contrib/remsim-apitool.py +++ b/contrib/remsim-apitool.py @@ -45,8 +45,8 @@ #rest calls def slotmap_create(bank_id, bank_slot, client_id, client_slot): js = { - 'bank': {'bankId': bank_id, 'slotNr': bank_slot}, - 'client': {'clientId': client_id, 'slotNr': client_slot}, + 'bank': {'bankId': int(bank_id), 'slotNr': int(bank_slot)}, + 'client': {'clientId': int(client_id), 'slotNr': int(client_slot)}, } return rest_post('/slotmaps', js) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: If3237de7cf08be49645dfac2e3f7173d43a47e53 Gerrit-Change-Number: 15506 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-Reviewer: tsaitgaist Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:29:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:29:35 +0000 Subject: Change in ...osmo-remsim[master]: rspro_dec_msg: Simplify msgb ownership handling Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15507 Change subject: rspro_dec_msg: Simplify msgb ownership handling ...................................................................... rspro_dec_msg: Simplify msgb ownership handling Initially it seemed like a good idea that rspro_dec_msg() takes care of freeing the input msgb when generating a new decoded output structure. However, in reality this made the implementation of every caller more complicated, as it had to treat messages going into rspro_dec_msg() differently than messages going elsewhere. Adding to that, not every caller got it right, and the comments were disagreeing about what happens to msgb ownership in erroneous cases. Change-Id: I55d5d61922053fd94e2b5a8cdf0d799b29feec98 --- M src/remsim_client.c M src/rspro_client_fsm.c M src/rspro_util.c M src/simtrace2-remsim_client.c 4 files changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/15507/1 diff --git a/src/remsim_client.c b/src/remsim_client.c index e73fcc4..0bfc0a4 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -90,7 +90,6 @@ default: break; } - msgb_free(msg); break; case IPAC_PROTO_OSMO: if (!he || msgb_l2len(msg) < sizeof(*he)) @@ -109,6 +108,7 @@ goto invalid; } + msgb_free(msg); return rc; invalid: diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index d487f32..45cd08e 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -133,7 +133,6 @@ default: break; } - msgb_free(msg); break; case IPAC_PROTO_OSMO: if (!he || msgb_l2len(msg) < sizeof(*he)) @@ -146,7 +145,7 @@ * and unsuccessful cases */ pdu = rspro_dec_msg(msg); if (!pdu) - goto invalid; + break; rc = srvc->handle_rx(srvc, pdu); ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu); break; @@ -157,6 +156,8 @@ default: goto invalid; } + + msgb_free(msg); return rc; invalid: diff --git a/src/rspro_util.c b/src/rspro_util.c index 1e5ce99..5c78b60 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -80,7 +80,7 @@ return msg; } -/* consumes 'msg' _if_ it is successful */ +/* caller must make sure to free msg */ RsproPDU_t *rspro_dec_msg(struct msgb *msg) { RsproPDU_t *pdu = NULL; @@ -91,12 +91,9 @@ if (rval.code != RC_OK) { fprintf(stderr, "Failed to decode: %d. Consumed %lu of %u bytes\n", rval.code, rval.consumed, msgb_length(msg)); - msgb_free(msg); return NULL; } - msgb_free(msg); - return pdu; } diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 094773f..04aa0c6 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -578,7 +578,6 @@ static int bankd_handle_msg(struct bankd_client *bc, struct msgb *msg) { - /* rspro_dec_msg takes ownership of msgb and talloc_free()s it in successful and unsuccessful case */ RsproPDU_t *pdu = rspro_dec_msg(msg); if (!pdu) { LOGPFSML(bc->bankd_fi, LOGL_ERROR, "Error decoding PDU\n"); @@ -628,6 +627,7 @@ LOGPFSML(bc->bankd_fi, LOGL_DEBUG, "Received RSPRO %s\n", msgb_hexdump(msg)); rc = bankd_handle_msg(bc, msg); + msgb_free(msg); return rc; invalid: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I55d5d61922053fd94e2b5a8cdf0d799b29feec98 Gerrit-Change-Number: 15507 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:33:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:33:08 +0000 Subject: Change in ...osmo-remsim[master]: rspro_dec_msg: Simplify msgb ownership handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15507 ) Change subject: rspro_dec_msg: Simplify msgb ownership handling ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I55d5d61922053fd94e2b5a8cdf0d799b29feec98 Gerrit-Change-Number: 15507 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Sep 2019 18:33:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 18:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 18:33:15 +0000 Subject: Change in ...osmo-remsim[master]: rspro_dec_msg: Simplify msgb ownership handling In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15507 ) Change subject: rspro_dec_msg: Simplify msgb ownership handling ...................................................................... rspro_dec_msg: Simplify msgb ownership handling Initially it seemed like a good idea that rspro_dec_msg() takes care of freeing the input msgb when generating a new decoded output structure. However, in reality this made the implementation of every caller more complicated, as it had to treat messages going into rspro_dec_msg() differently than messages going elsewhere. Adding to that, not every caller got it right, and the comments were disagreeing about what happens to msgb ownership in erroneous cases. Change-Id: I55d5d61922053fd94e2b5a8cdf0d799b29feec98 --- M src/remsim_client.c M src/rspro_client_fsm.c M src/rspro_util.c M src/simtrace2-remsim_client.c 4 files changed, 6 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/remsim_client.c b/src/remsim_client.c index e73fcc4..0bfc0a4 100644 --- a/src/remsim_client.c +++ b/src/remsim_client.c @@ -90,7 +90,6 @@ default: break; } - msgb_free(msg); break; case IPAC_PROTO_OSMO: if (!he || msgb_l2len(msg) < sizeof(*he)) @@ -109,6 +108,7 @@ goto invalid; } + msgb_free(msg); return rc; invalid: diff --git a/src/rspro_client_fsm.c b/src/rspro_client_fsm.c index d487f32..45cd08e 100644 --- a/src/rspro_client_fsm.c +++ b/src/rspro_client_fsm.c @@ -133,7 +133,6 @@ default: break; } - msgb_free(msg); break; case IPAC_PROTO_OSMO: if (!he || msgb_l2len(msg) < sizeof(*he)) @@ -146,7 +145,7 @@ * and unsuccessful cases */ pdu = rspro_dec_msg(msg); if (!pdu) - goto invalid; + break; rc = srvc->handle_rx(srvc, pdu); ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu); break; @@ -157,6 +156,8 @@ default: goto invalid; } + + msgb_free(msg); return rc; invalid: diff --git a/src/rspro_util.c b/src/rspro_util.c index 1e5ce99..5c78b60 100644 --- a/src/rspro_util.c +++ b/src/rspro_util.c @@ -80,7 +80,7 @@ return msg; } -/* consumes 'msg' _if_ it is successful */ +/* caller must make sure to free msg */ RsproPDU_t *rspro_dec_msg(struct msgb *msg) { RsproPDU_t *pdu = NULL; @@ -91,12 +91,9 @@ if (rval.code != RC_OK) { fprintf(stderr, "Failed to decode: %d. Consumed %lu of %u bytes\n", rval.code, rval.consumed, msgb_length(msg)); - msgb_free(msg); return NULL; } - msgb_free(msg); - return pdu; } diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 094773f..04aa0c6 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -578,7 +578,6 @@ static int bankd_handle_msg(struct bankd_client *bc, struct msgb *msg) { - /* rspro_dec_msg takes ownership of msgb and talloc_free()s it in successful and unsuccessful case */ RsproPDU_t *pdu = rspro_dec_msg(msg); if (!pdu) { LOGPFSML(bc->bankd_fi, LOGL_ERROR, "Error decoding PDU\n"); @@ -628,6 +627,7 @@ LOGPFSML(bc->bankd_fi, LOGL_DEBUG, "Received RSPRO %s\n", msgb_hexdump(msg)); rc = bankd_handle_msg(bc, msg); + msgb_free(msg); return rc; invalid: -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I55d5d61922053fd94e2b5a8cdf0d799b29feec98 Gerrit-Change-Number: 15507 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:24:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 20:24:00 +0000 Subject: Change in ...docker-playground[master]: add osmo-resmsim-master Docker container Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15508 Change subject: add osmo-resmsim-master Docker container ...................................................................... add osmo-resmsim-master Docker container this will be used in upcoming TTCN-3 tests for osmo-remsim Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f --- A osmo-remsim-master/.release A osmo-remsim-master/Dockerfile A osmo-remsim-master/Makefile A osmo-remsim-master/Release.key 4 files changed, 76 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/08/15508/1 diff --git a/osmo-remsim-master/.release b/osmo-remsim-master/.release new file mode 100644 index 0000000..24401d3 --- /dev/null +++ b/osmo-remsim-master/.release @@ -0,0 +1 @@ +release=0.0.0 diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile new file mode 100644 index 0000000..1a89307 --- /dev/null +++ b/osmo-remsim-master/Dockerfile @@ -0,0 +1,52 @@ +ARG USER +FROM $USER/debian-stretch-build + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libpcsclite-dev \ + libcsv-dev \ + libjansson-dev \ + libulfius-dev \ + liborcania-dev && \ + apt-get clean + +#ADD respawn.sh /usr/local/bin/respawn.sh + +WORKDIR /tmp + +ARG OSMO_REMSIM_BRANCH="master" + +RUN git clone git://git.osmocom.org/osmo-remsim.git +ADD http://git.osmocom.org/osmo-remsim/patch?h=$OSMO_REMSIM_BRANCH /tmp/commit-osmo-remsim + +RUN cd osmo-remsim && \ + git fetch && git checkout $OSMO_REMSIM_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_REMSIM_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure && \ + make -j8 install + +VOLUME /data + +#COPY osmo-bts.cfg /data/osmo-bts.cfg + +WORKDIR /data +CMD ["/usr/local/bin/osmo-resmim-server"] + +#EXPOSE diff --git a/osmo-remsim-master/Makefile b/osmo-remsim-master/Makefile new file mode 100644 index 0000000..2e0e850 --- /dev/null +++ b/osmo-remsim-master/Makefile @@ -0,0 +1,3 @@ +#RUN_ARGS?=--rm --network sigtran --ip 172.18.0.210 -v bts-vol:/data + +include ../make/Makefile diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-remsim-master/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f Gerrit-Change-Number: 15508 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:24:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 20:24:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP: RSPRO Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 Change subject: WIP: RSPRO ...................................................................... WIP: RSPRO Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 --- M deps/Makefile A remsim/REMSIM_Tests.cfg A remsim/REMSIM_Tests.ttcn A remsim/RSPRO.asn A remsim/RSPRO_EncDec.cc A remsim/RSPRO_Server.ttcn A remsim/RSPRO_Types.ttcn A remsim/RSRES.ttcn A remsim/RemsimBankd_Tests.ttcn A remsim/RemsimClient_Tests.ttcn A remsim/RemsimServer_Tests.ttcn A remsim/gen_links.sh A remsim/regen_makefile.sh 13 files changed, 2,172 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/15509/1 diff --git a/deps/Makefile b/deps/Makefile index ed265c0..ec31e59 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -22,6 +22,7 @@ titan.ProtocolModules.ICMP \ titan.ProtocolModules.ICMPv6 \ titan.ProtocolModules.IP \ + titan.ProtocolModules.JSON_v07_2006 \ titan.ProtocolModules.L2TP \ titan.ProtocolModules.M3UA \ titan.ProtocolModules.SMPP \ @@ -30,6 +31,8 @@ titan.ProtocolModules.RTP \ titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ titan.TestPorts.Common_Components.Socket-API \ + titan.TestPorts.Common_Components.Abstract_Socket \ + titan.TestPorts.HTTPmsg \ titan.TestPorts.IPL4asp \ titan.TestPorts.LANL2asp \ titan.TestPorts.PCAPasp \ @@ -84,6 +87,7 @@ titan.ProtocolModules.ICMPv6_commit= R.2.A titan.ProtocolModules.IP_commit= R.10.B-1-g99d0ec9 titan.ProtocolModules.ISUP_Q.762_commit= R.8.A +titan.ProtocolModules.JSON_v07_2006_commit= R.1.A titan.ProtocolModules.L2TP_commit= R.2.A titan.ProtocolModules.LLC_v7.1.0_commit= 2a3c09fbf7bae22f802aa88689800f38a1f3732d titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d @@ -104,7 +108,9 @@ titan.ProtocolModules.TCP_commit= R.3.A titan.ProtocolModules.UDP_commit= R.4.A titan.TestPorts.Common_Components.Socket-API_commit= R.6.A +titan.TestPorts.Common_Components.Abstract_Socket_commit= R.9.B titan.TestPorts.GPIO_commit= R.3.A +titan.TestPorts.HTTPmsg_commit= R.9.B titan.TestPorts.IPL4asp_commit= R.29.A titan.TestPorts.LANL2asp_commit= R.8.B titan.TestPorts.MTP3asp_commit= 1cecdad6f3641a5f19b3833703bff6e5005eff11 diff --git a/remsim/REMSIM_Tests.cfg b/remsim/REMSIM_Tests.cfg new file mode 100644 index 0000000..21cc06f --- /dev/null +++ b/remsim/REMSIM_Tests.cfg @@ -0,0 +1,10 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +#"./REMSIM_Tests.default" + +# +[TESTPORT_PARAMETERS] +system.HTTP.http_debugging := "yes" +system.HTTP.use_notification_ASPs := "no" diff --git a/remsim/REMSIM_Tests.ttcn b/remsim/REMSIM_Tests.ttcn new file mode 100644 index 0000000..ce204f8 --- /dev/null +++ b/remsim/REMSIM_Tests.ttcn @@ -0,0 +1,237 @@ +module REMSIM_Tests { + +import from IPL4asp_Types all; +import from RSPRO all; +import from RSPRO_Types all; +import from IPA_Types all; +import from IPA_Emulation all; + + +modulepar { + charstring mp_bankd_ip := "127.0.0.1"; + integer mp_bankd_port := 9999; + + charstring mp_server_ip := "127.0.0.1"; + integer mp_server_port := 9998; + + integer mp_rsres_port := 9997; +} + +const integer NUM_CLIENT := 3; + +type record RSPRO_Client { + IPA_Emulation_CT vc_IPA, + IPA_CCM_Parameters ccm_pars, + charstring id, + ComponentIdentity rspro_id, + + ClientSlot rspro_client_slot optional, + BankId rspro_bank_id optional, + SlotNumber rspro_bank_nslots optional +}; + +type component rspro_client_CT { + var RSPRO_Client rspro[NUM_CLIENT]; + port IPA_RSPRO_PT RSPRO[NUM_CLIENT]; +}; + +private altstep as_ignore_id_ack(integer i := 0) runs on rspro_client_CT { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } +} + +function f_rspro_init(inout RSPRO_Client clnt, charstring dst_host, integer dst_port, + ComponentIdentity rspro_id, integer i) +runs on rspro_client_CT +{ + timer T := 4.0; + + clnt.id := "RSPRO" & int2str(i); + clnt.vc_IPA := IPA_Emulation_CT.create(clnt.id); + clnt.ccm_pars := c_IPA_default_ccm_pars; + clnt.ccm_pars.name := "Osmocom TTCN-3 RSPRO client simulator"; + clnt.rspro_id := rspro_id; + + /* leave it up to the caller to set those */ + clnt.rspro_client_slot := omit; + clnt.rspro_bank_id := omit; + clnt.rspro_bank_nslots := omit; + + map(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + connect(clnt.vc_IPA:IPA_RSPRO_PORT, self:RSPRO[i]); + + clnt.vc_IPA.start(IPA_Emulation.main_client(dst_host, dst_port, "", 10000+i, clnt.ccm_pars)); + + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + mtc.stop; + } + } + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_ID_ACK"); + mtc.stop; + } + } + + + activate(as_ignore_id_ack(i)); +} + +function f_rspro_fini(inout RSPRO_Client clnt, integer i) +runs on rspro_client_CT { + clnt.vc_IPA.stop; + disconnect(clnt.vc_IPA:IPA_RSPRO_PORT, self:RSPRO[i]); + unmap(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); +} + + +function f_rspro_exp(template RsproPDU exp, integer i := 0) +runs on rspro_client_CT return RsproPDU +{ + var RsproPDU pdu; + + timer T := 10.0; + T.start; + alt { + [] RSPRO[i].receive(exp) -> value pdu { + setverdict(pass); + } + [] RSPRO[i].receive(RsproPDU:?) -> value pdu { + setverdict(fail, "Received unexpected RPSRO", pdu); + mtc.stop; + } + [] RSPRO[i].receive { + setverdict(fail, "Received unexpected != RPSRO"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp); + mtc.stop; + } + } + return pdu; +} + +function f_rspro_exp_disconnect(integer i := 0) +runs on rspro_client_CT { + timer T := 10.0; + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout expecting disconnect"); + mtc.stop; + } + } +} + + +function f_rspro_connect_client(integer i, template ResultCode exp_res := ok) runs on rspro_client_CT +{ + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + RSPRO[i].send(ts_RSPRO_ConnectClientReq(rspro[i].rspro_id, rspro[i].rspro_client_slot)); + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, exp_res), i); + } + case (remsimBankd) { + var template IpAddress ip := ts_IPv4(mp_bankd_ip); + RSPRO[i].send(ts_RSPRO_ConnectBankReq(rspro[i].rspro_id, rspro[i].rspro_bank_id, + rspro[i].rspro_bank_nslots, + ts_IpPort(ip, mp_bankd_port))); + f_rspro_exp(tr_RSPRO_ConnectBankRes(?, exp_res), i); + } + case else { + setverdict(fail, "Unsupported type ", rspro[i].rspro_id.type_); + mtc.stop; + } + } +} + +function f_rspro_connect_clients() runs on rspro_client_CT +{ + var integer i; + + for (i := 0; i < NUM_CLIENT; i := i+1) { + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + RSPRO[i].send(ts_RSPRO_ConnectClientReq(rspro[i].rspro_id, + rspro[i].rspro_client_slot)); + } + case (remsimBankd) { + var template IpAddress ip := ts_IPv4(mp_bankd_ip); + RSPRO[i].send(ts_RSPRO_ConnectBankReq(rspro[i].rspro_id, rspro[i].rspro_bank_id, + rspro[i].rspro_bank_nslots, + ts_IpPort(ip, mp_bankd_port))); + } + } + } + for (i := 0; i < NUM_CLIENT; i := i+1) { + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, ResultCode:ok), i); + } + case (remsimBankd) { + f_rspro_exp(tr_RSPRO_ConnectBankRes(?, ResultCode:ok), i); + } + } + } +} + +/* transceive a TPDU from modem to card (and back) */ +function f_rspro_xceive_mdm2card(integer idx, BankSlot bs, template (value) octetstring data, + template (value) TpduFlags flags) runs on rspro_client_CT return octetstring { + var RsproPDU rx; + RSPRO[idx].send(ts_RSPRO_TpduModemToCard(rspro[idx].rspro_client_slot, bs, flags, data)); + rx := f_rspro_exp(tr_RSPRO_TpduCardToModem(bs, rspro[idx].rspro_client_slot, ?, ?)); + return rx.msg.tpduCardToModem.data; +} + +/* handle an incoming CreateMapping + ACK it */ +altstep as_rspro_create_mapping(integer i, template ClientSlot cslot := ?, template BankSlot bslot := ?, + template ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_CreateMappingReq(cslot, bslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_CreateMappingRes(res)); + } +} + +/* handle an incoming RemoveMapping + ACK it */ +altstep as_rspro_remove_mapping(integer i, template ClientSlot cslot := ?, template BankSlot bslot := ?, + template ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_RemoveMappingReq(cslot, bslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_RemoveMappingRes(res)); + } +} + +altstep as_rspro_cfg_client_id(integer i, template ClientSlot cslot := ?, + template (value) ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_ConfigClientIdReq(cslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_ConfigClientIdRes(res)); + } +} + +altstep as_rspro_cfg_client_bank(integer i, template BankSlot bslot := ?, + template IpPort ip_port := ?, + template (value) ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_ConfigClientBankReq(bslot, ip_port)) -> value rx { + RSPRO[i].send(ts_RSPRO_ConfigClientBankRes(res)); + } +} + + + +} diff --git a/remsim/RSPRO.asn b/remsim/RSPRO.asn new file mode 100644 index 0000000..aaafb96 --- /dev/null +++ b/remsim/RSPRO.asn @@ -0,0 +1,349 @@ +---------------------------------------------------------------------- +-- RSPRO - Remote SIM Protocol, part of Osmocom Remote SIM Suite +-- (C) 2018 by Harald Welte +-- All Rights Reserved +-- +-- SPDX-License-Identifier: GPL-2.0+ +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License along +-- with this program; if not, write to the Free Software Foundation, Inc., +-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +-- +---------------------------------------------------------------------- + +RSPRO {} DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RsproPDU +; + +---------------------------------------------------------------------- +-- Elementary Data Types +---------------------------------------------------------------------- + +-- Some random ID the requestor can chose and which the client echos back in a response. +-- This allows multiple outstanding commands in flight and matching of responses to requests. +OperationTag ::= INTEGER(0..2147483647) + +-- Unique identifier of a given SIM bank +BankId ::= INTEGER(0..1023) + +-- Unique identifier of a given client (modem) +ClientId ::= INTEGER(0..1023) + +ComponentType ::= ENUMERATED { + -- client: Modems / Phones + remsimClient (0), + -- server: Coordination + remsimServer (1), + -- bank daemon: SIM cards + remsimBankd (2) +} +ComponentName ::= IA5String (SIZE (1..32)) +ComponentIdentity ::= SEQUENCE { + type ComponentType, + name ComponentName, + software [0] ComponentName, + swVersion [1] ComponentName, + hwManufacturer [2] ComponentName OPTIONAL, + hwModel [3] ComponentName OPTIONAL, + hwSerialNr [4] ComponentName OPTIONAL, + hwVersion [5] ComponentName OPTIONAL, + fwVersion [6] ComponentName OPTIONAL, + ... +} + +-- IP address / port details +Ipv4Address ::= OCTET STRING (SIZE (4)) +Ipv6Address ::= OCTET STRING (SIZE (16)) +IpAddress ::= CHOICE { + ipv4 [0] Ipv4Address, + ipv6 [1] Ipv6Address +} +PortNumber ::= INTEGER (0..65535) +IpPort ::= SEQUENCE { + ip IpAddress, + port PortNumber +} + +-- Result of a given operation +ResultCode ::= ENUMERATED { + ok (0), + -- client / bank / slot ID not accepted + illegalClientId (1), + illegalBankId (2), + illegalSlotId (3), + unsupportedProtocolVersion (4), + unknownSlotmap (5), + + -- no card is present in given slot + cardNotPresent (100), + -- card is present but unresponsive in given slot + cardUnresponsive (101), + -- unrecoverable transmission errors detected + cardTransmissionError (102), + ... +} + +ErrorCode ::= ENUMERATED { + -- Bankd or Server has received connection form unknown client (no mapping) + unknownClientConnected (1), + -- unexpected disconnect (typically bankd reports client disconnect) + unexpectedDisconnect (2), + unexpectedProtocolVersion (3), + ... +} + +ErrorString ::= IA5String (SIZE (1..255)) + +ErrorSeverity ::= ENUMERATED { + minor (1), + major (2), + fatal (3), + ... +} + +-- Slot number within a SIM bank or a client. +SlotNumber ::= INTEGER(0..1023) + +-- Slot identity on client (modem) side +ClientSlot ::= SEQUENCE { + clientId ClientId, + slotNr SlotNumber, + ... +} + +-- Slot identity on SIM bank side +BankSlot ::= SEQUENCE { + bankId BankId, + slotNr SlotNumber, + ... +} + +ATR ::= OCTET STRING (SIZE (1..55)) + +-- flags related to a TPDU in either of the two directions +TpduFlags ::= SEQUENCE { + -- indicates a TPDU header is present in this message + tpduHeaderPresent BOOLEAN, + -- indicates last part of transmission in this direction + finalPart BOOLEAN, + -- indicates a PB is present and we should continue with TX + procByteContinueTx BOOLEAN, + -- indicates a PB is present and we should continue with RX + procByteContinueRx BOOLEAN, + ... +} + +--- physical state of a given slot +SlotPhysStatus ::= SEQUENCE { + -- is RST activated by the modem? + resetActive [0] BOOLEAN, + -- is VCC applied by the modem? + vccPresent [1] BOOLEAN OPTIONAL, + -- is CLK applied by the modem? + clkActive [2] BOOLEAN OPTIONAL, -- not all hardware supports this + -- is card presence signalled to the modem? + cardPresent [3] BOOLEAN OPTIONAL, + ... +} + +---------------------------------------------------------------------- +-- Messages +---------------------------------------------------------------------- + + +-- BANKD->SERVER: SIM Bank connects to central server +ConnectBankReq ::= SEQUENCE { + -- identity of the bank that is connecting to the server + identity ComponentIdentity, + -- bank number, pre-configured on bank side + bankId BankId, + numberOfSlots SlotNumber, + -- IP/Port to which this bankd has bound and is listening for clients + bound IpPort OPTIONAL, + ... +} +ConnectBankRes ::= SEQUENCE { + -- identity of the server to which the bank is connecting + identity ComponentIdentity, + result ResultCode, + ... +} + +-- CLIENT->SERVER or CLIENT->BANKD +ConnectClientReq ::= SEQUENCE { + -- identity of the client that is connecting to the server/bankd + identity ComponentIdentity, + clientSlot ClientSlot OPTIONAL, -- mandatory for CL->BANKD; CL->SERVER: old identity, if any + ... +} +ConnectClientRes ::= SEQUENCE { + -- identity of the bankd/server to which the client is connecting + identity ComponentIdentity, + result ResultCode, + ... +} + +-- SERVER->BANKD: create a mapping between a given Bank:Slot <-> Client:Slot +CreateMappingReq ::= SEQUENCE { + client ClientSlot, + bank BankSlot, + ... +} +CreateMappingRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->BANKD: remove a mapping between a given Bank:Slot <-> Client:Slot +RemoveMappingReq ::= SEQUENCE { + client ClientSlot, + bank BankSlot, + ... +} +RemoveMappingRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->CLIENT: set Client ID +ConfigClientIdReq ::= SEQUENCE { + -- server-allocated assignment of a client ID + clientSlot ClientSlot, + ... +} +ConfigClientIdRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->CLIENT: set BankId/Slot and IP/Port +ConfigClientBankReq ::= SEQUENCE { + -- server-allocated assignment of a client ID + bankSlot BankSlot, + -- bank to which the client shall connect + bankd IpPort, + ... +} +ConfigClientBankRes ::= SEQUENCE { + result ResultCode, + ... +} + + +-- BANKD->CLIENT: configure the ATR which the card emulator (client) shall send to the modem +SetAtrReq ::= SEQUENCE { + slot ClientSlot, + atr ATR, + ... +} +SetAtrRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- CLIENT->BANKD: TPDU in Modem -> Card direction +TpduModemToCard ::= SEQUENCE { + -- we include fully-qualified bank and client slots for easier debugging + fromClientSlot ClientSlot, + toBankSlot BankSlot, + flags TpduFlags, + data OCTET STRING, + ... +} + +-- BANKD->CLIENT: TPDU in Card -> Modem direction +TpduCardToModem ::= SEQUENCE { + -- we include fully-qualified bank and client slots for easier debugging + fromBankSlot BankSlot, + toClientSlot ClientSlot, + flags TpduFlags, + data OCTET STRING, + ... +} + +-- CLIENT->BANKD: indciation about the current status of a client (modem side) +ClientSlotStatusInd ::= SEQUENCE { + fromClientSlot ClientSlot, + toBankSlot BankSlot, + slotPhysStatus SlotPhysStatus, + ... +} + +-- BANKD->CLIENT: indciation about the current status of a bank (modem side) +BankSlotStatusInd ::= SEQUENCE { + fromBankSlot BankSlot, + toClientSlot ClientSlot, + slotPhysStatus SlotPhysStatus, + ... +} + +-- *->SERVER: indication about some kind of error +ErrorInd ::= SEQUENCE { + -- whoever is detecting + sending us the error + sender ComponentType, + severity ErrorSeverity, + code ErrorCode, + -- any bank-side slot that's affected + bankSlot [0] BankSlot OPTIONAL, + -- any client-side slot that's affected + clientSlot [1] ClientSlot OPTIONAL, + -- any additional textual information + errorString [2] ErrorString OPTIONAL, + ... +} + + +---------------------------------------------------------------------- +-- PDU +---------------------------------------------------------------------- + +RsproPDUchoice ::= CHOICE { + -- configuration + management + connectBankReq [0] ConnectBankReq, + connectBankRes [1] ConnectBankRes, + connectClientReq [2] ConnectClientReq, + connectClientRes [3] ConnectClientRes, + createMappingReq [4] CreateMappingReq, + createMappingRes [5] CreateMappingRes, + removeMappingReq [6] RemoveMappingReq, + removeMappingRes [7] RemoveMappingRes, + configClientIdReq [8] ConfigClientIdReq, + configClientIdRes [9] ConfigClientIdRes, + configClientBankReq [17] ConfigClientBankReq, + configClientBankRes [18] ConfigClientBankRes, + errorInd [16] ErrorInd, + -- APDUs etc. + setAtrReq [10] SetAtrReq, + setAtrRes [11] SetAtrRes, + tpduModemToCard [12] TpduModemToCard, + tpduCardToModem [13] TpduCardToModem, + clientSlotStatusInd [14] ClientSlotStatusInd, + bankSlotStatusInd [15] BankSlotStatusInd, + ... +} + +RsproPDU ::= SEQUENCE { + version [0] INTEGER(0..32), + tag [1] OperationTag, + msg [2] RsproPDUchoice +} + +END diff --git a/remsim/RSPRO_EncDec.cc b/remsim/RSPRO_EncDec.cc new file mode 100644 index 0000000..a1f898e --- /dev/null +++ b/remsim/RSPRO_EncDec.cc @@ -0,0 +1,26 @@ +#include "RSPRO.hh" + +namespace RSPRO__Types { + +using namespace RSPRO; + +TTCN_Module RSPRO__EncDec("RSPRO_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RsproPDU(const RsproPDU& pdu) { + TTCN_Buffer buf; + + buf.clear(); + pdu.encode(RsproPDU_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); + return OCTETSTRING(buf.get_len(), buf.get_data()); +} + +RsproPDU dec__RsproPDU(const OCTETSTRING &stream) { + TTCN_Buffer buf; + RsproPDU pdu; + buf.put_os(stream); + + pdu.decode(RsproPDU_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + return pdu; +} + +} diff --git a/remsim/RSPRO_Server.ttcn b/remsim/RSPRO_Server.ttcn new file mode 100644 index 0000000..d676698 --- /dev/null +++ b/remsim/RSPRO_Server.ttcn @@ -0,0 +1,163 @@ +module RSPRO_Server { + +import from IPL4asp_Types all; +import from RSPRO all; +import from RSPRO_Types all; +import from IPA_Types all; +import from IPA_Emulation all; + + +type record RSPRO_Server { + IPA_Emulation_CT vc_IPA, + IPA_CCM_Parameters ccm_pars, + charstring id, + ComponentIdentity rspro_id//, + + //ClientSlot rspro_client_slot optional, + //BankId rspro_bank_id optional, + //SlotNumber rspro_bank_nslots optional +}; + +const integer NUM_SERVER := 2; + +type component rspro_server_CT { + var RSPRO_Server g_rspro_srv[NUM_SERVER]; + port IPA_RSPRO_PT RSPRO_SRV[NUM_SERVER]; +}; + + +altstep as_ignore_id_ack(integer i) runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } +} + + +function f_rspro_srv_exp_connect(integer i) +runs on rspro_server_CT +{ + timer T := 20.0; + T.start; + alt { + [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + mtc.stop; + } + } +} + +function f_rspro_srv_init(integer i, charstring bind_host, integer bind_port, + ComponentIdentity rspro_id, boolean exp_connect := true) +runs on rspro_server_CT +{ + g_rspro_srv[i].id := "RSPRO_SRV" & int2str(i); + g_rspro_srv[i].vc_IPA := IPA_Emulation_CT.create(g_rspro_srv[i].id); + g_rspro_srv[i].ccm_pars := c_IPA_default_ccm_pars; + g_rspro_srv[i].ccm_pars.name := "Osmocom TTCN-3 RSPRO server simulator"; + g_rspro_srv[i].rspro_id := rspro_id; + + map(g_rspro_srv[i].vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + connect(g_rspro_srv[i].vc_IPA:IPA_RSPRO_PORT, self:RSPRO_SRV[i]); + + g_rspro_srv[i].vc_IPA.start(IPA_Emulation.main_server(bind_host, bind_port)); + + activate(as_ignore_id_ack(i)); + + if (exp_connect) { + f_rspro_srv_exp_connect(i); + } +} + +function f_rspro_srv_fini(integer i) +runs on rspro_server_CT +{ + g_rspro_srv[i].vc_IPA.stop; + disconnect(g_rspro_srv[i].vc_IPA:IPA_RSPRO_PORT, self:RSPRO_SRV[i]); + unmap(g_rspro_srv[i].vc_IPA:IPA_PORT, system:IPA_CODEC_PT); +} + + +function f_rspro_srv_restart(integer i, charstring bind_host, integer bind_port) +runs on rspro_server_CT +{ + g_rspro_srv[i].vc_IPA.stop; + g_rspro_srv[i].vc_IPA.start(IPA_Emulation.main_server(bind_host, bind_port)); +} + + +function f_rspro_srv_exp(template RsproPDU exp, integer i := 0, float tout := 10.0) +runs on rspro_server_CT return RsproPDU +{ + var RsproPDU pdu; + + timer T := tout; + T.start; + alt { + [] RSPRO_SRV[i].receive(exp) -> value pdu { + setverdict(pass); + } + [] RSPRO_SRV[i].receive(RsproPDU:?) -> value pdu { + setverdict(fail, "Received unexpected RPSRO", pdu, " instead of ", exp); + mtc.stop; + } + [] as_ignore_id_ack(i) { repeat; } + [] RSPRO_SRV[i].receive { + setverdict(fail, "Received unexpected != RPSRO"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp); + mtc.stop; + } + } + return pdu; +} + +function f_rspro_srv_create_slotmap(ClientSlot cslot, BankSlot bslot, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT +{ + RSPRO_SRV[i].send(ts_RSPRO_CreateMappingReq(cslot, bslot)); + f_rspro_srv_exp(tr_RSPRO_CreateMappingRes(exp_res), i); +} + +function f_rspro_srv_remove_slotmap(ClientSlot cslot, BankSlot bslot, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT +{ + RSPRO_SRV[i].send(ts_RSPRO_RemoveMappingReq(cslot, bslot)); + f_rspro_srv_exp(tr_RSPRO_RemoveMappingRes(exp_res), i); +} + +function f_rspro_config_client_bank(template (value) BankSlot bank_slot, + template (value) IpPort bank_iport, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT { + RSPRO_SRV[i].send(ts_RSPRO_ConfigClientBankReq(bank_slot, bank_iport)); + f_rspro_srv_exp(tr_RSPRO_ConfigClientBankRes(exp_res)); +} + + +altstep as_connectBankReq(template ComponentIdentity comp_id := tr_CompId(remsimBankd, ?, + "remsim-bankd", ?), + template BankId bid := ?, + template SlotNumber nslots := ?, + ResultCode res := ok, integer i := 0) +runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(tr_RSPRO_ConnectBankReq(comp_id, bid, nslots)) { + RSPRO_SRV[i].send(ts_RSPRO_ConnectBankRes(g_rspro_srv[i].rspro_id, res)); + } +} + +altstep as_connectClientReq(template ComponentIdentity comp_id := tr_CompId(remsimClient, ?, + "remsim-client", ?), + template ClientSlot cslot := *, + ResultCode res := ok, integer i := 0) +runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(tr_RSPRO_ConnectClientReq(comp_id, cslot)) { + RSPRO_SRV[i].send(ts_RSPRO_ConnectClientRes(g_rspro_srv[i].rspro_id, res)); + } +} + + + +} diff --git a/remsim/RSPRO_Types.ttcn b/remsim/RSPRO_Types.ttcn new file mode 100644 index 0000000..6219705 --- /dev/null +++ b/remsim/RSPRO_Types.ttcn @@ -0,0 +1,365 @@ +module RSPRO_Types { + +import from RSPRO all; +import from Native_Functions all; + +template ResultCode tr_Status_ok_or_nocard := (ok, cardNotPresent); + +external function dec_RsproPDU(in octetstring stream) return RsproPDU; +external function enc_RsproPDU(in RsproPDU pdu) return octetstring; + +type integer RsproVersion (0..32); + +template (value) BankSlot ts_BankSlot(template (value) BankId bid, + template (value) SlotNumber slot) := { + bankId := bid, + slotNr := slot +} + +template (value) ClientSlot ts_ClientSlot(template (value) ClientId cid, + template (value) SlotNumber slot) := { + clientId := cid, + slotNr := slot +} + +template (value) ComponentIdentity ts_CompId(template (value) ComponentType ctype, + template (value) ComponentName name, + template (value) ComponentName sw := "TTCN3", + template (value) ComponentName sw_version := "0.1") := { + type_ := ctype, + name := name, + software := sw, + swVersion := sw_version, + hwManufacturer := "sysmocom", + hwModel := omit, + hwSerialNr := omit, + hwVersion := omit, + fwVersion := omit +} +template ComponentIdentity tr_CompId(template ComponentType ctype, + template ComponentName name, + template ComponentName sw := "TTCN3", + template ComponentName sw_version := "0.1") := { + type_ := ctype, + name := name, + software := sw, + swVersion := sw_version, + hwManufacturer := *, + hwModel := *, + hwSerialNr := *, + hwVersion := *, + fwVersion := * +} + +template (value) IpPort ts_IpPort(template (value) IpAddress ip, + template (value) PortNumber port_nr) := { + ip := ip, + port_ := port_nr +} +template IpPort tr_IpPort(template IpAddress ip, template PortNumber port_nr) := { + ip := ip, + port_ := port_nr +} + +template (value) IpAddress ts_IPv4(charstring ip_str) := { + ipv4 := f_inet_addr(ip_str) +} + + + + +template (value) RsproPDU ts_RSPRO(template (value) RsproPDUchoice msg, + template (value) RsproVersion version := 2, + template (value) OperationTag tag := 0) := { + version := version, + tag := tag, + msg := msg +} + +template RsproPDU tr_RSPRO(template RsproPDUchoice msg, + template RsproVersion version := 2, + template OperationTag tag := ?) := { + version := version, + tag := tag, + msg := msg +} + + +template (value) RsproPDU ts_RSPRO_ConnectClientReq(template (value) ComponentIdentity id, + template (omit) ClientSlot clslot) := + ts_RSPRO(RsproPDUchoice:{ + connectClientReq := { + identity := id, + clientSlot := clslot + } + }); +template RsproPDU tr_RSPRO_ConnectClientReq(template ComponentIdentity id, + template ClientSlot clslot) := + tr_RSPRO(RsproPDUchoice:{ + connectClientReq := { + identity := id, + clientSlot := clslot + } + }); + + +template (value) RsproPDU ts_RSPRO_ConnectClientRes(template (value) ComponentIdentity id, + template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + connectClientRes := { + identity := id, + result := res + } + }); +template RsproPDU tr_RSPRO_ConnectClientRes(template ComponentIdentity id := ?, + template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + connectClientRes := { + identity := id, + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_ConnectBankReq(template (value) ComponentIdentity id, + template (value) BankId bid, + template (value) SlotNumber nslots, + template (omit) IpPort bound) := + ts_RSPRO(RsproPDUchoice:{ + connectBankReq := { + identity := id, + bankId := bid, + numberOfSlots := nslots, + bound := bound + } + }); +template RsproPDU tr_RSPRO_ConnectBankReq(template ComponentIdentity id, + template BankId bid, + template SlotNumber nslots, + template IpPort bound := *) := + tr_RSPRO(RsproPDUchoice:{ + connectBankReq := { + identity := id, + bankId := bid, + numberOfSlots := nslots, + bound := * + } + }); + + +template (value) RsproPDU ts_RSPRO_ConnectBankRes(template (value) ComponentIdentity id, + template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + connectBankRes := { + identity := id, + result := res + } + }); +template RsproPDU tr_RSPRO_ConnectBankRes(template ComponentIdentity id := ?, + template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + connectBankRes := { + identity := id, + result := res + } + }); + + +template (value) RsproPDU ts_RSPRO_SetAtrReq(template (value) ClientSlot clslot, + template (value) ATR atr) := + ts_RSPRO(RsproPDUchoice:{ + setAtrReq := { + slot := clslot, + atr := atr + } + }); +template RsproPDU tr_RSPRO_SetAtrReq(template ClientSlot clslot := ?, + template ATR atr := ?) := + tr_RSPRO(RsproPDUchoice:{ + setAtrReq := { + slot := clslot, + atr := atr + } + }); + +template (value) RsproPDU ts_RSPRO_SetAtrRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + setAtrRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_SetAtrRes(template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + setAtrRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_TpduModemToCard(template (value) ClientSlot from_clslot, + template (value) BankSlot to_bslot, + template (value) TpduFlags flags, + template (value) octetstring data) := + ts_RSPRO(RsproPDUchoice:{ + tpduModemToCard := { + fromClientSlot := from_clslot, + toBankSlot := to_bslot, + flags := flags, + data := data + } + }); +template RsproPDU tr_RSPRO_TpduModemToCard(template ClientSlot from_clslot := ?, + template BankSlot to_bslot := ?, + template TpduFlags flags := ?, + template octetstring data := ?) := + tr_RSPRO(RsproPDUchoice:{ + tpduModemToCard := { + fromClientSlot := from_clslot, + toBankSlot := to_bslot, + flags := flags, + data := data + } + }); + +template (value) RsproPDU ts_RSPRO_TpduCardToModem(template (value) BankSlot from_bslot, + template (value) ClientSlot to_clslot, + template (value) TpduFlags flags, + template (value) octetstring data) := + ts_RSPRO(RsproPDUchoice:{ + tpduCardToModem := { + fromBankSlot := from_bslot, + toClientSlot := to_clslot, + flags := flags, + data := data + } + }); +template RsproPDU tr_RSPRO_TpduCardToModem(template BankSlot from_bslot := ?, + template ClientSlot to_clslot := ?, + template TpduFlags flags := ?, + template octetstring data := ?) := + tr_RSPRO(RsproPDUchoice:{ + tpduCardToModem := { + fromBankSlot := from_bslot, + toClientSlot := to_clslot, + flags := flags, + data := data + } + }); + +template (value) RsproPDU ts_RSPRO_CreateMappingReq(template (value) ClientSlot cslot, + template (value) BankSlot bslot) := + ts_RSPRO(RsproPDUchoice:{ + createMappingReq := { + client := cslot, + bank := bslot + } + }); +template RsproPDU tr_RSPRO_CreateMappingReq(template ClientSlot cslot, + template BankSlot bslot) := + tr_RSPRO(RsproPDUchoice:{ + createMappingReq := { + client := cslot, + bank := bslot + } + }); + +template (value) RsproPDU ts_RSPRO_CreateMappingRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + createMappingRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_CreateMappingRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + createMappingRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_RemoveMappingReq(template (value) ClientSlot cslot, + template (value) BankSlot bslot) := + ts_RSPRO(RsproPDUchoice:{ + removeMappingReq := { + client := cslot, + bank := bslot + } + }); +template RsproPDU tr_RSPRO_RemoveMappingReq(template ClientSlot cslot, + template BankSlot bslot) := + tr_RSPRO(RsproPDUchoice:{ + removeMappingReq := { + client := cslot, + bank := bslot + } + }); + +template (value) RsproPDU ts_RSPRO_RemoveMappingRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + removeMappingRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_RemoveMappingRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + removeMappingRes := { + result := res + } + }); + + +template (value) RsproPDU ts_RSPRO_ConfigClientIdReq(template (value) ClientSlot cslot) := + ts_RSPRO(RsproPDUchoice: { + configClientIdReq := { + clientSlot := cslot + } + }); +template RsproPDU tr_RSPRO_ConfigClientIdReq(template ClientSlot cslot) := + tr_RSPRO(RsproPDUchoice: { + configClientIdReq := { + clientSlot := cslot + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientIdRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + configClientIdRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_ConfigClientIdRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + configClientIdRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientBankReq(template (value) BankSlot bslot, + template (value) IpPort ip_port) := + ts_RSPRO(RsproPDUchoice: { + configClientBankReq := { + bankSlot := bslot, + bankd := ip_port + } + }); +template RsproPDU tr_RSPRO_ConfigClientBankReq(template BankSlot bslot, + template IpPort ip_port) := + tr_RSPRO(RsproPDUchoice: { + configClientBankReq := { + bankSlot := bslot, + bankd := ip_port + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientBankRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + configClientBankRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_ConfigClientBankRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + configClientBankRes := { + result := res + } + }); + + +} diff --git a/remsim/RSRES.ttcn b/remsim/RSRES.ttcn new file mode 100644 index 0000000..36645d9 --- /dev/null +++ b/remsim/RSRES.ttcn @@ -0,0 +1,99 @@ +module RSRES { + +import from RSPRO all; + +/* resembles "enum remsim_server_client_fsm_state" */ +type enumerated ConnectionState { + INIT, + ESTABLISHED, + CONNECTED_CLIENT, + CONNECTED_BANKD +}; + +type record JsBank { + charstring peer, + ConnectionState state, + ComponentIdentity component_id, + BankId bankId, + SlotNumber numberOfSlots +}; +type record of JsBank JsBanks; + +template JsBank tr_JsBank(template ConnectionState state, + template ComponentIdentity comp_id, + template BankId bank_id, + template SlotNumber num_of_slots) := { + peer := ?, + state := state, + component_id := comp_id, + bankId := bank_id, + numberOfSlots := num_of_slots +} + +type record JsClient { + charstring peer, + ConnectionState state, + ComponentIdentity component_id +}; +type record of JsClient JsClients; + +template JsClient tr_JsClient(template ConnectionState state, + template ComponentIdentity comp_id) := { + peer := ?, + state := state, + component_id := comp_id +} + +/* resembles "enum slot_mapping_state" */ +type enumerated SlotmapState { + NEW, + UNACKNOWLEDGED, + ACTIVE, + DELETE_REQ, + DELETING +}; + +type record JsSlotmap { + BankSlot bank, + ClientSlot client, + SlotmapState state optional +}; +type record of JsSlotmap JsSlotmaps; + +template (value) JsSlotmap ts_JsSlotmap(template (value) BankSlot bslot, + template (value) ClientSlot cslot, + template (omit) SlotmapState state := omit) := { + bank := bslot, + client := cslot, + state := state +} +template JsSlotmap tr_JsSlotmap(template BankSlot bslot, + template ClientSlot cslot, + template SlotmapState state := ?) := { + bank := bslot, + client := cslot, + state := state +} + + + +/* root JSON type expressing what remsim-server can return */ +type record JsRoot { + JsClients clients optional, + JsBanks banks optional, + JsSlotmaps slotmaps optional +}; + +external function f_enc_JsRoot(in JsRoot inp) return octetstring + with { extension "prototype(convert) encode(JSON)" } +external function f_dec_JsRoot(in octetstring inp) return JsRoot + with { extension "prototype(convert) decode(JSON)" } + +external function f_enc_JsSlotmap(in JsSlotmap inp) return octetstring + with { extension "prototype(convert) encode(JSON)" } +external function f_dec_JsSlotmap(in octetstring inp) return JsSlotmap + with { extension "prototype(convert) decode(JSON)" } + + + +} with { encode "JSON" } diff --git a/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn new file mode 100644 index 0000000..e8ea29f --- /dev/null +++ b/remsim/RemsimBankd_Tests.ttcn @@ -0,0 +1,285 @@ +module RemsimBankd_Tests { + +import from Osmocom_Types all; +import from IPA_Emulation all; +import from Misc_Helpers all; + +import from RSPRO all; +import from RSRES all; +import from RSPRO_Types all; +import from RSPRO_Server all; +import from REMSIM_Tests all; + +modulepar { + integer mp_bank_id := 1; + integer mp_num_slots := 8; +} + +/* We implement a RSPRO server to simulate the remsim-server and a + RSPRO client to simulate a remsim-client connecting to bankd */ +type component bankd_test_CT extends rspro_server_CT, rspro_client_CT { +} + +private function f_init(boolean start_client := false) runs on bankd_test_CT { + var ComponentIdentity srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); + + f_rspro_srv_init(0, mp_server_ip, mp_server_port, srv_comp_id); + + if (start_client) { + f_init_client(0); + } +} + +private function f_init_client(integer i := 0) runs on rspro_client_CT { + var ComponentIdentity clnt_comp_id := valueof(ts_CompId(remsimClient, "ttcn-client")); + f_rspro_init(rspro[0], mp_bankd_ip, mp_bankd_port, clnt_comp_id, 0); + rspro[0].rspro_client_slot := { clientId := 23+i, slotNr := 0 }; +} + + + +/* Test if the bankd disconnects the TCP/IPA session if we don't respond to connectBankReq */ +testcase TC_connectBankReq_timeout() runs on bankd_test_CT { + timer T := 20.0; + f_init(); + + f_rspro_srv_exp(tr_RSPRO_ConnectBankReq(?, ?, ?)); + T.start; + alt { + [] RSPRO_SRV[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + setverdict(pass); + } + [] RSPRO_SRV[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for disconnect"); + } + } +} + +/* accept an inbound connection from bankd to simulated server */ +testcase TC_connectBankReq() runs on bankd_test_CT { + f_init(); + + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping */ +testcase TC_createMapping() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for a slot that already has a mapping */ +testcase TC_createMapping_busySlot() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalSlotId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for an out-of-range slot number */ +testcase TC_createMapping_invalidSlot() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 200 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalSlotId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for an invalid bankID */ +testcase TC_createMapping_invalidBank() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := 200, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalBankId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to remove a non-existant mapping */ +testcase TC_removeMapping_unknownMap() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_remove_slotmap(cs, bs, exp_res := unknownSlotmap); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* add and then remove a mapping, expect both to be successful */ +testcase TC_removeMapping() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + f_rspro_srv_remove_slotmap(cs, bs); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd without specifying a clientId */ +testcase TC_clientConnect_missingSlot() runs on bankd_test_CT { + f_init_client(0); + RSPRO[0].send(ts_RSPRO_ConnectClientReq(rspro[0].rspro_id, omit)); + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, ResultCode:illegalClientId), 0); + f_rspro_exp_disconnect(0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd using a clientId for which bankd has no map */ +testcase TC_clientConnect_unknown() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd using a clientSlot for which bankd has no map */ + + +/* first connect client, then later add matching mapping from server */ +testcase TC_clientConnect_createMapping() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + f_sleep(10.0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + +/* first add mapping, then connect matching client */ +testcase TC_createMapping_clientConnect() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* FIXME: how to determine that bank correctly mapped us */ + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +/* add mapping, connect matching client, disconnect + reconnect */ +testcase TC_createMapping_clientReconnect() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* TODO: works only with empty slot, as setAtrReq isn't handled */ + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + f_rspro_fini(rspro[0], 0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +/* remove mapping while client is connected */ +testcase TC_removeMapping_connected() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* TODO: works only with empty slot, as setAtrReq isn't handled */ + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + f_rspro_srv_remove_slotmap(rspro[0].rspro_client_slot, bs); + f_rspro_exp_disconnect(0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* first add mapping, then connect matching client and exchange some TPDUs */ +testcase TC_createMapping_exchangeTPDU() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, ok); + /* FIXME: how to determine that bank correctly mapped us */ + f_rspro_exp(tr_RSPRO_SetAtrReq(rspro[0].rspro_client_slot, ?)); + + var TpduFlags f := {tpduHeaderPresent:=true, finalPart:=true, procByteContinueTx:=false, + procByteContinueRx:=false}; + for (var integer i := 0; i < 10; i:=i+1) { + f_rspro_xceive_mdm2card(0, bs, 'A0A40000023F00'O, f); + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +control { + execute( TC_connectBankReq_timeout() ); + execute( TC_connectBankReq() ); + + execute( TC_createMapping() ); + execute( TC_createMapping_busySlot() ); + execute( TC_createMapping_invalidSlot() ); + execute( TC_createMapping_invalidBank() ); + + execute( TC_removeMapping_unknownMap() ); + execute( TC_removeMapping() ); + + execute( TC_clientConnect_missingSlot() ); + execute( TC_clientConnect_unknown() ); + execute( TC_clientConnect_createMapping() ); + execute( TC_createMapping_clientConnect() ); + execute( TC_createMapping_clientReconnect() ); + execute( TC_removeMapping_connected() ); + + execute( TC_createMapping_exchangeTPDU() ); +} + + + + + +} diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn new file mode 100644 index 0000000..d69209b --- /dev/null +++ b/remsim/RemsimClient_Tests.ttcn @@ -0,0 +1,106 @@ +module RemsimClient_Tests { + +import from Osmocom_Types all; +import from IPA_Emulation all; + +import from RSPRO all; +import from RSPRO_Types all; +import from RSPRO_Server all; +import from REMSIM_Tests all; + +type component client_test_CT extends rspro_server_CT { + var ComponentIdentity g_srv_comp_id, g_bankd_comp_id; +}; + +private function f_init() runs on client_test_CT { + g_srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); + g_bankd_comp_id := valueof(ts_CompId(remsimBankd, "ttcn-bankd")); + + f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id); + f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false); +} + + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient() runs on client_test_CT { + f_init(); + as_connectClientReq(); + setverdict(pass); + f_sleep(1.0); +} + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient_reject() runs on client_test_CT { + f_init(); + as_connectClientReq(res := illegalClientId); + /* expect disconnect by client */ + RSPRO_SRV[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + setverdict(pass); + f_sleep(1.0); +} + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient_configClientBank() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4(mp_bankd_ip), mp_bankd_port)); + f_rspro_srv_exp_connect(1); + as_connectClientReq(i := 1); + setverdict(pass); + f_sleep(1.0); +} + +/* Test if client re-connects to server after connection is lost */ +testcase TC_srv_reconnect() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + + /* disconnect the client from server and expect re-establish + re-connect */ + f_rspro_srv_fini(0); + f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id, exp_connect := true); + as_connectClientReq(i := 0); + + setverdict(pass); + f_sleep(1.0); +} + +/* Test if client re-connects to bank after connection is lost */ +testcase TC_bank_reconnect() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4(mp_bankd_ip), mp_bankd_port)); + f_rspro_srv_exp_connect(1); + as_connectClientReq(i := 1); + + /* disconnect the client from bankd and expect re-establish + re-connect */ + f_rspro_srv_fini(1); + f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := true); + as_connectClientReq(i := 1); + + setverdict(pass); + f_sleep(1.0); +} + +/* TODO: + * send a configClientBankIpReq and change the bank of an active client + * send a configClientBankSlotReq and chagne the bank slot of an active client + * test keepalive mechanism: do we get IPA PING? + * test keepalive mechanism: do we see disconnect+reconnect if we don't respond to IPA PING? + * test actual APDU transfers + * test messages in invalid state, e.g. APDUs before we're connected to a bank + * test messages on server connection which are only permitted on bankd connection + */ + +control { + execute( TC_srv_connectClient() ); + execute( TC_srv_connectClient_reject() ); + execute( TC_srv_connectClient_configClientBank() ); + execute( TC_srv_reconnect() ); + execute( TC_bank_reconnect() ); +} + + +} diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn new file mode 100644 index 0000000..2d9a6b8 --- /dev/null +++ b/remsim/RemsimServer_Tests.ttcn @@ -0,0 +1,472 @@ +module RemsimServer_Tests { + +import from Osmocom_Types all; + +import from RSPRO all; +import from RSRES all; +import from RSPRO_Types all; +import from REMSIM_Tests all; + +import from IPA_Emulation all; + +import from HTTPmsg_Types all; +import from HTTPmsg_PortType all; +import from JSON_Types all; + +type component http_CT { + port HTTPmsg_PT HTTP; + var charstring g_http_host; + var integer g_http_port; +}; + +function f_http_init(charstring host, integer http_port) runs on http_CT { + map(self:HTTP, system:HTTP); + g_http_host := host; + g_http_port := http_port; +} + +template (value) Connect ts_HTTP_Connect(template (value) charstring hostname, + template (value) integer http_port := 80, + template (value) boolean use_ssl := false) := { + hostname := hostname, + portnumber := http_port, + use_ssl := use_ssl +} +template (value) Close ts_HTTP_Close := { client_id := omit }; + +template (value) HeaderLines ts_HTTP_Header(charstring body) := { + { header_name := "Content-Type", header_value := "application/json" }, + { header_name := "Content-Length", header_value := int2str(lengthof(body)) } +} + +template (value) HTTPMessage ts_HTTP_Req(charstring url, + charstring method := "GET", + charstring body := "", + integer v_maj := 1, integer v_min := 1) := { + request := { + client_id := omit, + method := method, + uri := url, + version_major := v_maj, + version_minor := v_min, + header := ts_HTTP_Header(body), + body := body + } +} + +template HTTPMessage tr_HTTP_Resp(template integer sts := ?) := { + response := { + client_id := ?, + version_major := ?, + version_minor := ?, + statuscode := sts, + statustext := ?, + header := ?, + body := ? + } +}; + +template HTTPMessage tr_HTTP_Resp2xx := tr_HTTP_Resp((200..299)); + +/* run a HTTP request and return the response */ +function f_http_transact(charstring url, charstring method := "GET", + charstring body := "", template HTTPMessage exp := tr_HTTP_Resp2xx) +runs on http_CT return HTTPMessage { + var HTTPMessage resp; + timer T := 2.0; + + HTTP.send(ts_HTTP_Connect(g_http_host, g_http_port)); + //HTTP.receive(Connect_result:?); + HTTP.send(ts_HTTP_Req(url, method, body)); + T.start; + alt { + [] HTTP.receive(exp) -> value resp { + setverdict(pass); + } + [] HTTP.receive(tr_HTTP_Resp) -> value resp { + setverdict(fail, "Unexpected HTTP response ", resp); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for HTTP response"); + self.stop; + } + } + HTTP.send(ts_HTTP_Close); + return resp; +} + +/* run a HTTP GET on specified URL expecting json in RSRES format as response */ +function f_rsres_get(charstring url, template integer exp_sts := 200) +runs on http_CT return JsRoot { + var HTTPMessage http_resp; + http_resp := f_http_transact(url, exp := tr_HTTP_Resp(exp_sts)); + return f_dec_JsRoot(char2oct(http_resp.response.body)); +} + +/* run a HTTP PUT to add a new slotmap to the remsim-server */ +function f_rsres_post_slotmap(JsSlotmap slotmap, template integer exp_sts := 201) +runs on http_CT return HTTPResponse { + var charstring body := oct2char(f_enc_JsSlotmap(slotmap)); + var HTTPMessage http_resp; + http_resp := f_http_transact(url := "/api/backend/v1/slotmaps", method := "POST", + body := body, exp := tr_HTTP_Resp(exp_sts)) + return http_resp.response; +} + +/* run a HTTP PUT to add a new slotmap to the remsim-server */ +function f_rsres_post_reset(template integer exp_sts := 200) +runs on http_CT return HTTPResponse { + var HTTPMessage http_resp; + http_resp := f_http_transact(url := "/api/backend/v1/global-reset", method := "POST", + body := "", exp := tr_HTTP_Resp(exp_sts)) + return http_resp.response; +} + + +/* run a HTTP DELETE to remove a slotmap from te remsim-server */ +function f_rsres_delete_slotmap(BankSlot bs, template integer exp_sts := 200) +runs on http_CT return HTTPResponse { + var HTTPMessage http_resp; + var integer slotmap_id := bs.bankId * 65536 + bs.slotNr; + http_resp := f_http_transact(url := "/api/backend/v1/slotmaps/" & int2str(slotmap_id), + method := "DELETE", exp := tr_HTTP_Resp(exp_sts)); + return http_resp.response; +} + + +function f_rsres_init() runs on http_CT { + f_http_init(mp_server_ip, mp_rsres_port); + f_rsres_post_reset(); +} + +type component test_CT extends rspro_client_CT, http_CT { +}; + + +testcase TC_connect_and_nothing() runs on rspro_client_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); + timer T := 20.0; + + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + T.start; + /* expect that we're disconnected if we never send a ConnectClientReq */ + alt { + [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for disconnect"); + } + } +} + +testcase TC_connect_client() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); + var JsRoot js; + + f_rsres_init(); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + js := f_rsres_get("/api/backend/v1/clients"); + if (not match(js.clients, JsClients:{})) { + setverdict(fail, "Initial state not empty"); + mtc.stop; + } + f_rspro_connect_client(0); + js := f_rsres_get("/api/backend/v1/clients"); + if (not match(js.clients[0], tr_JsClient(CONNECTED_CLIENT, rspro[0].rspro_id))) { + setverdict(fail, "Non-matching JSON response"); + mtc.stop; + } + //as_rspro_cfg_client_id(0, cslot); + setverdict(pass); +} + +testcase TC_connect_bank() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, "foobar")); + var JsRoot js; + + f_rsres_init(); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + js := f_rsres_get("/api/backend/v1/banks"); + if (not match(js.banks, JsBanks:{})) { + setverdict(fail, "Initial state not empty"); + mtc.stop; + } + f_rspro_connect_client(0); + js := f_rsres_get("/api/backend/v1/banks"); + if (not match(js.banks[0], tr_JsBank(CONNECTED_BANKD, rspro[0].rspro_id, rspro[0].rspro_bank_id, + rspro[0].rspro_bank_nslots))) { + setverdict(fail, "Non-matching JSON response"); + mtc.stop; + } + setverdict(pass); +} + +function f_ensure_slotmaps(template JsSlotmaps maps) +runs on http_CT { + var JsRoot js; + + /* check that it is actually added */ + js := f_rsres_get("/api/backend/v1/slotmaps"); + if (match(js.slotmaps, maps)) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected slotmaps: ", js); + } +} + +/* verify that exactly only one slotmap exists (the specified one) */ +function f_ensure_slotmap_exists_only(template ClientSlot cslot, template BankSlot bslot, + template SlotmapState state := ?) +runs on http_CT { + f_ensure_slotmaps({ tr_JsSlotmap(bslot, cslot, state) } ); +} + +/* verify that exactly only one slotmap exists (possibly among others) */ +function f_ensure_slotmap_exists(template ClientSlot cslot, template BankSlot bslot, + template SlotmapState state := ?) +runs on http_CT { + f_ensure_slotmaps({ *, tr_JsSlotmap(bslot, cslot, state), * } ); +} + + +/* test adding a single slotmap */ +testcase TC_slotmap_add() runs on test_CT { + f_rsres_init(); + + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res := f_rsres_post_slotmap(sm); + + /* check that it is actually added */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); +} + +/* test adding a slotmap and then connecting a client + bankd */ +testcase TC_slotmap_add_conn_cl_b() runs on test_CT { + /* Simulate one client */ + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + /* Simulate one bankd */ + var BankSlot bslot := valueof(ts_BankSlot(1,2)); + var ComponentIdentity rspro_bank_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[1], mp_server_ip, mp_server_port, rspro_bank_id, 1); + rspro[1].rspro_bank_id := bslot.bankId; + rspro[1].rspro_bank_nslots := 8 + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(bslot, rspro[0].rspro_client_slot)); + var HTTPResponse res; + + /* 1) Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* 2) verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* 3) connect a client for that slotmap */ + f_rspro_connect_client(0); + + /* 4) connect a bankd for that slotmap */ + f_rspro_connect_client(1); + + /* 5) verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* 6) expect bankd to receive that mapping */ + as_rspro_create_mapping(1, sm.client, sm.bank); + + /* 7) verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + /* 8) expect the client to be configured with bankd side settings */ + as_rspro_cfg_client_bank(0, bslot, ?); +} + +/* test connecting a client and later adding a slotmap for it */ +testcase TC_conn_cl_b_slotmap_add() runs on test_CT { + /* Simulate one client */ + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + /* Simulate one bankd */ + var BankSlot bslot := valueof(ts_BankSlot(1,2)); + var ComponentIdentity rspro_bank_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[1], mp_server_ip, mp_server_port, rspro_bank_id, 1); + rspro[1].rspro_bank_id := bslot.bankId; + rspro[1].rspro_bank_nslots := 8 + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(bslot, rspro[0].rspro_client_slot)); + var HTTPResponse res; + + /* 1) connect a client for that slotmap */ + f_rspro_connect_client(0); + + /* 2) Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* 3) verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* 4) connect a bankd for that slotmap */ + f_rspro_connect_client(1); + + /* 5) verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* 6) expect bankd to receive that mapping */ + as_rspro_create_mapping(1, sm.client, sm.bank); + + /* 7) verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + /* 8) expect the client to be configured with bankd IP/port */ + as_rspro_cfg_client_bank(0, bslot, ?); +} + +/* simple delete of a 'NEW' slotmap */ +testcase TC_slotmap_del_new() runs on test_CT { + f_rsres_init(); + + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res := f_rsres_post_slotmap(sm); + log(res); + res := f_rsres_delete_slotmap(sm.bank); + log(res); +} + +/* simple delete of a 'UNACKNOWLEDGED' slotmap */ +testcase TC_slotmap_del_unack() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* expect the slotmap to be pushed to bank but don't ACK it */ + f_rspro_exp(tr_RSPRO_CreateMappingReq(sm.client, sm.bank)); + + /* verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* delete the slotmap via REST */ + res := f_rsres_delete_slotmap(sm.bank); + + /* verify the slotmap is gone */ + f_ensure_slotmaps({}); +} + +/* simple delete of a 'ACTIVE' slotmap */ +testcase TC_slotmap_del_active() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* expect the slotmap to be pushed to bank and ACK it */ + as_rspro_create_mapping(0, sm.client, sm.bank); + + /* verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + f_sleep(1.0); + + /* delete the slotmap via REST */ + res := f_rsres_delete_slotmap(sm.bank); + + /* verify the slotmap is gone from REST interface immediately */ + f_ensure_slotmaps({}); + + /* verify the slotmap is removed from bankd */ + as_rspro_remove_mapping(0, sm.client, sm.bank); +} + + +/* Add a slotmap to a currently active bank */ +testcase TC_slotmap_add_active_bank() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* expect the slotmap to be pushed to bank and ACK it */ + as_rspro_create_mapping(0, sm.client, sm.bank); + + /* verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); +} + + + + +/* TODO + * - add slotmap, then connect matching client (see if slotmap is sent; check slotmap state) + * - connect client w/slotmap; delete slotmap via REST (see if it is deleted) + * - don't acknowledge delete from client, disconnect client (see if slotmap is deleted) + * - delete non-existing slotmap via REST + * - create slotmap with integers out of range via REST + + * - connect from unknown client (name not known, no clientId provisioned? + * - add client name/ID mappings from REST API? + */ + + +control { + execute( TC_connect_and_nothing() ); + execute( TC_connect_client() ); + execute( TC_connect_bank() ); + execute( TC_slotmap_add() ); + execute( TC_slotmap_add_conn_cl_b() ); + execute( TC_conn_cl_b_slotmap_add() ); + execute( TC_slotmap_del_new() ); + execute( TC_slotmap_del_unack() ); + execute( TC_slotmap_del_active() ); + execute( TC_slotmap_add_active_bank() ); +} + + +} diff --git a/remsim/gen_links.sh b/remsim/gen_links.sh new file mode 100755 index 0000000..8b33c88 --- /dev/null +++ b/remsim/gen_links.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src +#FILES="UD_PT.cc UD_PT.hh UD_PortType.ttcn UD_Types.ttcn" +#gen_links $DIR $FILES + +DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src +FILES="Socket_API_Definitions.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.IPL4asp/src +FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.TELNETasp/src +FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Abstract_Socket/src +FILES="Abstract_Socket.cc Abstract_Socket.hh " +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.HTTPmsg/src +FILES="HTTPmsg_MessageLen.ttcn HTTPmsg_MessageLen_Function.cc HTTPmsg_PT.cc HTTPmsg_PT.hh HTTPmsg_PortType.ttcn HTTPmsg_Types.ttcn " +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.JSON_v07_2006/src +FILES="JSON_EncDec.cc JSON_Types.ttcn " +gen_links $DIR $FILES + + +DIR=../library +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_Types.ttcn " +FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn " #RSL_Types.ttcn RSL_Emulation.ttcn " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " +FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/remsim/regen_makefile.sh b/remsim/regen_makefile.sh new file mode 100755 index 0000000..e398360 --- /dev/null +++ b/remsim/regen_makefile.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +FILES="*.ttcn *.ttcnpp *.asn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc TELNETasp_PT.cc Native_FunctionDefs.cc RSPRO_EncDec.cc Abstract_Socket.cc HTTPmsg_PT.cc HTTPmsg_MessageLen_Function.cc JSON_EncDec.cc" + +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSPRO -DIPA_EMULATION_CTRL" + +../regen-makefile.sh REMSIM_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 Gerrit-Change-Number: 15509 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:24:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Sep 2019 20:24:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Initial TTCN-3 test suite for osmo-remsim In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 ) Change subject: Initial TTCN-3 test suite for osmo-remsim ...................................................................... Initial TTCN-3 test suite for osmo-remsim This adds shared infrastructure and initial test suites for osmo-remsim-{server,client,bankd}. Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 --- M deps/Makefile A remsim/REMSIM_Tests.cfg A remsim/REMSIM_Tests.ttcn A remsim/RSPRO.asn A remsim/RSPRO_EncDec.cc A remsim/RSPRO_Server.ttcn A remsim/RSPRO_Types.ttcn A remsim/RSRES.ttcn A remsim/RemsimBankd_Tests.ttcn A remsim/RemsimClient_Tests.ttcn A remsim/RemsimServer_Tests.ttcn A remsim/gen_links.sh A remsim/regen_makefile.sh 13 files changed, 2,172 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/15509/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 Gerrit-Change-Number: 15509 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:25:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 20:25:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 20:25:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:46:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:46:45 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15505 ) Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15505/1/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15505/1/pySim-prog.py at 456 PS1, Line 456: Huh, still spaces here. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Sep 2019 20:46:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:49:03 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:49:03 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use braces around print calls In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15502 ) Change subject: python3 conversion: Use braces around print calls ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15502/2/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/#/c/15502/2/pySim-prog.py at 583 PS2, Line 583: Autodetection Here is the reason of V-1. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 Gerrit-Change-Number: 15502 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Sep 2019 20:49:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:49:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:49:41 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15503 ) Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Sep 2019 20:49:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:50:02 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: switch to python3 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Sep 2019 20:50:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:50:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:50:37 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: switch to python3 ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15504/3/contrib/jenkins.sh File contrib/jenkins.sh: https://gerrit.osmocom.org/#/c/15504/3/contrib/jenkins.sh at 14 PS3, Line 14: pip Should it also be pip3? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 12 Sep 2019 20:50:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:55:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:55:23 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15494 ) Change subject: Introduce multiple paging attempts ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/paging.h File include/osmocom/msc/paging.h: https://gerrit.osmocom.org/#/c/15494/1/include/osmocom/msc/paging.h at 38 PS1, Line 38: int In struct 'gsm_network' you're using unsigned int. Can it be negative here? If no, let's keep to code consistent. https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_net_init.c File src/libmsc/msc_net_init.c: https://gerrit.osmocom.org/#/c/15494/1/src/libmsc/msc_net_init.c at 61 PS1, Line 61: MSC_PAGING_RESPONSE_TIMER_DEFAULT Ctrl + C -> Ctrl + V error, you definitely need MSC_PAGING_ATTEMPTS here. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: efistokl Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 20:55:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Sep 2019 20:57:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add TC_geran_attach_iu_rau In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 ) Change subject: sgsn: add TC_geran_attach_iu_rau ...................................................................... sgsn: add TC_geran_attach_iu_rau MS <-> SGSN: Successful Attach over Geran MS <-> SGSN: Routing Area Update over Iu The test case will crash the SGSN and is not included in the default run. Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index c0a6729..64d829d 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -59,10 +59,35 @@ f_cleanup(); } +private function f_TC_geran_attach_iu_rau(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0); + + /* do a routing area update */ + f_routing_area_update(g_pars.ra, bssgp := 3); + setverdict(pass); +} + +testcase TC_geran_attach_iu_rau() runs on test_CT { + /* MS <-> SGSN: Successful Attach over Geran + * MS <-> SGSN: Routing Area Update over Iu + */ + var BSSGP_ConnHdlr vc_conn; + g_ranap_enable := true; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_geran_attach_iu_rau), testcasename(), g_gb, 1003); + vc_conn.done; + f_cleanup(); +} + control { execute( TC_iu_attach() ); /* FIXME: will crash the sgsn - * execute( TC_iu_attach_geran_rau() ); */ + * execute( TC_iu_attach_geran_rau() ); + * execute( TC_geran_attach_iu_rau() ); */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id23244aa6ca329579300b66b73ce238bd4d01eef Gerrit-Change-Number: 15397 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 20:59:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 20:59:40 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 to look at the new patch set (#2). Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Fixes: CID#204005 (CID#204007), CID#204006 (CID#204004) --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/15489/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 21:00:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 12 Sep 2019 21:00:24 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 ) Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15489/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/#/c/15489/1/src/osmo-bts-trx/scheduler_trx.c at 1278 PS1, Line 1278: return rc; > Are you sure you want to drop the tch_ind in this case? Isn't that going to affect the RTP clock? You're right, thanks! Fixed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 21:00:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 12 21:02:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 12 Sep 2019 21:02:10 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 ) Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Sep 2019 21:02:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 00:48:05 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 13 Sep 2019 00:48:05 +0000 Subject: Change in ...osmo-msc[master]: Introduce multiple paging attempts In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, efistokl, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 to look at the new patch set (#2). Change subject: Introduce multiple paging attempts ...................................................................... Introduce multiple paging attempts Some MS/UE might not be reachable on the first attempt. E.g. when the MS/UE is moving between channels it might not respond to paging. Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/paging.h M src/libmsc/msc_net_init.c M src/libmsc/msc_vty.c M src/libmsc/paging.c 5 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/15494/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I32c47958939a4a29292832289f9d29905731d7f3 Gerrit-Change-Number: 15494 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: efistokl Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 13 01:43:11 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 01:43:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5d7af43d664ae_44552b1812da45f8173064@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/i586 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 212s] }; [ 212s] ^ [ 212s] bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::default_val' [ 212s] bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::unit' [ 212s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::T' [ 212s] }; [ 212s] ^ [ 212s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::default_val' [ 212s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::unit' [ 212s] Makefile:791: recipe for target 'bts.lo' failed [ 212s] make[2]: *** [bts.lo] Error 1 [ 212s] make[2]: Leaving directory '/usr/src/packages/BUILD/src' [ 212s] Makefile:399: recipe for target 'all-recursive' failed [ 212s] make[1]: *** [all-recursive] Error 1 [ 212s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 212s] dh_auto_build: make -j1 returned exit code 2 [ 212s] debian/rules:12: recipe for target 'build' failed [ 212s] make: *** [build] Error 2 [ 212s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 212s] [ 212s] wildcard2 failed "build osmo-pcu_0.7.0.11.e46d.dsc" at Fri Sep 13 01:43:02 UTC 2019. [ 212s] [ 213s] ### VM INTERACTION START ### [ 214s] Powering off. [ 214s] [ 192.766039] reboot: Power down [ 214s] ### VM INTERACTION END ### [ 214s] [ 214s] wildcard2 failed "build osmo-pcu_0.7.0.11.e46d.dsc" at Fri Sep 13 01:43:04 UTC 2019. [ 214s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 01:51:11 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 01:51:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7af61cb7198_44552b1812da45f81747cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 490s] ar: `u' modifier ignored since `D' is the default (see `U') [ 490s] libtool: link: ranlib .libs/libtransceiver_common.a [ 490s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 490s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 491s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 491s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 491s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 491s] collect2: error: ld returned 1 exit status [ 491s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 491s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 491s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 491s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 491s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 491s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 491s] make[1]: *** [Makefile:444: all] Error 2 [ 491s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 491s] dh_auto_build: make -j1 returned exit code 2 [ 491s] make: *** [debian/rules:6: build] Error 255 [ 491s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 491s] [ 491s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 01:50:55 UTC 2019. [ 491s] [ 491s] ### VM INTERACTION START ### [ 494s] [ 473.526117] sysrq: SysRq : Power Off [ 494s] [ 473.540937] reboot: Power down [ 494s] ### VM INTERACTION END ### [ 494s] [ 494s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 01:50:59 UTC 2019. [ 494s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 01:52:20 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 01:52:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5d7af6593d80d_44552b1812da45f81749b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 373s] }; [ 373s] ^ [ 373s] bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::default_val' [ 373s] bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::unit' [ 373s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::T' [ 373s] }; [ 373s] ^ [ 373s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::default_val' [ 373s] bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::unit' [ 373s] Makefile:791: recipe for target 'bts.lo' failed [ 373s] make[2]: *** [bts.lo] Error 1 [ 373s] make[2]: Leaving directory '/usr/src/packages/BUILD/src' [ 373s] Makefile:399: recipe for target 'all-recursive' failed [ 373s] make[1]: *** [all-recursive] Error 1 [ 373s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 373s] dh_auto_build: make -j1 returned exit code 2 [ 373s] debian/rules:12: recipe for target 'build' failed [ 373s] make: *** [build] Error 2 [ 373s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 373s] [ 373s] cloud112 failed "build osmo-pcu_0.7.0.11.e46d.dsc" at Fri Sep 13 01:52:01 UTC 2019. [ 373s] [ 373s] ### VM INTERACTION START ### [ 374s] Powering off. [ 374s] [ 294.006594] reboot: Power down [ 375s] ### VM INTERACTION END ### [ 375s] [ 375s] cloud112 failed "build osmo-pcu_0.7.0.11.e46d.dsc" at Fri Sep 13 01:52:04 UTC 2019. [ 375s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 02:12:02 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 02:12:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7afb06b6629_44552b1812da45f81793da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 494s] ar: `u' modifier ignored since `D' is the default (see `U') [ 494s] libtool: link: ranlib .libs/libtransceiver_common.a [ 494s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 494s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 495s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 495s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 495s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 495s] collect2: error: ld returned 1 exit status [ 495s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 495s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 495s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 495s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 495s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 495s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 495s] make[1]: *** [Makefile:444: all] Error 2 [ 495s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 495s] dh_auto_build: make -j1 returned exit code 2 [ 495s] make: *** [debian/rules:6: build] Error 255 [ 495s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 495s] [ 495s] lamb66 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 02:11:42 UTC 2019. [ 495s] [ 495s] ### VM INTERACTION START ### [ 498s] [ 480.320211] sysrq: SysRq : Power Off [ 498s] [ 480.332711] reboot: Power down [ 498s] ### VM INTERACTION END ### [ 498s] [ 498s] lamb66 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 02:11:46 UTC 2019. [ 498s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 06:01:32 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 06:01:32 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7b30cf77f44_44552b1812da45f822644e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 286s] ar: `u' modifier ignored since `D' is the default (see `U') [ 286s] libtool: link: ranlib .libs/libtransceiver_common.a [ 286s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 286s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 286s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 286s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 286s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 286s] collect2: error: ld returned 1 exit status [ 286s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 286s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 286s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 286s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 286s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 286s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 286s] make[1]: *** [Makefile:444: all] Error 2 [ 286s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 286s] dh_auto_build: make -j1 returned exit code 2 [ 286s] make: *** [debian/rules:6: build] Error 255 [ 286s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 286s] [ 286s] build76 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 06:01:26 UTC 2019. [ 286s] [ 286s] ### VM INTERACTION START ### [ 290s] [ 277.159770] sysrq: SysRq : Power Off [ 290s] [ 277.161498] reboot: Power down [ 290s] ### VM INTERACTION END ### [ 290s] [ 290s] build76 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 06:01:30 UTC 2019. [ 290s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 06:02:56 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 06:02:56 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7b3129e2f7d_44552b1812da45f8226664@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 601s] ar: `u' modifier ignored since `D' is the default (see `U') [ 601s] libtool: link: ranlib .libs/libtransceiver_common.a [ 601s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 601s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 602s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 602s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 602s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 602s] collect2: error: ld returned 1 exit status [ 602s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 602s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 602s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 602s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 602s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 602s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 602s] make[1]: *** [Makefile:444: all] Error 2 [ 602s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 602s] dh_auto_build: make -j1 returned exit code 2 [ 602s] make: *** [debian/rules:6: build] Error 255 [ 602s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 602s] [ 602s] lamb13 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 06:02:38 UTC 2019. [ 602s] [ 602s] ### VM INTERACTION START ### [ 605s] [ 584.847900] sysrq: SysRq : Power Off [ 605s] [ 584.852881] reboot: Power down [ 605s] ### VM INTERACTION END ### [ 605s] [ 605s] lamb13 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 06:02:41 UTC 2019. [ 605s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 06:08:20 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 06:08:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7b325a99f15_44552b1812da45f82272f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 927s] ar: `u' modifier ignored since `D' is the default (see `U') [ 927s] libtool: link: ranlib .libs/libtransceiver_common.a [ 927s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 927s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 927s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 928s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 928s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 928s] collect2: error: ld returned 1 exit status [ 928s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 928s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 928s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 928s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 928s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 928s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 928s] make[1]: *** [Makefile:444: all] Error 2 [ 928s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 928s] dh_auto_build: make -j1 returned exit code 2 [ 928s] make: *** [debian/rules:6: build] Error 255 [ 928s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 928s] [ 928s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 06:08:00 UTC 2019. [ 928s] [ 928s] ### VM INTERACTION START ### [ 931s] [ 881.178157] sysrq: SysRq : Power Off [ 931s] [ 881.194537] reboot: Power down [ 931s] ### VM INTERACTION END ### [ 931s] [ 931s] lamb52 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 06:08:04 UTC 2019. [ 931s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:13:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 08:13:57 +0000 Subject: Change in ...pysim[master]: Add support for automatic card handling In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15432 ) Change subject: Add support for automatic card handling ...................................................................... Add support for automatic card handling When using the batch mode of pySim-prog, the user has to insert/remove the cards from the cardreader manually. This is fine for small batches, but for high volume batches this method is not applicable. This patch adds support for the integration of an automatic card handler machine. The user can freely configure a custom commandline that is executed when a card should be inserted or moved to a good/bad collection bin. Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Related: SYS#4654 --- M contrib/jenkins.sh M pySim-prog.py A pySim/card_handler.py 3 files changed, 213 insertions(+), 77 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index fdcd0cb..a70f139 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -12,6 +12,7 @@ virtualenv -p python2 venv --system-site-packages . venv/bin/activate pip install pytlv +pip install pyyaml cd pysim-testdata ../tests/pysim-test.sh diff --git a/pySim-prog.py b/pySim-prog.py index 13e8bb5..55634a5 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -30,6 +30,7 @@ import random import re import sys +import traceback try: import json @@ -41,6 +42,7 @@ from pySim.cards import _cards_classes from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF +from pySim.card_handler import * def parse_options(): @@ -163,6 +165,9 @@ help="Perform a 'dry run', don't actually program the card", default=False, action="store_true") + parser.add_option("--card_handler", dest="card_handler", metavar="FILE", + help="Use automatic card handling machine") + (options, args) = parser.parse_args() if options.type == 'list': @@ -610,6 +615,74 @@ return card +def process_card(opts, first, card_handler): + + if opts.dry_run is False: + # Connect transport + card_handler.get(first) + + if opts.dry_run is False: + # Get card + card = card_detect(opts, scc) + if card is None: + print "No card detected!" + return -1 + + # Probe only + if opts.probe: + return 0 + + # Erase if requested + if opts.erase: + print "Formatting ..." + card.erase() + card.reset() + + # Generate parameters + if opts.source == 'cmdline': + cp = gen_parameters(opts) + elif opts.source == 'csv': + imsi = None + iccid = None + if opts.read_iccid: + if opts.dry_run: + # Connect transport + card_handler.get(false) + (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) + iccid = dec_iccid(res) + elif opts.read_imsi: + if opts.dry_run: + # Connect transport + card_handler.get(false) + (res,_) = scc.read_binary(EF['IMSI']) + imsi = swap_nibbles(res)[3:] + else: + imsi = opts.imsi + cp = read_params_csv(opts, imsi=imsi, iccid=iccid) + if cp is None: + print "Error reading parameters\n" + return 2 + print_parameters(cp) + + if opts.dry_run is False: + # Program the card + print "Programming ..." + card.program(cp) + else: + print "Dry Run: NOT PROGRAMMING!" + + # Write parameters permanently + write_parameters(opts, cp) + + # Batch mode state update and save + if opts.num is not None: + opts.num += 1 + save_batch(opts) + + card_handler.done() + return 0 + + if __name__ == '__main__': # Parse options @@ -638,88 +711,42 @@ # Batch mode init init_batch(opts) + if opts.card_handler: + card_handler = card_handler_auto(sl, opts.card_handler) + else: + card_handler = card_handler(sl) + # Iterate - done = False first = True card = None - while not done: + while 1: + try: + rc = process_card(opts, first, card_handler) + except (KeyboardInterrupt): + print "" + print "Terminated by user!" + sys.exit(0) + except (SystemExit): + raise + except: + print "" + print "Card programming failed with an execption:" + print "---------------------8<---------------------" + traceback.print_exc() + print "---------------------8<---------------------" + print "" + rc = -1 - if opts.dry_run is False: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) + # Something did not work as well as expected, however, lets + # make sure the card is pulled from the reader. + if rc != 0: + card_handler.error() - # Not the first anymore ! + # If we are not in batch mode we are done in any case, so lets + # exit here. + if not opts.batch_mode: + sys.exit(rc) + first = False - if opts.dry_run is False: - # Get card - card = card_detect(opts, scc) - if card is None: - if opts.batch_mode: - first = False - continue - else: - sys.exit(-1) - - # Probe only - if opts.probe: - break; - - # Erase if requested - if opts.erase: - print "Formatting ..." - card.erase() - card.reset() - - # Generate parameters - if opts.source == 'cmdline': - cp = gen_parameters(opts) - elif opts.source == 'csv': - imsi = None - iccid = None - if opts.read_iccid: - if opts.dry_run: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) - (res,_) = scc.read_binary(['3f00', '2fe2'], length=10) - iccid = dec_iccid(res) - print iccid - elif opts.read_imsi: - if opts.dry_run: - # Connect transport - print "Insert card now (or CTRL-C to cancel)" - sl.wait_for_card(newcardonly=not first) - (res,_) = scc.read_binary(EF['IMSI']) - imsi = swap_nibbles(res)[3:] - else: - imsi = opts.imsi - cp = read_params_csv(opts, imsi=imsi, iccid=iccid) - if cp is None: - print "Error reading parameters\n" - sys.exit(2) - print_parameters(cp) - - if opts.dry_run is False: - # Program the card - print "Programming ..." - if opts.dry_run is not True: - card.program(cp) - else: - print "Dry Run: NOT PROGRAMMING!" - - # Write parameters permanently - write_parameters(opts, cp) - - # Batch mode state update and save - if opts.num is not None: - opts.num += 1 - save_batch(opts) - - # Done for this card and maybe for everything ? - print "Done !\n" - - if not opts.batch_mode: - done = True diff --git a/pySim/card_handler.py b/pySim/card_handler.py new file mode 100644 index 0000000..46ec93e --- /dev/null +++ b/pySim/card_handler.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- + +""" pySim: card handler utilities +""" + +# +# (C) 2019 by Sysmocom s.f.m.c. GmbH +# All Rights Reserved +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +import subprocess +import sys +import yaml + +# Manual card handler: User is prompted to insert/remove card from the reader. +class card_handler: + + sl = None + + def __init__(self, sl): + self.sl = sl + + def get(self, first = False): + print "Ready for Programming: Insert card now (or CTRL-C to cancel)" + self.sl.wait_for_card(newcardonly=not first) + + def error(self): + print "Programming failed: Remove card from reader" + print "" + + def done(self): + print "Programming successful: Remove card from reader" + print "" + +# Automatic card handler: A machine is used to handle the cards. +class card_handler_auto: + + sl = None + cmds = None + verbose = True + + def __init__(self, sl, config_file): + print "Card handler Config-file: " + str(config_file) + self.sl = sl + with open(config_file) as cfg: + self.cmds = yaml.load(cfg, Loader=yaml.FullLoader) + + self.verbose = (self.cmds.get('verbose') == True) + + def __print_outout(self,out): + print "" + print "Card handler output:" + print "---------------------8<---------------------" + stdout = out[0].strip() + if len(stdout) > 0: + print "stdout:" + print stdout + stderr = out[1].strip() + if len(stderr) > 0: + print "stderr:" + print stderr + print "---------------------8<---------------------" + print "" + + def __exec_cmd(self, command): + print "Card handler Commandline: " + str(command) + + proc = subprocess.Popen([command], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + out = proc.communicate() + rc = proc.returncode + + if rc != 0 or self.verbose: + self.__print_outout(out) + + if rc != 0: + print "" + print "Error: Card handler failure! (rc=" + str(rc) + ")" + sys.exit(rc) + + def get(self, first = False): + print "Ready for Programming: Transporting card into the reader-bay..." + self.__exec_cmd(self.cmds['get']) + self.sl.connect() + + def error(self): + print "Programming failed: Transporting card to the error-bin..." + self.__exec_cmd(self.cmds['error']) + print "" + + def done(self): + print "Programming successful: Transporting card into the collector bin..." + self.__exec_cmd(self.cmds['done']) + print "" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icfed3cad7927b92816723d75603b78e1a4b87ef1 Gerrit-Change-Number: 15432 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 08:36:47 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. In-Reply-To: References: Message-ID: Hello daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15498 to look at the new patch set (#2). Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... pySim-prog: use case insensitive CSV headers. Inside of pySim all CSV headers are defined in lower case and are evaluated case sensitive. This means that a CSV file that contains the headers in uppercase for example will not parse. Lets make sure that the CSV headers are evaluated case insensitive to increase compatibility with slightly different formats. Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 --- M pySim-prog.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/98/15498/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 08:36:47 +0000 Subject: Change in ...pysim[master]: pySim-prog: check if CSV file exists In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15495 to look at the new patch set (#2). Change subject: pySim-prog: check if CSV file exists ...................................................................... pySim-prog: check if CSV file exists At the moment we do not chack if the CSV file exists at all. This may lead into a crash while programming the card. Lets check the CSV file before we start. Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Related: SYS#4654 --- M pySim-prog.py 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/15495/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Gerrit-Change-Number: 15495 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 08:36:47 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15497 to look at the new patch set (#2). Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... pySim-prog: use functions to derive MCC/MNC from IMSI In case the MCC/MNC are not supplied with a CSV file we cut out the missing values from the IMSI string. Lets use a function to do this and also check the input parameters. Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 --- M pySim-prog.py M pySim/utils.py 2 files changed, 31 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/97/15497/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:36:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Sep 2019 08:36:53 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 to look at the new patch set (#8). Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 15 files changed, 407 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/15459/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 08:40:57 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Sep 2019 08:40:57 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 8: Rebased on master, ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Sep 2019 08:40:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 09:07:43 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 09:07:43 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15496 ) Change subject: cards: use string representation for MNC/MCC ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > Don't you need to modify enc_plmn for that as well? > > pySim/utils.py line 101: > swap_nibbles(lpad('%d' % mcc, 3) + lpad('%d' % mnc, 3)) Thats probably the better solution. I have done that now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 13 Sep 2019 09:07:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 09:07:57 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 13 Sep 2019 09:07:57 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15496 to look at the new patch set (#3). Change subject: cards: use string representation for MNC/MCC ...................................................................... cards: use string representation for MNC/MCC At the moment MNC and MCC are represented as integer numbers inside the parameter array while all other parameters are represented as strings. Lets use strings for MNC/MCC as well to simplify the parameter handling. We will also not loose the length information in case of leading zeros. Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a --- M pySim-prog.py M pySim/utils.py 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/96/15496/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 10:32:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 10:32:48 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15450 ) Change subject: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn ...................................................................... Patch Set 1: Code-Review+2 Merging since it fixes important race condition stopping osmo-trx from start, and it was already reviewed by fixeria. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 Gerrit-Change-Number: 15450 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Sep 2019 10:32:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 10:32:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 10:32:53 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 ) Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Patch Set 2: Code-Review+2 Merging since it fixes important race condition stopping osmo-trx from start, and it was already reviewed by fixeria. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Sep 2019 10:32:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 10:33:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 10:33:03 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15450 ) Change subject: Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn ...................................................................... Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 --- M Transceiver52M/Transceiver.cpp 1 file changed, 13 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 079d1d7..3901997 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -612,19 +612,6 @@ burstTime = radio_burst->getTime(); CorrType type = expectedCorrType(burstTime, chan); - /* Debug: dump bursts to disk */ - /* bits 0-7 - chan 0 timeslots - * bits 8-15 - chan 1 timeslots */ - if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) - writeToFile(radio_burst, chan); - - /* No processing if the timeslot is off. - * Not even power level or noise calculation. */ - if (type == OFF) { - delete radio_burst; - return false; - } - /* Initialize struct bi */ bi->nbits = 0; bi->fn = burstTime.FN(); @@ -638,6 +625,19 @@ bi->tsc = 0; bi->ci = 0.0; + /* Debug: dump bursts to disk */ + /* bits 0-7 - chan 0 timeslots + * bits 8-15 - chan 1 timeslots */ + if (mWriteBurstToDiskMask & ((1<tn) << (8*chan))) + writeToFile(radio_burst, chan); + + /* No processing if the timeslot is off. + * Not even power level or noise calculation. */ + if (type == OFF) { + delete radio_burst; + return false; + } + /* Select the diversity channel with highest energy */ for (size_t i = 0; i < radio_burst->chans(); i++) { float pow = energyDetect(*radio_burst->getVector(i), 20 * mSPSRx); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ia0f2b5a51040663d7e8219e6ed51e0513b876548 Gerrit-Change-Number: 15450 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 10:33:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 10:33:03 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Don't stop TRX if pulling from OFF timeslot In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 ) Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot ...................................................................... Transceiver: Don't stop TRX if pulling from OFF timeslot BTS may have any timeslot disabled, or may have not yet sent initial SETSLOT cmd to properly configure the timeslot. Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 17 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 3901997..2f4018c 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -587,9 +587,11 @@ /* * Pull bursts from the FIFO and handle according to the slot * and burst correlation type. Equalzation is currently disabled. - * returns true on success (bi filled), false on error (bi content undefined). + * returns 0 on success (bi filled), negative on error (bi content undefined): + * -ENOENT: timeslot is off (fn and tn in bi are filled), + * -EIO: read error */ -bool Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi) +int Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi) { int rc; struct estim_burst_params ebp; @@ -605,7 +607,7 @@ radioVector *radio_burst = mReceiveFIFO[chan]->read(); if (!radio_burst) { LOGCHAN(chan, DMAIN, ERROR) << "ReceiveFIFO->read() returned no burst"; - return false; + return -EIO; } /* Set time and determine correlation type */ @@ -635,7 +637,7 @@ * Not even power level or noise calculation. */ if (type == OFF) { delete radio_burst; - return false; + return -ENOENT; } /* Select the diversity channel with highest energy */ @@ -702,12 +704,12 @@ delete rxBurst; delete radio_burst; - return true; + return 0; ret_idle: bi->idle = true; delete radio_burst; - return true; + return 0; } void Transceiver::reset() @@ -1032,9 +1034,15 @@ bool Transceiver::driveReceiveFIFO(size_t chan) { struct trx_ul_burst_ind bi; + int rc; - if (!pullRadioVector(chan, &bi)) - return false; + if ((rc = pullRadioVector(chan, &bi)) < 0) { + if (rc == -ENOENT) { /* timeslot off, continue processing */ + LOGCHAN(chan, DMAIN, DEBUG) << unsigned(bi.tn) << ":" << bi.fn << " timeslot is off"; + return true; + } + return false; /* other errors: we want to stop the process */ + } if (!bi.idle) logRxBurst(chan, &bi); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 0d09854..30f6a60 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -182,7 +182,7 @@ void pushRadioVector(GSM::Time &nowTime); /** Pull and demodulate a burst from the receive FIFO */ - bool pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind); + int pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind); /** Set modulus for specific timeslot */ void setModulus(size_t timeslot, size_t chan); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f Gerrit-Change-Number: 15436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 10:44:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 10:44:07 +0000 Subject: Change in ...osmo-pcu[master]: bts.cpp: Fix osmo_tdef initialization on older g++ compilers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15510 Change subject: bts.cpp: Fix osmo_tdef initialization on older g++ compilers ...................................................................... bts.cpp: Fix osmo_tdef initialization on older g++ compilers Fixing errrors spotted: bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::T' }; ^ bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::default_val' bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::unit' bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::T' }; ^ bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::default_val' bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::unit' Change-Id: I2dfecf22516f52cc19e0a0442e70dbc4dbc61336 --- M src/bts.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/10/15510/1 diff --git a/src/bts.cpp b/src/bts.cpp index a913ca0..8b32e2e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -74,13 +74,13 @@ { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (s)", .val=0 }, { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (ms)", .val=0 }, { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (s)", .val=0 }, - {} + { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; static struct osmo_tdef T_defs_pcu[] = { { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, - {} + { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; /** -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2dfecf22516f52cc19e0a0442e70dbc4dbc61336 Gerrit-Change-Number: 15510 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:03:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:03:23 +0000 Subject: Change in ...docker-playground[master]: add osmo-resmsim-master Docker container In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/15508 ) Change subject: add osmo-resmsim-master Docker container ...................................................................... add osmo-resmsim-master Docker container this will be used in upcoming TTCN-3 tests for osmo-remsim Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f --- A osmo-remsim-master/.release A osmo-remsim-master/Dockerfile A osmo-remsim-master/Makefile A osmo-remsim-master/Release.key 4 files changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/08/15508/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f Gerrit-Change-Number: 15508 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:14:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Sep 2019 11:14:36 +0000 Subject: Change in ...osmo-pcu[master]: bts.cpp: Fix osmo_tdef initialization on older g++ compilers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15510 ) Change subject: bts.cpp: Fix osmo_tdef initialization on older g++ compilers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2dfecf22516f52cc19e0a0442e70dbc4dbc61336 Gerrit-Change-Number: 15510 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 13 Sep 2019 11:14:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 13 11:15:11 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 11:15:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7b7a4f43563_44552b1812da45f83135e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 422s] ar: `u' modifier ignored since `D' is the default (see `U') [ 422s] libtool: link: ranlib .libs/libtransceiver_common.a [ 422s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 422s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 423s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 423s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 423s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 423s] collect2: error: ld returned 1 exit status [ 423s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 423s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 423s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 423s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 423s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 423s] make[1]: *** [Makefile:444: all] Error 2 [ 423s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 423s] dh_auto_build: make -j1 returned exit code 2 [ 423s] make: *** [debian/rules:6: build] Error 255 [ 423s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 423s] [ 423s] lamb03 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 11:15:04 UTC 2019. [ 423s] [ 423s] ### VM INTERACTION START ### [ 426s] [ 406.796880] sysrq: SysRq : Power Off [ 426s] [ 406.805275] reboot: Power down [ 426s] ### VM INTERACTION END ### [ 426s] [ 426s] lamb03 failed "build osmo-trx_1.1.1.13.94c5.dsc" at Fri Sep 13 11:15:07 UTC 2019. [ 426s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 13 11:15:45 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 13 Sep 2019 11:15:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7b7a702fe25_44552b1812da45f83153a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 445s] ar: `u' modifier ignored since `D' is the default (see `U') [ 445s] libtool: link: ranlib .libs/libtransceiver_common.a [ 445s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 445s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 446s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 446s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 446s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 446s] collect2: error: ld returned 1 exit status [ 446s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 446s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 446s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 446s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 446s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 446s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 446s] make[1]: *** [Makefile:444: all] Error 2 [ 446s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 446s] dh_auto_build: make -j1 returned exit code 2 [ 446s] make: *** [debian/rules:6: build] Error 255 [ 446s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 446s] [ 446s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 11:15:28 UTC 2019. [ 446s] [ 446s] ### VM INTERACTION START ### [ 449s] [ 429.470860] sysrq: SysRq : Power Off [ 449s] [ 429.476839] reboot: Power down [ 449s] ### VM INTERACTION END ### [ 449s] [ 449s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 13 11:15:31 UTC 2019. [ 449s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:38:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 11:38:41 +0000 Subject: Change in ...osmo-pcu[master]: bts.cpp: Fix osmo_tdef initialization on older g++ compilers In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15510 ) Change subject: bts.cpp: Fix osmo_tdef initialization on older g++ compilers ...................................................................... bts.cpp: Fix osmo_tdef initialization on older g++ compilers Fixing errrors spotted: bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::T' }; ^ bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::default_val' bts.cpp:78:1: error: uninitialized const member 'osmo_tdef::unit' bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::T' }; ^ bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::default_val' bts.cpp:84:1: error: uninitialized const member 'osmo_tdef::unit' Change-Id: I2dfecf22516f52cc19e0a0442e70dbc4dbc61336 --- M src/bts.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index a913ca0..8b32e2e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -74,13 +74,13 @@ { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (s)", .val=0 }, { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (ms)", .val=0 }, { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (s)", .val=0 }, - {} + { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; static struct osmo_tdef T_defs_pcu[] = { { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, - {} + { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; /** -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2dfecf22516f52cc19e0a0442e70dbc4dbc61336 Gerrit-Change-Number: 15510 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:43:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:43:27 +0000 Subject: Change in ...docker-playground[master]: WIP: support for osmo-resmim testsuite Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15511 Change subject: WIP: support for osmo-resmim testsuite ...................................................................... WIP: support for osmo-resmim testsuite Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 --- A ttcn3-remsim-test/.release A ttcn3-remsim-test/Dockerfile A ttcn3-remsim-test/Makefile A ttcn3-remsim-test/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv A ttcn3-remsim-test/client/REMSIM_Tests.cfg A ttcn3-remsim-test/jenkins.sh 8 files changed, 182 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/11/15511/1 diff --git a/ttcn3-remsim-test/.release b/ttcn3-remsim-test/.release new file mode 100644 index 0000000..a036e4f --- /dev/null +++ b/ttcn3-remsim-test/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=ttcn3-remsim-test-0.0.0 diff --git a/ttcn3-remsim-test/Dockerfile b/ttcn3-remsim-test/Dockerfile new file mode 100644 index 0000000..b1ea71f --- /dev/null +++ b/ttcn3-remsim-test/Dockerfile @@ -0,0 +1,35 @@ +ARG USER +FROM $USER/debian-stretch-titan + +RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) +RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git + +RUN cd osmo-ttcn3-hacks && \ + git checkout -f -B master origin/master && \ + make deps + +RUN git config --global user.email docker at dock.er && \ + git config --global user.name "Dock Er" + +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN cd osmo-ttcn3-hacks && \ + git fetch && \ + git checkout $OSMO_TTCN3_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_TTCN3_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + make deps-update remsim + +VOLUME /data + +RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \ + ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh / + +COPY REMSIM_Tests.cfg /data/REMSIM_Tests.cfg + +CMD cd /data && \ + /osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/remsim/REMSIM_Tests; \ + exit_code=$?; \ + /osmo-ttcn3-hacks/log_merge.sh REMSIM_Tests --rm; \ + exit $exit_code diff --git a/ttcn3-remsim-test/Makefile b/ttcn3-remsim-test/Makefile new file mode 100644 index 0000000..0895788 --- /dev/null +++ b/ttcn3-remsim-test/Makefile @@ -0,0 +1,2 @@ + +include ../make/Makefile diff --git a/ttcn3-remsim-test/REMSIM_Tests.cfg b/ttcn3-remsim-test/REMSIM_Tests.cfg new file mode 100644 index 0000000..5a9f026 --- /dev/null +++ b/ttcn3-remsim-test/REMSIM_Tests.cfg @@ -0,0 +1,16 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +# IP address of IUT (server) to which test connects +REMSIM_Tests.mp_server_ip := "172.18.17.20" + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimServer_Tests.control diff --git a/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg b/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg new file mode 100644 index 0000000..2e77590 --- /dev/null +++ b/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +# IP address on which the simulated server binds +REMSIM_Tests.mp_server_ip := "172.18.17.10" +# IP address of the IUT (bankd) to which simulated client connects +REMSIM_Tests.mp_bankd_ip := "172.18.17.30" + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimBankd_Tests.control diff --git a/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv b/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv new file mode 100644 index 0000000..38a22c9 --- /dev/null +++ b/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv @@ -0,0 +1,6 @@ +"1","0","ACS ACR33 ICC Reader 00 00" +"1","1","ACS ACR33 ICC Reader 00 01" +"1","2","ACS ACR33 ICC Reader 00 02" +"1","3","ACS ACR33 ICC Reader 00 03" +"1","4","ACS ACR33 ICC Reader 00 04" +"1","23","Alcor Micro AU9560 00 00" diff --git a/ttcn3-remsim-test/client/REMSIM_Tests.cfg b/ttcn3-remsim-test/client/REMSIM_Tests.cfg new file mode 100644 index 0000000..d3f8d42 --- /dev/null +++ b/ttcn3-remsim-test/client/REMSIM_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +# IP address to which ATS binds emulated remsim-server +REMSIM_Tests.mp_server_ip := "172.18.17.10" +# IP address to which ATS binds emulated remsim-bankd +REMSIM_Tests.mp_bankd_ip := "172.18.17.10" + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimClient_Tests.control diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh new file mode 100755 index 0000000..38da9b3 --- /dev/null +++ b/ttcn3-remsim-test/jenkins.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-stretch-build" \ + "osmo-remsim-$IMAGE_SUFFIX" \ + "ttcn3-remsim-test" + +start_server() { + echo Starting container with osmo-remsim-server + docker run --rm \ + --network $NET_NAME --ip 172.18.17.20 \ + -v $VOL_BASE_DIR/server:/data \ + --name ${BUILD_TAG}-server -d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-server +} + +start_bankd() { + echo Starting container with osmo-remsim-bankd + docker run --rm \ + --network $NET_NAME --ip 172.18.17.30 \ + -v $VOL_BASE_DIR/bankd:/data \ + --name ${BUILD_TAG}-bankd -d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-bankd -i 172.18.17.10 +} + +start_client() { + echo Starting container with osmo-remsim-client + docker run --rm \ + --network $NET_NAME --ip 172.18.17.40 \ + -v $VOL_BASE_DIR/client:/data \ + --name ${BUILD_TAG}-client-d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-client +} + + + +start_testsuite() { + echo Starting container with REMSIM testsuite + docker run --rm \ + --network $NET_NAME --ip 172.18.17.10 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/remsim-tester:/data \ + --name ${BUILD_TAG}-ttcn3-remsim-test \ + $REPO_USER/ttcn3-remsim-test +} + +network_create 172.18.17.0/24 + +mkdir $VOL_BASE_DIR/remsim-tester + +mkdir $VOL_BASE_DIR/server + +mkdir $VOL_BASE_DIR/bankd +cp bankd/bankd_pcsc_slots.csv $VOL_BASE_DIR/bankd/ + +mkdir $VOL_BASE_DIR/client + + +# 1) server test suite +start_server +cp REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-server + +# 2) bankd test suite +echo "Changing to bankd configuration" +start_bankd +cp bankd/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-bankd + +# 3) client test suite +#echo "Changing to client configuration" +#start_client +#cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +#start_testsuite +#docker container kill ${BUILD_TAG}-client + +network_remove +collect_logs -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 Gerrit-Change-Number: 15511 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:43:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:43:59 +0000 Subject: Change in ...docker-playground[master]: support for dockerized osmo-resmim testsuite In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/15511 ) Change subject: support for dockerized osmo-resmim testsuite ...................................................................... support for dockerized osmo-resmim testsuite Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 --- A ttcn3-remsim-test/.release A ttcn3-remsim-test/Dockerfile A ttcn3-remsim-test/Makefile A ttcn3-remsim-test/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv A ttcn3-remsim-test/client/REMSIM_Tests.cfg A ttcn3-remsim-test/jenkins.sh 8 files changed, 182 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/11/15511/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 Gerrit-Change-Number: 15511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:44:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:44:33 +0000 Subject: Change in ...docker-playground[master]: support for dockerized osmo-resmim testsuite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15511 ) Change subject: support for dockerized osmo-resmim testsuite ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 Gerrit-Change-Number: 15511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Sep 2019 11:44:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:44:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:44:37 +0000 Subject: Change in ...docker-playground[master]: add osmo-resmsim-master Docker container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15508 ) Change subject: add osmo-resmsim-master Docker container ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f Gerrit-Change-Number: 15508 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Sep 2019 11:44:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:44:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:44:38 +0000 Subject: Change in ...docker-playground[master]: add osmo-resmsim-master Docker container In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15508 ) Change subject: add osmo-resmsim-master Docker container ...................................................................... add osmo-resmsim-master Docker container this will be used in upcoming TTCN-3 tests for osmo-remsim Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f --- A osmo-remsim-master/.release A osmo-remsim-master/Dockerfile A osmo-remsim-master/Makefile A osmo-remsim-master/Release.key 4 files changed, 77 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-remsim-master/.release b/osmo-remsim-master/.release new file mode 100644 index 0000000..24401d3 --- /dev/null +++ b/osmo-remsim-master/.release @@ -0,0 +1 @@ +release=0.0.0 diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile new file mode 100644 index 0000000..acc7078 --- /dev/null +++ b/osmo-remsim-master/Dockerfile @@ -0,0 +1,53 @@ +ARG USER +FROM $USER/debian-stretch-build + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libpcsclite-dev \ + libcsv-dev \ + libjansson-dev \ + libulfius-dev \ + liborcania-dev && \ + apt-get clean + +#ADD respawn.sh /usr/local/bin/respawn.sh + +WORKDIR /tmp + +ARG OSMO_REMSIM_BRANCH="master" + +RUN git clone git://git.osmocom.org/osmo-remsim.git +ADD http://git.osmocom.org/osmo-remsim/patch?h=$OSMO_REMSIM_BRANCH /tmp/commit-osmo-remsim + +RUN cd osmo-remsim && \ + git fetch && git checkout $OSMO_REMSIM_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_REMSIM_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure && \ + make -j8 install && \ + ldconfig + +VOLUME /data + +#COPY osmo-bts.cfg /data/osmo-bts.cfg + +WORKDIR /data +CMD ["/usr/local/bin/osmo-resmim-server"] + +#EXPOSE diff --git a/osmo-remsim-master/Makefile b/osmo-remsim-master/Makefile new file mode 100644 index 0000000..2e0e850 --- /dev/null +++ b/osmo-remsim-master/Makefile @@ -0,0 +1,3 @@ +#RUN_ARGS?=--rm --network sigtran --ip 172.18.0.210 -v bts-vol:/data + +include ../make/Makefile diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-remsim-master/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8508441289455d0a2e3486a99ef09c85937de26f Gerrit-Change-Number: 15508 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:44:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:44:38 +0000 Subject: Change in ...docker-playground[master]: support for dockerized osmo-resmim testsuite In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15511 ) Change subject: support for dockerized osmo-resmim testsuite ...................................................................... support for dockerized osmo-resmim testsuite Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 --- A ttcn3-remsim-test/.release A ttcn3-remsim-test/Dockerfile A ttcn3-remsim-test/Makefile A ttcn3-remsim-test/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/REMSIM_Tests.cfg A ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv A ttcn3-remsim-test/client/REMSIM_Tests.cfg A ttcn3-remsim-test/jenkins.sh 8 files changed, 182 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-remsim-test/.release b/ttcn3-remsim-test/.release new file mode 100644 index 0000000..a036e4f --- /dev/null +++ b/ttcn3-remsim-test/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=ttcn3-remsim-test-0.0.0 diff --git a/ttcn3-remsim-test/Dockerfile b/ttcn3-remsim-test/Dockerfile new file mode 100644 index 0000000..b1ea71f --- /dev/null +++ b/ttcn3-remsim-test/Dockerfile @@ -0,0 +1,35 @@ +ARG USER +FROM $USER/debian-stretch-titan + +RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) +RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git + +RUN cd osmo-ttcn3-hacks && \ + git checkout -f -B master origin/master && \ + make deps + +RUN git config --global user.email docker at dock.er && \ + git config --global user.name "Dock Er" + +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN cd osmo-ttcn3-hacks && \ + git fetch && \ + git checkout $OSMO_TTCN3_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_TTCN3_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + make deps-update remsim + +VOLUME /data + +RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \ + ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh / + +COPY REMSIM_Tests.cfg /data/REMSIM_Tests.cfg + +CMD cd /data && \ + /osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/remsim/REMSIM_Tests; \ + exit_code=$?; \ + /osmo-ttcn3-hacks/log_merge.sh REMSIM_Tests --rm; \ + exit $exit_code diff --git a/ttcn3-remsim-test/Makefile b/ttcn3-remsim-test/Makefile new file mode 100644 index 0000000..0895788 --- /dev/null +++ b/ttcn3-remsim-test/Makefile @@ -0,0 +1,2 @@ + +include ../make/Makefile diff --git a/ttcn3-remsim-test/REMSIM_Tests.cfg b/ttcn3-remsim-test/REMSIM_Tests.cfg new file mode 100644 index 0000000..5a9f026 --- /dev/null +++ b/ttcn3-remsim-test/REMSIM_Tests.cfg @@ -0,0 +1,16 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +# IP address of IUT (server) to which test connects +REMSIM_Tests.mp_server_ip := "172.18.17.20" + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimServer_Tests.control diff --git a/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg b/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg new file mode 100644 index 0000000..2e77590 --- /dev/null +++ b/ttcn3-remsim-test/bankd/REMSIM_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] +# IP address on which the simulated server binds +REMSIM_Tests.mp_server_ip := "172.18.17.10" +# IP address of the IUT (bankd) to which simulated client connects +REMSIM_Tests.mp_bankd_ip := "172.18.17.30" + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimBankd_Tests.control diff --git a/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv b/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv new file mode 100644 index 0000000..38a22c9 --- /dev/null +++ b/ttcn3-remsim-test/bankd/bankd_pcsc_slots.csv @@ -0,0 +1,6 @@ +"1","0","ACS ACR33 ICC Reader 00 00" +"1","1","ACS ACR33 ICC Reader 00 01" +"1","2","ACS ACR33 ICC Reader 00 02" +"1","3","ACS ACR33 ICC Reader 00 03" +"1","4","ACS ACR33 ICC Reader 00 04" +"1","23","Alcor Micro AU9560 00 00" diff --git a/ttcn3-remsim-test/client/REMSIM_Tests.cfg b/ttcn3-remsim-test/client/REMSIM_Tests.cfg new file mode 100644 index 0000000..d3f8d42 --- /dev/null +++ b/ttcn3-remsim-test/client/REMSIM_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +# IP address to which ATS binds emulated remsim-server +REMSIM_Tests.mp_server_ip := "172.18.17.10" +# IP address to which ATS binds emulated remsim-bankd +REMSIM_Tests.mp_bankd_ip := "172.18.17.10" + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +RemsimClient_Tests.control diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh new file mode 100755 index 0000000..38da9b3 --- /dev/null +++ b/ttcn3-remsim-test/jenkins.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "debian-stretch-build" \ + "osmo-remsim-$IMAGE_SUFFIX" \ + "ttcn3-remsim-test" + +start_server() { + echo Starting container with osmo-remsim-server + docker run --rm \ + --network $NET_NAME --ip 172.18.17.20 \ + -v $VOL_BASE_DIR/server:/data \ + --name ${BUILD_TAG}-server -d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-server +} + +start_bankd() { + echo Starting container with osmo-remsim-bankd + docker run --rm \ + --network $NET_NAME --ip 172.18.17.30 \ + -v $VOL_BASE_DIR/bankd:/data \ + --name ${BUILD_TAG}-bankd -d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-bankd -i 172.18.17.10 +} + +start_client() { + echo Starting container with osmo-remsim-client + docker run --rm \ + --network $NET_NAME --ip 172.18.17.40 \ + -v $VOL_BASE_DIR/client:/data \ + --name ${BUILD_TAG}-client-d \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + osmo-remsim-client +} + + + +start_testsuite() { + echo Starting container with REMSIM testsuite + docker run --rm \ + --network $NET_NAME --ip 172.18.17.10 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/remsim-tester:/data \ + --name ${BUILD_TAG}-ttcn3-remsim-test \ + $REPO_USER/ttcn3-remsim-test +} + +network_create 172.18.17.0/24 + +mkdir $VOL_BASE_DIR/remsim-tester + +mkdir $VOL_BASE_DIR/server + +mkdir $VOL_BASE_DIR/bankd +cp bankd/bankd_pcsc_slots.csv $VOL_BASE_DIR/bankd/ + +mkdir $VOL_BASE_DIR/client + + +# 1) server test suite +start_server +cp REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-server + +# 2) bankd test suite +echo "Changing to bankd configuration" +start_bankd +cp bankd/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +start_testsuite +docker container kill ${BUILD_TAG}-bankd + +# 3) client test suite +#echo "Changing to client configuration" +#start_client +#cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/ +#start_testsuite +#docker container kill ${BUILD_TAG}-client + +network_remove +collect_logs -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05090f408b04aae24c23978da831e9f844d723a3 Gerrit-Change-Number: 15511 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:45:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:45:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Initial TTCN-3 test suite for osmo-remsim In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 ) Change subject: Initial TTCN-3 test suite for osmo-remsim ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 Gerrit-Change-Number: 15509 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Sep 2019 11:45:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:45:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:45:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Initial TTCN-3 test suite for osmo-remsim In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 ) Change subject: Initial TTCN-3 test suite for osmo-remsim ...................................................................... Initial TTCN-3 test suite for osmo-remsim This adds shared infrastructure and initial test suites for osmo-remsim-{server,client,bankd}. Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 --- M Makefile M deps/Makefile A remsim/REMSIM_Tests.cfg A remsim/REMSIM_Tests.default A remsim/REMSIM_Tests.ttcn A remsim/RSPRO.asn A remsim/RSPRO_EncDec.cc A remsim/RSPRO_Server.ttcn A remsim/RSPRO_Types.ttcn A remsim/RSRES.ttcn A remsim/RemsimBankd_Tests.ttcn A remsim/RemsimClient_Tests.ttcn A remsim/RemsimServer_Tests.ttcn A remsim/gen_links.sh A remsim/regen_makefile.sh 15 files changed, 2,252 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index 2c8e951..99243d6 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu sccp selftest sgsn sip sysinfo +SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu remsim sccp selftest sgsn sip sysinfo NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) diff --git a/deps/Makefile b/deps/Makefile index ed265c0..ec31e59 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -22,6 +22,7 @@ titan.ProtocolModules.ICMP \ titan.ProtocolModules.ICMPv6 \ titan.ProtocolModules.IP \ + titan.ProtocolModules.JSON_v07_2006 \ titan.ProtocolModules.L2TP \ titan.ProtocolModules.M3UA \ titan.ProtocolModules.SMPP \ @@ -30,6 +31,8 @@ titan.ProtocolModules.RTP \ titan.ProtocolModules.DIAMETER_ProtocolModule_Generator \ titan.TestPorts.Common_Components.Socket-API \ + titan.TestPorts.Common_Components.Abstract_Socket \ + titan.TestPorts.HTTPmsg \ titan.TestPorts.IPL4asp \ titan.TestPorts.LANL2asp \ titan.TestPorts.PCAPasp \ @@ -84,6 +87,7 @@ titan.ProtocolModules.ICMPv6_commit= R.2.A titan.ProtocolModules.IP_commit= R.10.B-1-g99d0ec9 titan.ProtocolModules.ISUP_Q.762_commit= R.8.A +titan.ProtocolModules.JSON_v07_2006_commit= R.1.A titan.ProtocolModules.L2TP_commit= R.2.A titan.ProtocolModules.LLC_v7.1.0_commit= 2a3c09fbf7bae22f802aa88689800f38a1f3732d titan.ProtocolModules.MAP_commit= R.2.A-1-g79c6a3d @@ -104,7 +108,9 @@ titan.ProtocolModules.TCP_commit= R.3.A titan.ProtocolModules.UDP_commit= R.4.A titan.TestPorts.Common_Components.Socket-API_commit= R.6.A +titan.TestPorts.Common_Components.Abstract_Socket_commit= R.9.B titan.TestPorts.GPIO_commit= R.3.A +titan.TestPorts.HTTPmsg_commit= R.9.B titan.TestPorts.IPL4asp_commit= R.29.A titan.TestPorts.LANL2asp_commit= R.8.B titan.TestPorts.MTP3asp_commit= 1cecdad6f3641a5f19b3833703bff6e5005eff11 diff --git a/remsim/REMSIM_Tests.cfg b/remsim/REMSIM_Tests.cfg new file mode 100644 index 0000000..b2dd9b2 --- /dev/null +++ b/remsim/REMSIM_Tests.cfg @@ -0,0 +1,10 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./REMSIM_Tests.default" + +[CONTROL] +RemsimServer_Tests.control +#RemsimBankd_Tests.control +#RemsimClient_Tests.control diff --git a/remsim/REMSIM_Tests.default b/remsim/REMSIM_Tests.default new file mode 100644 index 0000000..7a41555 --- /dev/null +++ b/remsim/REMSIM_Tests.default @@ -0,0 +1,3 @@ +[TESTPORT_PARAMETERS] +system.HTTP.http_debugging := "yes" +system.HTTP.use_notification_ASPs := "no" diff --git a/remsim/REMSIM_Tests.ttcn b/remsim/REMSIM_Tests.ttcn new file mode 100644 index 0000000..ee2d450 --- /dev/null +++ b/remsim/REMSIM_Tests.ttcn @@ -0,0 +1,247 @@ +module REMSIM_Tests { + +/* Implementation of RSPRO Client in TTCN-3. + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from IPL4asp_Types all; +import from RSPRO all; +import from RSPRO_Types all; +import from IPA_Types all; +import from IPA_Emulation all; + + +modulepar { + charstring mp_bankd_ip := "127.0.0.1"; + integer mp_bankd_port := 9999; + + charstring mp_server_ip := "127.0.0.1"; + integer mp_server_port := 9998; + + integer mp_rsres_port := 9997; +} + +const integer NUM_CLIENT := 3; + +type record RSPRO_Client { + IPA_Emulation_CT vc_IPA, + IPA_CCM_Parameters ccm_pars, + charstring id, + ComponentIdentity rspro_id, + + ClientSlot rspro_client_slot optional, + BankId rspro_bank_id optional, + SlotNumber rspro_bank_nslots optional +}; + +type component rspro_client_CT { + var RSPRO_Client rspro[NUM_CLIENT]; + port IPA_RSPRO_PT RSPRO[NUM_CLIENT]; +}; + +private altstep as_ignore_id_ack(integer i := 0) runs on rspro_client_CT { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } +} + +function f_rspro_init(inout RSPRO_Client clnt, charstring dst_host, integer dst_port, + ComponentIdentity rspro_id, integer i) +runs on rspro_client_CT +{ + timer T := 4.0; + + clnt.id := "RSPRO" & int2str(i); + clnt.vc_IPA := IPA_Emulation_CT.create(clnt.id); + clnt.ccm_pars := c_IPA_default_ccm_pars; + clnt.ccm_pars.name := "Osmocom TTCN-3 RSPRO client simulator"; + clnt.rspro_id := rspro_id; + + /* leave it up to the caller to set those */ + clnt.rspro_client_slot := omit; + clnt.rspro_bank_id := omit; + clnt.rspro_bank_nslots := omit; + + map(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + connect(clnt.vc_IPA:IPA_RSPRO_PORT, self:RSPRO[i]); + + clnt.vc_IPA.start(IPA_Emulation.main_client(dst_host, dst_port, "", 10000+i, clnt.ccm_pars)); + + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + mtc.stop; + } + } + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_ID_ACK"); + mtc.stop; + } + } + + + activate(as_ignore_id_ack(i)); +} + +function f_rspro_fini(inout RSPRO_Client clnt, integer i) +runs on rspro_client_CT { + clnt.vc_IPA.stop; + disconnect(clnt.vc_IPA:IPA_RSPRO_PORT, self:RSPRO[i]); + unmap(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); +} + + +function f_rspro_exp(template RsproPDU exp, integer i := 0) +runs on rspro_client_CT return RsproPDU +{ + var RsproPDU pdu; + + timer T := 10.0; + T.start; + alt { + [] RSPRO[i].receive(exp) -> value pdu { + setverdict(pass); + } + [] RSPRO[i].receive(RsproPDU:?) -> value pdu { + setverdict(fail, "Received unexpected RPSRO", pdu); + mtc.stop; + } + [] RSPRO[i].receive { + setverdict(fail, "Received unexpected != RPSRO"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp); + mtc.stop; + } + } + return pdu; +} + +function f_rspro_exp_disconnect(integer i := 0) +runs on rspro_client_CT { + timer T := 10.0; + T.start; + alt { + [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout expecting disconnect"); + mtc.stop; + } + } +} + + +function f_rspro_connect_client(integer i, template ResultCode exp_res := ok) runs on rspro_client_CT +{ + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + RSPRO[i].send(ts_RSPRO_ConnectClientReq(rspro[i].rspro_id, rspro[i].rspro_client_slot)); + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, exp_res), i); + } + case (remsimBankd) { + var template IpAddress ip := ts_IPv4(mp_bankd_ip); + RSPRO[i].send(ts_RSPRO_ConnectBankReq(rspro[i].rspro_id, rspro[i].rspro_bank_id, + rspro[i].rspro_bank_nslots, + ts_IpPort(ip, mp_bankd_port))); + f_rspro_exp(tr_RSPRO_ConnectBankRes(?, exp_res), i); + } + case else { + setverdict(fail, "Unsupported type ", rspro[i].rspro_id.type_); + mtc.stop; + } + } +} + +function f_rspro_connect_clients() runs on rspro_client_CT +{ + var integer i; + + for (i := 0; i < NUM_CLIENT; i := i+1) { + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + RSPRO[i].send(ts_RSPRO_ConnectClientReq(rspro[i].rspro_id, + rspro[i].rspro_client_slot)); + } + case (remsimBankd) { + var template IpAddress ip := ts_IPv4(mp_bankd_ip); + RSPRO[i].send(ts_RSPRO_ConnectBankReq(rspro[i].rspro_id, rspro[i].rspro_bank_id, + rspro[i].rspro_bank_nslots, + ts_IpPort(ip, mp_bankd_port))); + } + } + } + for (i := 0; i < NUM_CLIENT; i := i+1) { + select (rspro[i].rspro_id.type_) { + case (remsimClient) { + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, ResultCode:ok), i); + } + case (remsimBankd) { + f_rspro_exp(tr_RSPRO_ConnectBankRes(?, ResultCode:ok), i); + } + } + } +} + +/* transceive a TPDU from modem to card (and back) */ +function f_rspro_xceive_mdm2card(integer idx, BankSlot bs, template (value) octetstring data, + template (value) TpduFlags flags) runs on rspro_client_CT return octetstring { + var RsproPDU rx; + RSPRO[idx].send(ts_RSPRO_TpduModemToCard(rspro[idx].rspro_client_slot, bs, flags, data)); + rx := f_rspro_exp(tr_RSPRO_TpduCardToModem(bs, rspro[idx].rspro_client_slot, ?, ?)); + return rx.msg.tpduCardToModem.data; +} + +/* handle an incoming CreateMapping + ACK it */ +altstep as_rspro_create_mapping(integer i, template ClientSlot cslot := ?, template BankSlot bslot := ?, + template ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_CreateMappingReq(cslot, bslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_CreateMappingRes(res)); + } +} + +/* handle an incoming RemoveMapping + ACK it */ +altstep as_rspro_remove_mapping(integer i, template ClientSlot cslot := ?, template BankSlot bslot := ?, + template ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_RemoveMappingReq(cslot, bslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_RemoveMappingRes(res)); + } +} + +altstep as_rspro_cfg_client_id(integer i, template ClientSlot cslot := ?, + template (value) ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_ConfigClientIdReq(cslot)) -> value rx { + RSPRO[i].send(ts_RSPRO_ConfigClientIdRes(res)); + } +} + +altstep as_rspro_cfg_client_bank(integer i, template BankSlot bslot := ?, + template IpPort ip_port := ?, + template (value) ResultCode res := ok) +runs on rspro_client_CT { + var RsproPDU rx; + [] RSPRO[i].receive(tr_RSPRO_ConfigClientBankReq(bslot, ip_port)) -> value rx { + RSPRO[i].send(ts_RSPRO_ConfigClientBankRes(res)); + } +} + + + +} diff --git a/remsim/RSPRO.asn b/remsim/RSPRO.asn new file mode 100644 index 0000000..aaafb96 --- /dev/null +++ b/remsim/RSPRO.asn @@ -0,0 +1,349 @@ +---------------------------------------------------------------------- +-- RSPRO - Remote SIM Protocol, part of Osmocom Remote SIM Suite +-- (C) 2018 by Harald Welte +-- All Rights Reserved +-- +-- SPDX-License-Identifier: GPL-2.0+ +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License along +-- with this program; if not, write to the Free Software Foundation, Inc., +-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +-- +---------------------------------------------------------------------- + +RSPRO {} DEFINITIONS + +IMPLICIT TAGS + +::= + +BEGIN + +EXPORTS + RsproPDU +; + +---------------------------------------------------------------------- +-- Elementary Data Types +---------------------------------------------------------------------- + +-- Some random ID the requestor can chose and which the client echos back in a response. +-- This allows multiple outstanding commands in flight and matching of responses to requests. +OperationTag ::= INTEGER(0..2147483647) + +-- Unique identifier of a given SIM bank +BankId ::= INTEGER(0..1023) + +-- Unique identifier of a given client (modem) +ClientId ::= INTEGER(0..1023) + +ComponentType ::= ENUMERATED { + -- client: Modems / Phones + remsimClient (0), + -- server: Coordination + remsimServer (1), + -- bank daemon: SIM cards + remsimBankd (2) +} +ComponentName ::= IA5String (SIZE (1..32)) +ComponentIdentity ::= SEQUENCE { + type ComponentType, + name ComponentName, + software [0] ComponentName, + swVersion [1] ComponentName, + hwManufacturer [2] ComponentName OPTIONAL, + hwModel [3] ComponentName OPTIONAL, + hwSerialNr [4] ComponentName OPTIONAL, + hwVersion [5] ComponentName OPTIONAL, + fwVersion [6] ComponentName OPTIONAL, + ... +} + +-- IP address / port details +Ipv4Address ::= OCTET STRING (SIZE (4)) +Ipv6Address ::= OCTET STRING (SIZE (16)) +IpAddress ::= CHOICE { + ipv4 [0] Ipv4Address, + ipv6 [1] Ipv6Address +} +PortNumber ::= INTEGER (0..65535) +IpPort ::= SEQUENCE { + ip IpAddress, + port PortNumber +} + +-- Result of a given operation +ResultCode ::= ENUMERATED { + ok (0), + -- client / bank / slot ID not accepted + illegalClientId (1), + illegalBankId (2), + illegalSlotId (3), + unsupportedProtocolVersion (4), + unknownSlotmap (5), + + -- no card is present in given slot + cardNotPresent (100), + -- card is present but unresponsive in given slot + cardUnresponsive (101), + -- unrecoverable transmission errors detected + cardTransmissionError (102), + ... +} + +ErrorCode ::= ENUMERATED { + -- Bankd or Server has received connection form unknown client (no mapping) + unknownClientConnected (1), + -- unexpected disconnect (typically bankd reports client disconnect) + unexpectedDisconnect (2), + unexpectedProtocolVersion (3), + ... +} + +ErrorString ::= IA5String (SIZE (1..255)) + +ErrorSeverity ::= ENUMERATED { + minor (1), + major (2), + fatal (3), + ... +} + +-- Slot number within a SIM bank or a client. +SlotNumber ::= INTEGER(0..1023) + +-- Slot identity on client (modem) side +ClientSlot ::= SEQUENCE { + clientId ClientId, + slotNr SlotNumber, + ... +} + +-- Slot identity on SIM bank side +BankSlot ::= SEQUENCE { + bankId BankId, + slotNr SlotNumber, + ... +} + +ATR ::= OCTET STRING (SIZE (1..55)) + +-- flags related to a TPDU in either of the two directions +TpduFlags ::= SEQUENCE { + -- indicates a TPDU header is present in this message + tpduHeaderPresent BOOLEAN, + -- indicates last part of transmission in this direction + finalPart BOOLEAN, + -- indicates a PB is present and we should continue with TX + procByteContinueTx BOOLEAN, + -- indicates a PB is present and we should continue with RX + procByteContinueRx BOOLEAN, + ... +} + +--- physical state of a given slot +SlotPhysStatus ::= SEQUENCE { + -- is RST activated by the modem? + resetActive [0] BOOLEAN, + -- is VCC applied by the modem? + vccPresent [1] BOOLEAN OPTIONAL, + -- is CLK applied by the modem? + clkActive [2] BOOLEAN OPTIONAL, -- not all hardware supports this + -- is card presence signalled to the modem? + cardPresent [3] BOOLEAN OPTIONAL, + ... +} + +---------------------------------------------------------------------- +-- Messages +---------------------------------------------------------------------- + + +-- BANKD->SERVER: SIM Bank connects to central server +ConnectBankReq ::= SEQUENCE { + -- identity of the bank that is connecting to the server + identity ComponentIdentity, + -- bank number, pre-configured on bank side + bankId BankId, + numberOfSlots SlotNumber, + -- IP/Port to which this bankd has bound and is listening for clients + bound IpPort OPTIONAL, + ... +} +ConnectBankRes ::= SEQUENCE { + -- identity of the server to which the bank is connecting + identity ComponentIdentity, + result ResultCode, + ... +} + +-- CLIENT->SERVER or CLIENT->BANKD +ConnectClientReq ::= SEQUENCE { + -- identity of the client that is connecting to the server/bankd + identity ComponentIdentity, + clientSlot ClientSlot OPTIONAL, -- mandatory for CL->BANKD; CL->SERVER: old identity, if any + ... +} +ConnectClientRes ::= SEQUENCE { + -- identity of the bankd/server to which the client is connecting + identity ComponentIdentity, + result ResultCode, + ... +} + +-- SERVER->BANKD: create a mapping between a given Bank:Slot <-> Client:Slot +CreateMappingReq ::= SEQUENCE { + client ClientSlot, + bank BankSlot, + ... +} +CreateMappingRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->BANKD: remove a mapping between a given Bank:Slot <-> Client:Slot +RemoveMappingReq ::= SEQUENCE { + client ClientSlot, + bank BankSlot, + ... +} +RemoveMappingRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->CLIENT: set Client ID +ConfigClientIdReq ::= SEQUENCE { + -- server-allocated assignment of a client ID + clientSlot ClientSlot, + ... +} +ConfigClientIdRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- SERVER->CLIENT: set BankId/Slot and IP/Port +ConfigClientBankReq ::= SEQUENCE { + -- server-allocated assignment of a client ID + bankSlot BankSlot, + -- bank to which the client shall connect + bankd IpPort, + ... +} +ConfigClientBankRes ::= SEQUENCE { + result ResultCode, + ... +} + + +-- BANKD->CLIENT: configure the ATR which the card emulator (client) shall send to the modem +SetAtrReq ::= SEQUENCE { + slot ClientSlot, + atr ATR, + ... +} +SetAtrRes ::= SEQUENCE { + result ResultCode, + ... +} + +-- CLIENT->BANKD: TPDU in Modem -> Card direction +TpduModemToCard ::= SEQUENCE { + -- we include fully-qualified bank and client slots for easier debugging + fromClientSlot ClientSlot, + toBankSlot BankSlot, + flags TpduFlags, + data OCTET STRING, + ... +} + +-- BANKD->CLIENT: TPDU in Card -> Modem direction +TpduCardToModem ::= SEQUENCE { + -- we include fully-qualified bank and client slots for easier debugging + fromBankSlot BankSlot, + toClientSlot ClientSlot, + flags TpduFlags, + data OCTET STRING, + ... +} + +-- CLIENT->BANKD: indciation about the current status of a client (modem side) +ClientSlotStatusInd ::= SEQUENCE { + fromClientSlot ClientSlot, + toBankSlot BankSlot, + slotPhysStatus SlotPhysStatus, + ... +} + +-- BANKD->CLIENT: indciation about the current status of a bank (modem side) +BankSlotStatusInd ::= SEQUENCE { + fromBankSlot BankSlot, + toClientSlot ClientSlot, + slotPhysStatus SlotPhysStatus, + ... +} + +-- *->SERVER: indication about some kind of error +ErrorInd ::= SEQUENCE { + -- whoever is detecting + sending us the error + sender ComponentType, + severity ErrorSeverity, + code ErrorCode, + -- any bank-side slot that's affected + bankSlot [0] BankSlot OPTIONAL, + -- any client-side slot that's affected + clientSlot [1] ClientSlot OPTIONAL, + -- any additional textual information + errorString [2] ErrorString OPTIONAL, + ... +} + + +---------------------------------------------------------------------- +-- PDU +---------------------------------------------------------------------- + +RsproPDUchoice ::= CHOICE { + -- configuration + management + connectBankReq [0] ConnectBankReq, + connectBankRes [1] ConnectBankRes, + connectClientReq [2] ConnectClientReq, + connectClientRes [3] ConnectClientRes, + createMappingReq [4] CreateMappingReq, + createMappingRes [5] CreateMappingRes, + removeMappingReq [6] RemoveMappingReq, + removeMappingRes [7] RemoveMappingRes, + configClientIdReq [8] ConfigClientIdReq, + configClientIdRes [9] ConfigClientIdRes, + configClientBankReq [17] ConfigClientBankReq, + configClientBankRes [18] ConfigClientBankRes, + errorInd [16] ErrorInd, + -- APDUs etc. + setAtrReq [10] SetAtrReq, + setAtrRes [11] SetAtrRes, + tpduModemToCard [12] TpduModemToCard, + tpduCardToModem [13] TpduCardToModem, + clientSlotStatusInd [14] ClientSlotStatusInd, + bankSlotStatusInd [15] BankSlotStatusInd, + ... +} + +RsproPDU ::= SEQUENCE { + version [0] INTEGER(0..32), + tag [1] OperationTag, + msg [2] RsproPDUchoice +} + +END diff --git a/remsim/RSPRO_EncDec.cc b/remsim/RSPRO_EncDec.cc new file mode 100644 index 0000000..a1f898e --- /dev/null +++ b/remsim/RSPRO_EncDec.cc @@ -0,0 +1,26 @@ +#include "RSPRO.hh" + +namespace RSPRO__Types { + +using namespace RSPRO; + +TTCN_Module RSPRO__EncDec("RSPRO_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RsproPDU(const RsproPDU& pdu) { + TTCN_Buffer buf; + + buf.clear(); + pdu.encode(RsproPDU_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); + return OCTETSTRING(buf.get_len(), buf.get_data()); +} + +RsproPDU dec__RsproPDU(const OCTETSTRING &stream) { + TTCN_Buffer buf; + RsproPDU pdu; + buf.put_os(stream); + + pdu.decode(RsproPDU_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + return pdu; +} + +} diff --git a/remsim/RSPRO_Server.ttcn b/remsim/RSPRO_Server.ttcn new file mode 100644 index 0000000..977e7c6 --- /dev/null +++ b/remsim/RSPRO_Server.ttcn @@ -0,0 +1,174 @@ +module RSPRO_Server { + +/* Utility functions implementing an RSRPO server. + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + + +import from IPL4asp_Types all; +import from RSPRO all; +import from RSPRO_Types all; +import from IPA_Types all; +import from IPA_Emulation all; + + +type record RSPRO_Server { + IPA_Emulation_CT vc_IPA, + IPA_CCM_Parameters ccm_pars, + charstring id, + ComponentIdentity rspro_id//, + + //ClientSlot rspro_client_slot optional, + //BankId rspro_bank_id optional, + //SlotNumber rspro_bank_nslots optional +}; + +const integer NUM_SERVER := 2; + +type component rspro_server_CT { + var RSPRO_Server g_rspro_srv[NUM_SERVER]; + port IPA_RSPRO_PT RSPRO_SRV[NUM_SERVER]; +}; + + +altstep as_ignore_id_ack(integer i) runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } +} + + +function f_rspro_srv_exp_connect(integer i) +runs on rspro_server_CT +{ + timer T := 20.0; + T.start; + alt { + [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] T.timeout { + setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + mtc.stop; + } + } +} + +function f_rspro_srv_init(integer i, charstring bind_host, integer bind_port, + ComponentIdentity rspro_id, boolean exp_connect := true) +runs on rspro_server_CT +{ + g_rspro_srv[i].id := "RSPRO_SRV" & int2str(i); + g_rspro_srv[i].vc_IPA := IPA_Emulation_CT.create(g_rspro_srv[i].id); + g_rspro_srv[i].ccm_pars := c_IPA_default_ccm_pars; + g_rspro_srv[i].ccm_pars.name := "Osmocom TTCN-3 RSPRO server simulator"; + g_rspro_srv[i].rspro_id := rspro_id; + + map(g_rspro_srv[i].vc_IPA:IPA_PORT, system:IPA_CODEC_PT); + connect(g_rspro_srv[i].vc_IPA:IPA_RSPRO_PORT, self:RSPRO_SRV[i]); + + g_rspro_srv[i].vc_IPA.start(IPA_Emulation.main_server(bind_host, bind_port)); + + activate(as_ignore_id_ack(i)); + + if (exp_connect) { + f_rspro_srv_exp_connect(i); + } +} + +function f_rspro_srv_fini(integer i) +runs on rspro_server_CT +{ + g_rspro_srv[i].vc_IPA.stop; + disconnect(g_rspro_srv[i].vc_IPA:IPA_RSPRO_PORT, self:RSPRO_SRV[i]); + unmap(g_rspro_srv[i].vc_IPA:IPA_PORT, system:IPA_CODEC_PT); +} + + +function f_rspro_srv_restart(integer i, charstring bind_host, integer bind_port) +runs on rspro_server_CT +{ + g_rspro_srv[i].vc_IPA.stop; + g_rspro_srv[i].vc_IPA.start(IPA_Emulation.main_server(bind_host, bind_port)); +} + + +function f_rspro_srv_exp(template RsproPDU exp, integer i := 0, float tout := 10.0) +runs on rspro_server_CT return RsproPDU +{ + var RsproPDU pdu; + + timer T := tout; + T.start; + alt { + [] RSPRO_SRV[i].receive(exp) -> value pdu { + setverdict(pass); + } + [] RSPRO_SRV[i].receive(RsproPDU:?) -> value pdu { + setverdict(fail, "Received unexpected RPSRO", pdu, " instead of ", exp); + mtc.stop; + } + [] as_ignore_id_ack(i) { repeat; } + [] RSPRO_SRV[i].receive { + setverdict(fail, "Received unexpected != RPSRO"); + mtc.stop; + } + [] T.timeout { + setverdict(fail, "Timeout waiting for ", exp); + mtc.stop; + } + } + return pdu; +} + +function f_rspro_srv_create_slotmap(ClientSlot cslot, BankSlot bslot, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT +{ + RSPRO_SRV[i].send(ts_RSPRO_CreateMappingReq(cslot, bslot)); + f_rspro_srv_exp(tr_RSPRO_CreateMappingRes(exp_res), i); +} + +function f_rspro_srv_remove_slotmap(ClientSlot cslot, BankSlot bslot, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT +{ + RSPRO_SRV[i].send(ts_RSPRO_RemoveMappingReq(cslot, bslot)); + f_rspro_srv_exp(tr_RSPRO_RemoveMappingRes(exp_res), i); +} + +function f_rspro_config_client_bank(template (value) BankSlot bank_slot, + template (value) IpPort bank_iport, + template ResultCode exp_res := ok, integer i := 0) +runs on rspro_server_CT { + RSPRO_SRV[i].send(ts_RSPRO_ConfigClientBankReq(bank_slot, bank_iport)); + f_rspro_srv_exp(tr_RSPRO_ConfigClientBankRes(exp_res)); +} + + +altstep as_connectBankReq(template ComponentIdentity comp_id := tr_CompId(remsimBankd, ?, + "remsim-bankd", ?), + template BankId bid := ?, + template SlotNumber nslots := ?, + ResultCode res := ok, integer i := 0) +runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(tr_RSPRO_ConnectBankReq(comp_id, bid, nslots)) { + RSPRO_SRV[i].send(ts_RSPRO_ConnectBankRes(g_rspro_srv[i].rspro_id, res)); + } +} + +altstep as_connectClientReq(template ComponentIdentity comp_id := tr_CompId(remsimClient, ?, + "remsim-client", ?), + template ClientSlot cslot := *, + ResultCode res := ok, integer i := 0) +runs on rspro_server_CT { + [] RSPRO_SRV[i].receive(tr_RSPRO_ConnectClientReq(comp_id, cslot)) { + RSPRO_SRV[i].send(ts_RSPRO_ConnectClientRes(g_rspro_srv[i].rspro_id, res)); + } +} + + + +} diff --git a/remsim/RSPRO_Types.ttcn b/remsim/RSPRO_Types.ttcn new file mode 100644 index 0000000..1eb84bd --- /dev/null +++ b/remsim/RSPRO_Types.ttcn @@ -0,0 +1,375 @@ +module RSPRO_Types { + +/* Templates and utility functions for the RSPRO protocol. + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from RSPRO all; +import from Native_Functions all; + +template ResultCode tr_Status_ok_or_nocard := (ok, cardNotPresent); + +external function dec_RsproPDU(in octetstring stream) return RsproPDU; +external function enc_RsproPDU(in RsproPDU pdu) return octetstring; + +type integer RsproVersion (0..32); + +template (value) BankSlot ts_BankSlot(template (value) BankId bid, + template (value) SlotNumber slot) := { + bankId := bid, + slotNr := slot +} + +template (value) ClientSlot ts_ClientSlot(template (value) ClientId cid, + template (value) SlotNumber slot) := { + clientId := cid, + slotNr := slot +} + +template (value) ComponentIdentity ts_CompId(template (value) ComponentType ctype, + template (value) ComponentName name, + template (value) ComponentName sw := "TTCN3", + template (value) ComponentName sw_version := "0.1") := { + type_ := ctype, + name := name, + software := sw, + swVersion := sw_version, + hwManufacturer := "sysmocom", + hwModel := omit, + hwSerialNr := omit, + hwVersion := omit, + fwVersion := omit +} +template ComponentIdentity tr_CompId(template ComponentType ctype, + template ComponentName name, + template ComponentName sw := "TTCN3", + template ComponentName sw_version := "0.1") := { + type_ := ctype, + name := name, + software := sw, + swVersion := sw_version, + hwManufacturer := *, + hwModel := *, + hwSerialNr := *, + hwVersion := *, + fwVersion := * +} + +template (value) IpPort ts_IpPort(template (value) IpAddress ip, + template (value) PortNumber port_nr) := { + ip := ip, + port_ := port_nr +} +template IpPort tr_IpPort(template IpAddress ip, template PortNumber port_nr) := { + ip := ip, + port_ := port_nr +} + +template (value) IpAddress ts_IPv4(charstring ip_str) := { + ipv4 := f_inet_addr(ip_str) +} + + + + +template (value) RsproPDU ts_RSPRO(template (value) RsproPDUchoice msg, + template (value) RsproVersion version := 2, + template (value) OperationTag tag := 0) := { + version := version, + tag := tag, + msg := msg +} + +template RsproPDU tr_RSPRO(template RsproPDUchoice msg, + template RsproVersion version := 2, + template OperationTag tag := ?) := { + version := version, + tag := tag, + msg := msg +} + + +template (value) RsproPDU ts_RSPRO_ConnectClientReq(template (value) ComponentIdentity id, + template (omit) ClientSlot clslot) := + ts_RSPRO(RsproPDUchoice:{ + connectClientReq := { + identity := id, + clientSlot := clslot + } + }); +template RsproPDU tr_RSPRO_ConnectClientReq(template ComponentIdentity id, + template ClientSlot clslot) := + tr_RSPRO(RsproPDUchoice:{ + connectClientReq := { + identity := id, + clientSlot := clslot + } + }); + + +template (value) RsproPDU ts_RSPRO_ConnectClientRes(template (value) ComponentIdentity id, + template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + connectClientRes := { + identity := id, + result := res + } + }); +template RsproPDU tr_RSPRO_ConnectClientRes(template ComponentIdentity id := ?, + template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + connectClientRes := { + identity := id, + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_ConnectBankReq(template (value) ComponentIdentity id, + template (value) BankId bid, + template (value) SlotNumber nslots, + template (omit) IpPort bound) := + ts_RSPRO(RsproPDUchoice:{ + connectBankReq := { + identity := id, + bankId := bid, + numberOfSlots := nslots, + bound := bound + } + }); +template RsproPDU tr_RSPRO_ConnectBankReq(template ComponentIdentity id, + template BankId bid, + template SlotNumber nslots, + template IpPort bound := *) := + tr_RSPRO(RsproPDUchoice:{ + connectBankReq := { + identity := id, + bankId := bid, + numberOfSlots := nslots, + bound := * + } + }); + + +template (value) RsproPDU ts_RSPRO_ConnectBankRes(template (value) ComponentIdentity id, + template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + connectBankRes := { + identity := id, + result := res + } + }); +template RsproPDU tr_RSPRO_ConnectBankRes(template ComponentIdentity id := ?, + template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + connectBankRes := { + identity := id, + result := res + } + }); + + +template (value) RsproPDU ts_RSPRO_SetAtrReq(template (value) ClientSlot clslot, + template (value) ATR atr) := + ts_RSPRO(RsproPDUchoice:{ + setAtrReq := { + slot := clslot, + atr := atr + } + }); +template RsproPDU tr_RSPRO_SetAtrReq(template ClientSlot clslot := ?, + template ATR atr := ?) := + tr_RSPRO(RsproPDUchoice:{ + setAtrReq := { + slot := clslot, + atr := atr + } + }); + +template (value) RsproPDU ts_RSPRO_SetAtrRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + setAtrRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_SetAtrRes(template ResultCode res := ?) := + tr_RSPRO(RsproPDUchoice:{ + setAtrRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_TpduModemToCard(template (value) ClientSlot from_clslot, + template (value) BankSlot to_bslot, + template (value) TpduFlags flags, + template (value) octetstring data) := + ts_RSPRO(RsproPDUchoice:{ + tpduModemToCard := { + fromClientSlot := from_clslot, + toBankSlot := to_bslot, + flags := flags, + data := data + } + }); +template RsproPDU tr_RSPRO_TpduModemToCard(template ClientSlot from_clslot := ?, + template BankSlot to_bslot := ?, + template TpduFlags flags := ?, + template octetstring data := ?) := + tr_RSPRO(RsproPDUchoice:{ + tpduModemToCard := { + fromClientSlot := from_clslot, + toBankSlot := to_bslot, + flags := flags, + data := data + } + }); + +template (value) RsproPDU ts_RSPRO_TpduCardToModem(template (value) BankSlot from_bslot, + template (value) ClientSlot to_clslot, + template (value) TpduFlags flags, + template (value) octetstring data) := + ts_RSPRO(RsproPDUchoice:{ + tpduCardToModem := { + fromBankSlot := from_bslot, + toClientSlot := to_clslot, + flags := flags, + data := data + } + }); +template RsproPDU tr_RSPRO_TpduCardToModem(template BankSlot from_bslot := ?, + template ClientSlot to_clslot := ?, + template TpduFlags flags := ?, + template octetstring data := ?) := + tr_RSPRO(RsproPDUchoice:{ + tpduCardToModem := { + fromBankSlot := from_bslot, + toClientSlot := to_clslot, + flags := flags, + data := data + } + }); + +template (value) RsproPDU ts_RSPRO_CreateMappingReq(template (value) ClientSlot cslot, + template (value) BankSlot bslot) := + ts_RSPRO(RsproPDUchoice:{ + createMappingReq := { + client := cslot, + bank := bslot + } + }); +template RsproPDU tr_RSPRO_CreateMappingReq(template ClientSlot cslot, + template BankSlot bslot) := + tr_RSPRO(RsproPDUchoice:{ + createMappingReq := { + client := cslot, + bank := bslot + } + }); + +template (value) RsproPDU ts_RSPRO_CreateMappingRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + createMappingRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_CreateMappingRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + createMappingRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_RemoveMappingReq(template (value) ClientSlot cslot, + template (value) BankSlot bslot) := + ts_RSPRO(RsproPDUchoice:{ + removeMappingReq := { + client := cslot, + bank := bslot + } + }); +template RsproPDU tr_RSPRO_RemoveMappingReq(template ClientSlot cslot, + template BankSlot bslot) := + tr_RSPRO(RsproPDUchoice:{ + removeMappingReq := { + client := cslot, + bank := bslot + } + }); + +template (value) RsproPDU ts_RSPRO_RemoveMappingRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + removeMappingRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_RemoveMappingRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + removeMappingRes := { + result := res + } + }); + + +template (value) RsproPDU ts_RSPRO_ConfigClientIdReq(template (value) ClientSlot cslot) := + ts_RSPRO(RsproPDUchoice: { + configClientIdReq := { + clientSlot := cslot + } + }); +template RsproPDU tr_RSPRO_ConfigClientIdReq(template ClientSlot cslot) := + tr_RSPRO(RsproPDUchoice: { + configClientIdReq := { + clientSlot := cslot + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientIdRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + configClientIdRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_ConfigClientIdRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + configClientIdRes := { + result := res + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientBankReq(template (value) BankSlot bslot, + template (value) IpPort ip_port) := + ts_RSPRO(RsproPDUchoice: { + configClientBankReq := { + bankSlot := bslot, + bankd := ip_port + } + }); +template RsproPDU tr_RSPRO_ConfigClientBankReq(template BankSlot bslot, + template IpPort ip_port) := + tr_RSPRO(RsproPDUchoice: { + configClientBankReq := { + bankSlot := bslot, + bankd := ip_port + } + }); + +template (value) RsproPDU ts_RSPRO_ConfigClientBankRes(template (value) ResultCode res) := + ts_RSPRO(RsproPDUchoice:{ + configClientBankRes := { + result := res + } + }); +template RsproPDU tr_RSPRO_ConfigClientBankRes(template ResultCode res) := + tr_RSPRO(RsproPDUchoice:{ + configClientBankRes := { + result := res + } + }); + + +} diff --git a/remsim/RSRES.ttcn b/remsim/RSRES.ttcn new file mode 100644 index 0000000..a988b66 --- /dev/null +++ b/remsim/RSRES.ttcn @@ -0,0 +1,110 @@ +module RSRES { + +/* Implementation of the REmote Sim RESt (RSRES) JSON data types in TTCN-3. + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + */ + +import from RSPRO all; + +/* resembles "enum remsim_server_client_fsm_state" */ +type enumerated ConnectionState { + INIT, + ESTABLISHED, + CONNECTED_CLIENT, + CONNECTED_BANKD +}; + +type record JsBank { + charstring peer, + ConnectionState state, + ComponentIdentity component_id, + BankId bankId, + SlotNumber numberOfSlots +}; +type record of JsBank JsBanks; + +template JsBank tr_JsBank(template ConnectionState state, + template ComponentIdentity comp_id, + template BankId bank_id, + template SlotNumber num_of_slots) := { + peer := ?, + state := state, + component_id := comp_id, + bankId := bank_id, + numberOfSlots := num_of_slots +} + +type record JsClient { + charstring peer, + ConnectionState state, + ComponentIdentity component_id +}; +type record of JsClient JsClients; + +template JsClient tr_JsClient(template ConnectionState state, + template ComponentIdentity comp_id) := { + peer := ?, + state := state, + component_id := comp_id +} + +/* resembles "enum slot_mapping_state" */ +type enumerated SlotmapState { + NEW, + UNACKNOWLEDGED, + ACTIVE, + DELETE_REQ, + DELETING +}; + +type record JsSlotmap { + BankSlot bank, + ClientSlot client, + SlotmapState state optional +}; +type record of JsSlotmap JsSlotmaps; + +template (value) JsSlotmap ts_JsSlotmap(template (value) BankSlot bslot, + template (value) ClientSlot cslot, + template (omit) SlotmapState state := omit) := { + bank := bslot, + client := cslot, + state := state +} +template JsSlotmap tr_JsSlotmap(template BankSlot bslot, + template ClientSlot cslot, + template SlotmapState state := ?) := { + bank := bslot, + client := cslot, + state := state +} + + + +/* root JSON type expressing what remsim-server can return */ +type record JsRoot { + JsClients clients optional, + JsBanks banks optional, + JsSlotmaps slotmaps optional +}; + +external function f_enc_JsRoot(in JsRoot inp) return octetstring + with { extension "prototype(convert) encode(JSON)" } +external function f_dec_JsRoot(in octetstring inp) return JsRoot + with { extension "prototype(convert) decode(JSON)" } + +external function f_enc_JsSlotmap(in JsSlotmap inp) return octetstring + with { extension "prototype(convert) encode(JSON)" } +external function f_dec_JsSlotmap(in octetstring inp) return JsSlotmap + with { extension "prototype(convert) decode(JSON)" } + + + +} with { encode "JSON" } diff --git a/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn new file mode 100644 index 0000000..bbdea6d --- /dev/null +++ b/remsim/RemsimBankd_Tests.ttcn @@ -0,0 +1,298 @@ +module RemsimBankd_Tests { + +/* Integration Tests for osmo-remsim-bankd + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests osmo-remsim-bankd by attaching to the external interfaces + * such as RSPRO for simulated clients + server. + */ + +import from Osmocom_Types all; +import from IPA_Emulation all; +import from Misc_Helpers all; + +import from RSPRO all; +import from RSRES all; +import from RSPRO_Types all; +import from RSPRO_Server all; +import from REMSIM_Tests all; + +modulepar { + integer mp_bank_id := 1; + integer mp_num_slots := 8; +} + +/* We implement a RSPRO server to simulate the remsim-server and a + RSPRO client to simulate a remsim-client connecting to bankd */ +type component bankd_test_CT extends rspro_server_CT, rspro_client_CT { +} + +private function f_init(boolean start_client := false) runs on bankd_test_CT { + var ComponentIdentity srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); + + f_rspro_srv_init(0, mp_server_ip, mp_server_port, srv_comp_id); + + if (start_client) { + f_init_client(0); + } +} + +private function f_init_client(integer i := 0) runs on rspro_client_CT { + var ComponentIdentity clnt_comp_id := valueof(ts_CompId(remsimClient, "ttcn-client")); + f_rspro_init(rspro[0], mp_bankd_ip, mp_bankd_port, clnt_comp_id, 0); + rspro[0].rspro_client_slot := { clientId := 23+i, slotNr := 0 }; +} + + + +/* Test if the bankd disconnects the TCP/IPA session if we don't respond to connectBankReq */ +testcase TC_connectBankReq_timeout() runs on bankd_test_CT { + timer T := 20.0; + f_init(); + + f_rspro_srv_exp(tr_RSPRO_ConnectBankReq(?, ?, ?)); + T.start; + alt { + [] RSPRO_SRV[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + setverdict(pass); + } + [] RSPRO_SRV[0].receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for disconnect"); + } + } +} + +/* accept an inbound connection from bankd to simulated server */ +testcase TC_connectBankReq() runs on bankd_test_CT { + f_init(); + + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping */ +testcase TC_createMapping() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for a slot that already has a mapping */ +testcase TC_createMapping_busySlot() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalSlotId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for an out-of-range slot number */ +testcase TC_createMapping_invalidSlot() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 200 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalSlotId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to create a mapping for an invalid bankID */ +testcase TC_createMapping_invalidBank() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := 200, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs, exp_res := illegalBankId); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* attempt to remove a non-existant mapping */ +testcase TC_removeMapping_unknownMap() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_remove_slotmap(cs, bs, exp_res := unknownSlotmap); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* add and then remove a mapping, expect both to be successful */ +testcase TC_removeMapping() runs on bankd_test_CT { + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + var ClientSlot cs := { clientId := 23, slotNr := 42 }; + f_rspro_srv_create_slotmap(cs, bs); + f_rspro_srv_remove_slotmap(cs, bs); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd without specifying a clientId */ +testcase TC_clientConnect_missingSlot() runs on bankd_test_CT { + f_init_client(0); + RSPRO[0].send(ts_RSPRO_ConnectClientReq(rspro[0].rspro_id, omit)); + f_rspro_exp(tr_RSPRO_ConnectClientRes(?, ResultCode:illegalClientId), 0); + f_rspro_exp_disconnect(0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd using a clientId for which bankd has no map */ +testcase TC_clientConnect_unknown() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* connect from client to bankd using a clientSlot for which bankd has no map */ + + +/* first connect client, then later add matching mapping from server */ +testcase TC_clientConnect_createMapping() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + f_sleep(10.0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + +/* first add mapping, then connect matching client */ +testcase TC_createMapping_clientConnect() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* FIXME: how to determine that bank correctly mapped us */ + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +/* add mapping, connect matching client, disconnect + reconnect */ +testcase TC_createMapping_clientReconnect() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* TODO: works only with empty slot, as setAtrReq isn't handled */ + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + f_rspro_fini(rspro[0], 0); + + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +/* remove mapping while client is connected */ +testcase TC_removeMapping_connected() runs on bankd_test_CT { + f_init_client(0); + f_rspro_connect_client(0, tr_Status_ok_or_nocard); + /* TODO: works only with empty slot, as setAtrReq isn't handled */ + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + /* FIXME: how to determine that bank correctly mapped us */ + f_sleep(5.0); + f_rspro_srv_remove_slotmap(rspro[0].rspro_client_slot, bs); + f_rspro_exp_disconnect(0); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + +/* first add mapping, then connect matching client and exchange some TPDUs */ +testcase TC_createMapping_exchangeTPDU() runs on bankd_test_CT { + /* FIXME: this would only be done in f_init_client(), but we need it before */ + rspro[0].rspro_client_slot := { clientId := 23+0, slotNr := 0 }; + + f_init(); + as_connectBankReq(bid := mp_bank_id, nslots := mp_num_slots); + + var BankSlot bs := { bankId := mp_bank_id, slotNr := 0 }; + f_rspro_srv_create_slotmap(rspro[0].rspro_client_slot, bs); + + f_sleep(1.0); + + f_init_client(0); + f_rspro_connect_client(0, ok); + /* FIXME: how to determine that bank correctly mapped us */ + f_rspro_exp(tr_RSPRO_SetAtrReq(rspro[0].rspro_client_slot, ?)); + + var TpduFlags f := {tpduHeaderPresent:=true, finalPart:=true, procByteContinueTx:=false, + procByteContinueRx:=false}; + for (var integer i := 0; i < 10; i:=i+1) { + f_rspro_xceive_mdm2card(0, bs, 'A0A40000023F00'O, f); + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass); +} + + + +control { + execute( TC_connectBankReq_timeout() ); + execute( TC_connectBankReq() ); + + execute( TC_createMapping() ); + execute( TC_createMapping_busySlot() ); + execute( TC_createMapping_invalidSlot() ); + execute( TC_createMapping_invalidBank() ); + + execute( TC_removeMapping_unknownMap() ); + execute( TC_removeMapping() ); + + execute( TC_clientConnect_missingSlot() ); + execute( TC_clientConnect_unknown() ); + execute( TC_clientConnect_createMapping() ); + execute( TC_createMapping_clientConnect() ); + execute( TC_createMapping_clientReconnect() ); + execute( TC_removeMapping_connected() ); + + execute( TC_createMapping_exchangeTPDU() ); +} + + + + + +} diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn new file mode 100644 index 0000000..d5520ab --- /dev/null +++ b/remsim/RemsimClient_Tests.ttcn @@ -0,0 +1,118 @@ +module RemsimClient_Tests { + +/* Integration Tests for osmo-remsim-client + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests osmo-remsim-client by attaching to the external interfaces. + */ + +import from Osmocom_Types all; +import from IPA_Emulation all; + +import from RSPRO all; +import from RSPRO_Types all; +import from RSPRO_Server all; +import from REMSIM_Tests all; + +type component client_test_CT extends rspro_server_CT { + var ComponentIdentity g_srv_comp_id, g_bankd_comp_id; +}; + +private function f_init() runs on client_test_CT { + g_srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); + g_bankd_comp_id := valueof(ts_CompId(remsimBankd, "ttcn-bankd")); + + f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id); + f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false); +} + + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient() runs on client_test_CT { + f_init(); + as_connectClientReq(); + setverdict(pass); + f_sleep(1.0); +} + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient_reject() runs on client_test_CT { + f_init(); + as_connectClientReq(res := illegalClientId); + /* expect disconnect by client */ + RSPRO_SRV[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + setverdict(pass); + f_sleep(1.0); +} + +/* ConnectClientReq from client to remsim-server */ +testcase TC_srv_connectClient_configClientBank() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4(mp_bankd_ip), mp_bankd_port)); + f_rspro_srv_exp_connect(1); + as_connectClientReq(i := 1); + setverdict(pass); + f_sleep(1.0); +} + +/* Test if client re-connects to server after connection is lost */ +testcase TC_srv_reconnect() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + + /* disconnect the client from server and expect re-establish + re-connect */ + f_rspro_srv_fini(0); + f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id, exp_connect := true); + as_connectClientReq(i := 0); + + setverdict(pass); + f_sleep(1.0); +} + +/* Test if client re-connects to bank after connection is lost */ +testcase TC_bank_reconnect() runs on client_test_CT { + var BankSlot bslot := { 1, 0 }; + f_init(); + as_connectClientReq(); + f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4(mp_bankd_ip), mp_bankd_port)); + f_rspro_srv_exp_connect(1); + as_connectClientReq(i := 1); + + /* disconnect the client from bankd and expect re-establish + re-connect */ + f_rspro_srv_fini(1); + f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := true); + as_connectClientReq(i := 1); + + setverdict(pass); + f_sleep(1.0); +} + +/* TODO: + * send a configClientBankIpReq and change the bank of an active client + * send a configClientBankSlotReq and chagne the bank slot of an active client + * test keepalive mechanism: do we get IPA PING? + * test keepalive mechanism: do we see disconnect+reconnect if we don't respond to IPA PING? + * test actual APDU transfers + * test messages in invalid state, e.g. APDUs before we're connected to a bank + * test messages on server connection which are only permitted on bankd connection + */ + +control { + execute( TC_srv_connectClient() ); + execute( TC_srv_connectClient_reject() ); + execute( TC_srv_connectClient_configClientBank() ); + execute( TC_srv_reconnect() ); + execute( TC_bank_reconnect() ); +} + + +} diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn new file mode 100644 index 0000000..f0589ef --- /dev/null +++ b/remsim/RemsimServer_Tests.ttcn @@ -0,0 +1,485 @@ +module RemsimServer_Tests { + +/* Integration Tests for osmo-remsim-server + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This test suite tests osmo-remsim-server by attaching to the external interfaces + * such as RSPRO for simulated clients + bankds and RSRES (REST backend interface). + */ + +import from Osmocom_Types all; + +import from RSPRO all; +import from RSRES all; +import from RSPRO_Types all; +import from REMSIM_Tests all; + +import from IPA_Emulation all; + +import from HTTPmsg_Types all; +import from HTTPmsg_PortType all; +import from JSON_Types all; + +type component http_CT { + port HTTPmsg_PT HTTP; + var charstring g_http_host; + var integer g_http_port; +}; + +function f_http_init(charstring host, integer http_port) runs on http_CT { + map(self:HTTP, system:HTTP); + g_http_host := host; + g_http_port := http_port; +} + +template (value) Connect ts_HTTP_Connect(template (value) charstring hostname, + template (value) integer http_port := 80, + template (value) boolean use_ssl := false) := { + hostname := hostname, + portnumber := http_port, + use_ssl := use_ssl +} +template (value) Close ts_HTTP_Close := { client_id := omit }; + +template (value) HeaderLines ts_HTTP_Header(charstring body) := { + { header_name := "Content-Type", header_value := "application/json" }, + { header_name := "Content-Length", header_value := int2str(lengthof(body)) } +} + +template (value) HTTPMessage ts_HTTP_Req(charstring url, + charstring method := "GET", + charstring body := "", + integer v_maj := 1, integer v_min := 1) := { + request := { + client_id := omit, + method := method, + uri := url, + version_major := v_maj, + version_minor := v_min, + header := ts_HTTP_Header(body), + body := body + } +} + +template HTTPMessage tr_HTTP_Resp(template integer sts := ?) := { + response := { + client_id := ?, + version_major := ?, + version_minor := ?, + statuscode := sts, + statustext := ?, + header := ?, + body := ? + } +}; + +template HTTPMessage tr_HTTP_Resp2xx := tr_HTTP_Resp((200..299)); + +/* run a HTTP request and return the response */ +function f_http_transact(charstring url, charstring method := "GET", + charstring body := "", template HTTPMessage exp := tr_HTTP_Resp2xx) +runs on http_CT return HTTPMessage { + var HTTPMessage resp; + timer T := 2.0; + + HTTP.send(ts_HTTP_Connect(g_http_host, g_http_port)); + //HTTP.receive(Connect_result:?); + HTTP.send(ts_HTTP_Req(url, method, body)); + T.start; + alt { + [] HTTP.receive(exp) -> value resp { + setverdict(pass); + } + [] HTTP.receive(tr_HTTP_Resp) -> value resp { + setverdict(fail, "Unexpected HTTP response ", resp); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for HTTP response"); + self.stop; + } + } + HTTP.send(ts_HTTP_Close); + return resp; +} + +/* run a HTTP GET on specified URL expecting json in RSRES format as response */ +function f_rsres_get(charstring url, template integer exp_sts := 200) +runs on http_CT return JsRoot { + var HTTPMessage http_resp; + http_resp := f_http_transact(url, exp := tr_HTTP_Resp(exp_sts)); + return f_dec_JsRoot(char2oct(http_resp.response.body)); +} + +/* run a HTTP PUT to add a new slotmap to the remsim-server */ +function f_rsres_post_slotmap(JsSlotmap slotmap, template integer exp_sts := 201) +runs on http_CT return HTTPResponse { + var charstring body := oct2char(f_enc_JsSlotmap(slotmap)); + var HTTPMessage http_resp; + http_resp := f_http_transact(url := "/api/backend/v1/slotmaps", method := "POST", + body := body, exp := tr_HTTP_Resp(exp_sts)) + return http_resp.response; +} + +/* run a HTTP PUT to add a new slotmap to the remsim-server */ +function f_rsres_post_reset(template integer exp_sts := 200) +runs on http_CT return HTTPResponse { + var HTTPMessage http_resp; + http_resp := f_http_transact(url := "/api/backend/v1/global-reset", method := "POST", + body := "", exp := tr_HTTP_Resp(exp_sts)) + return http_resp.response; +} + + +/* run a HTTP DELETE to remove a slotmap from te remsim-server */ +function f_rsres_delete_slotmap(BankSlot bs, template integer exp_sts := 200) +runs on http_CT return HTTPResponse { + var HTTPMessage http_resp; + var integer slotmap_id := bs.bankId * 65536 + bs.slotNr; + http_resp := f_http_transact(url := "/api/backend/v1/slotmaps/" & int2str(slotmap_id), + method := "DELETE", exp := tr_HTTP_Resp(exp_sts)); + return http_resp.response; +} + + +function f_rsres_init() runs on http_CT { + f_http_init(mp_server_ip, mp_rsres_port); + f_rsres_post_reset(); +} + +type component test_CT extends rspro_client_CT, http_CT { +}; + + +testcase TC_connect_and_nothing() runs on rspro_client_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); + timer T := 20.0; + + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + T.start; + /* expect that we're disconnected if we never send a ConnectClientReq */ + alt { + [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for disconnect"); + } + } +} + +testcase TC_connect_client() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); + var JsRoot js; + + f_rsres_init(); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + js := f_rsres_get("/api/backend/v1/clients"); + if (not match(js.clients, JsClients:{})) { + setverdict(fail, "Initial state not empty"); + mtc.stop; + } + f_rspro_connect_client(0); + js := f_rsres_get("/api/backend/v1/clients"); + if (not match(js.clients[0], tr_JsClient(CONNECTED_CLIENT, rspro[0].rspro_id))) { + setverdict(fail, "Non-matching JSON response"); + mtc.stop; + } + //as_rspro_cfg_client_id(0, cslot); + setverdict(pass); +} + +testcase TC_connect_bank() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, "foobar")); + var JsRoot js; + + f_rsres_init(); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + js := f_rsres_get("/api/backend/v1/banks"); + if (not match(js.banks, JsBanks:{})) { + setverdict(fail, "Initial state not empty"); + mtc.stop; + } + f_rspro_connect_client(0); + js := f_rsres_get("/api/backend/v1/banks"); + if (not match(js.banks[0], tr_JsBank(CONNECTED_BANKD, rspro[0].rspro_id, rspro[0].rspro_bank_id, + rspro[0].rspro_bank_nslots))) { + setverdict(fail, "Non-matching JSON response"); + mtc.stop; + } + setverdict(pass); +} + +function f_ensure_slotmaps(template JsSlotmaps maps) +runs on http_CT { + var JsRoot js; + + /* check that it is actually added */ + js := f_rsres_get("/api/backend/v1/slotmaps"); + if (match(js.slotmaps, maps)) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected slotmaps: ", js); + } +} + +/* verify that exactly only one slotmap exists (the specified one) */ +function f_ensure_slotmap_exists_only(template ClientSlot cslot, template BankSlot bslot, + template SlotmapState state := ?) +runs on http_CT { + f_ensure_slotmaps({ tr_JsSlotmap(bslot, cslot, state) } ); +} + +/* verify that exactly only one slotmap exists (possibly among others) */ +function f_ensure_slotmap_exists(template ClientSlot cslot, template BankSlot bslot, + template SlotmapState state := ?) +runs on http_CT { + f_ensure_slotmaps({ *, tr_JsSlotmap(bslot, cslot, state), * } ); +} + + +/* test adding a single slotmap */ +testcase TC_slotmap_add() runs on test_CT { + f_rsres_init(); + + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res := f_rsres_post_slotmap(sm); + + /* check that it is actually added */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); +} + +/* test adding a slotmap and then connecting a client + bankd */ +testcase TC_slotmap_add_conn_cl_b() runs on test_CT { + /* Simulate one client */ + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + /* Simulate one bankd */ + var BankSlot bslot := valueof(ts_BankSlot(1,2)); + var ComponentIdentity rspro_bank_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[1], mp_server_ip, mp_server_port, rspro_bank_id, 1); + rspro[1].rspro_bank_id := bslot.bankId; + rspro[1].rspro_bank_nslots := 8 + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(bslot, rspro[0].rspro_client_slot)); + var HTTPResponse res; + + /* 1) Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* 2) verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* 3) connect a client for that slotmap */ + f_rspro_connect_client(0); + + /* 4) connect a bankd for that slotmap */ + f_rspro_connect_client(1); + + /* 5) verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* 6) expect bankd to receive that mapping */ + as_rspro_create_mapping(1, sm.client, sm.bank); + + /* 7) verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + /* 8) expect the client to be configured with bankd side settings */ + as_rspro_cfg_client_bank(0, bslot, ?); +} + +/* test connecting a client and later adding a slotmap for it */ +testcase TC_conn_cl_b_slotmap_add() runs on test_CT { + /* Simulate one client */ + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); + + /* Simulate one bankd */ + var BankSlot bslot := valueof(ts_BankSlot(1,2)); + var ComponentIdentity rspro_bank_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[1], mp_server_ip, mp_server_port, rspro_bank_id, 1); + rspro[1].rspro_bank_id := bslot.bankId; + rspro[1].rspro_bank_nslots := 8 + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(bslot, rspro[0].rspro_client_slot)); + var HTTPResponse res; + + /* 1) connect a client for that slotmap */ + f_rspro_connect_client(0); + + /* 2) Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* 3) verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* 4) connect a bankd for that slotmap */ + f_rspro_connect_client(1); + + /* 5) verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* 6) expect bankd to receive that mapping */ + as_rspro_create_mapping(1, sm.client, sm.bank); + + /* 7) verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + /* 8) expect the client to be configured with bankd IP/port */ + as_rspro_cfg_client_bank(0, bslot, ?); +} + +/* simple delete of a 'NEW' slotmap */ +testcase TC_slotmap_del_new() runs on test_CT { + f_rsres_init(); + + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res := f_rsres_post_slotmap(sm); + log(res); + res := f_rsres_delete_slotmap(sm.bank); + log(res); +} + +/* simple delete of a 'UNACKNOWLEDGED' slotmap */ +testcase TC_slotmap_del_unack() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* expect the slotmap to be pushed to bank but don't ACK it */ + f_rspro_exp(tr_RSPRO_CreateMappingReq(sm.client, sm.bank)); + + /* verify that the slotmap exists and is UNACKNOWLEDGED */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, UNACKNOWLEDGED); + + /* delete the slotmap via REST */ + res := f_rsres_delete_slotmap(sm.bank); + + /* verify the slotmap is gone */ + f_ensure_slotmaps({}); +} + +/* simple delete of a 'ACTIVE' slotmap */ +testcase TC_slotmap_del_active() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* verify that the slotmap exists and is NEW */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, NEW); + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* expect the slotmap to be pushed to bank and ACK it */ + as_rspro_create_mapping(0, sm.client, sm.bank); + + /* verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); + + f_sleep(1.0); + + /* delete the slotmap via REST */ + res := f_rsres_delete_slotmap(sm.bank); + + /* verify the slotmap is gone from REST interface immediately */ + f_ensure_slotmaps({}); + + /* verify the slotmap is removed from bankd */ + as_rspro_remove_mapping(0, sm.client, sm.bank); +} + + +/* Add a slotmap to a currently active bank */ +testcase TC_slotmap_add_active_bank() runs on test_CT { + var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); + rspro[0].rspro_bank_id := 1; + rspro[0].rspro_bank_nslots := 8; + + f_rsres_init(); + var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); + var HTTPResponse res; + + /* connect a bankd for that slotmap */ + f_rspro_connect_client(0); + + /* Create a new slotmap via HTTP */ + res := f_rsres_post_slotmap(sm); + + /* expect the slotmap to be pushed to bank and ACK it */ + as_rspro_create_mapping(0, sm.client, sm.bank); + + /* verify that the slotmap exists and is ACTIVE */ + f_ensure_slotmap_exists_only(sm.client, sm.bank, ACTIVE); +} + + + + +/* TODO + * - add slotmap, then connect matching client (see if slotmap is sent; check slotmap state) + * - connect client w/slotmap; delete slotmap via REST (see if it is deleted) + * - don't acknowledge delete from client, disconnect client (see if slotmap is deleted) + * - delete non-existing slotmap via REST + * - create slotmap with integers out of range via REST + + * - connect from unknown client (name not known, no clientId provisioned? + * - add client name/ID mappings from REST API? + */ + + +control { + execute( TC_connect_and_nothing() ); + execute( TC_connect_client() ); + execute( TC_connect_bank() ); + execute( TC_slotmap_add() ); + execute( TC_slotmap_add_conn_cl_b() ); + execute( TC_conn_cl_b_slotmap_add() ); + execute( TC_slotmap_del_new() ); + execute( TC_slotmap_del_unack() ); + execute( TC_slotmap_del_active() ); + execute( TC_slotmap_add_active_bank() ); +} + + +} diff --git a/remsim/gen_links.sh b/remsim/gen_links.sh new file mode 100755 index 0000000..7c234ec --- /dev/null +++ b/remsim/gen_links.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +BASEDIR=../deps + +. ../gen_links.sh.inc + +DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src +FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src +FILES="Socket_API_Definitions.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.IPL4asp/src +FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.TELNETasp/src +FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.Common_Components.Abstract_Socket/src +FILES="Abstract_Socket.cc Abstract_Socket.hh " +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.TestPorts.HTTPmsg/src +FILES="HTTPmsg_MessageLen.ttcn HTTPmsg_MessageLen_Function.cc HTTPmsg_PT.cc HTTPmsg_PT.hh HTTPmsg_PortType.ttcn HTTPmsg_Types.ttcn " +gen_links $DIR $FILES + +DIR=$BASEDIR/titan.ProtocolModules.JSON_v07_2006/src +FILES="JSON_EncDec.cc JSON_Types.ttcn " +gen_links $DIR $FILES + + +DIR=../library +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_Types.ttcn " +FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn " #RSL_Types.ttcn RSL_Emulation.ttcn " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " +FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " +gen_links $DIR $FILES + +ignore_pp_results diff --git a/remsim/regen_makefile.sh b/remsim/regen_makefile.sh new file mode 100755 index 0000000..e398360 --- /dev/null +++ b/remsim/regen_makefile.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +FILES="*.ttcn *.ttcnpp *.asn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc TELNETasp_PT.cc Native_FunctionDefs.cc RSPRO_EncDec.cc Abstract_Socket.cc HTTPmsg_PT.cc HTTPmsg_MessageLen_Function.cc JSON_EncDec.cc" + +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSPRO -DIPA_EMULATION_CTRL" + +../regen-makefile.sh REMSIM_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00034d3a991f0f881cfd8ff0bfc4557113daf830 Gerrit-Change-Number: 15509 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:57:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:57:45 +0000 Subject: Change in ...docker-playground[master]: Add 'osmo-remsim-latest' container Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15512 Change subject: Add 'osmo-remsim-latest' container ...................................................................... Add 'osmo-remsim-latest' container Change-Id: If16d4038a3c9a0532ae3a59762c68e40c18a9236 --- A osmo-remsim-latest/.release A osmo-remsim-latest/Dockerfile A osmo-remsim-latest/Makefile A osmo-remsim-latest/Release.key 4 files changed, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/12/15512/1 diff --git a/osmo-remsim-latest/.release b/osmo-remsim-latest/.release new file mode 100644 index 0000000..24401d3 --- /dev/null +++ b/osmo-remsim-latest/.release @@ -0,0 +1 @@ +release=0.0.0 diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile new file mode 100644 index 0000000..a39aadb --- /dev/null +++ b/osmo-remsim-latest/Dockerfile @@ -0,0 +1,38 @@ +FROM debian:stretch + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + osmo-remsim-server \ + osmo-remsim-client \ + osmo-remsim-bankd && \ + apt-get clean + +#ADD respawn.sh /usr/local/bin/respawn.sh + +WORKDIR /tmp + +VOLUME /data + +#COPY osmo-bts.cfg /data/osmo-bts.cfg + +WORKDIR /data +CMD ["/usr/bin/osmo-resmim-server"] + +#EXPOSE diff --git a/osmo-remsim-latest/Makefile b/osmo-remsim-latest/Makefile new file mode 100644 index 0000000..2e0e850 --- /dev/null +++ b/osmo-remsim-latest/Makefile @@ -0,0 +1,3 @@ +#RUN_ARGS?=--rm --network sigtran --ip 172.18.0.210 -v bts-vol:/data + +include ../make/Makefile diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-remsim-latest/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If16d4038a3c9a0532ae3a59762c68e40c18a9236 Gerrit-Change-Number: 15512 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:58:44 +0000 Subject: Change in ...docker-playground[master]: Add 'osmo-remsim-latest' container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15512 ) Change subject: Add 'osmo-remsim-latest' container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If16d4038a3c9a0532ae3a59762c68e40c18a9236 Gerrit-Change-Number: 15512 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Sep 2019 11:58:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 11:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 11:58:44 +0000 Subject: Change in ...docker-playground[master]: Add 'osmo-remsim-latest' container In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15512 ) Change subject: Add 'osmo-remsim-latest' container ...................................................................... Add 'osmo-remsim-latest' container Change-Id: If16d4038a3c9a0532ae3a59762c68e40c18a9236 --- A osmo-remsim-latest/.release A osmo-remsim-latest/Dockerfile A osmo-remsim-latest/Makefile A osmo-remsim-latest/Release.key 4 files changed, 62 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-remsim-latest/.release b/osmo-remsim-latest/.release new file mode 100644 index 0000000..24401d3 --- /dev/null +++ b/osmo-remsim-latest/.release @@ -0,0 +1 @@ +release=0.0.0 diff --git a/osmo-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile new file mode 100644 index 0000000..a39aadb --- /dev/null +++ b/osmo-remsim-latest/Dockerfile @@ -0,0 +1,38 @@ +FROM debian:stretch + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + osmo-remsim-server \ + osmo-remsim-client \ + osmo-remsim-bankd && \ + apt-get clean + +#ADD respawn.sh /usr/local/bin/respawn.sh + +WORKDIR /tmp + +VOLUME /data + +#COPY osmo-bts.cfg /data/osmo-bts.cfg + +WORKDIR /data +CMD ["/usr/bin/osmo-resmim-server"] + +#EXPOSE diff --git a/osmo-remsim-latest/Makefile b/osmo-remsim-latest/Makefile new file mode 100644 index 0000000..2e0e850 --- /dev/null +++ b/osmo-remsim-latest/Makefile @@ -0,0 +1,3 @@ +#RUN_ARGS?=--rm --network sigtran --ip 172.18.0.210 -v bts-vol:/data + +include ../make/Makefile diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key new file mode 100644 index 0000000..e656238 --- /dev/null +++ b/osmo-remsim-latest/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc +aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI +ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw +8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI +L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb +/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I +ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi +8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=Gvly +-----END PGP PUBLIC KEY BLOCK----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If16d4038a3c9a0532ae3a59762c68e40c18a9236 Gerrit-Change-Number: 15512 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 12:02:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 12:02:29 +0000 Subject: Change in ...osmo-ci[master]: jenkins-jobs: Add ttcn3-remsim-test for {master, latest] Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15513 Change subject: jenkins-jobs: Add ttcn3-remsim-test for {master,latest] ...................................................................... jenkins-jobs: Add ttcn3-remsim-test for {master,latest] Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/15513/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index f42a26f..3d1731a 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -39,6 +39,8 @@ timer: 00 08 * * * - ttcn3-bsc-test-sccplite: timer: 30 08 * * * + - ttcn3-remsim-test: + timer: 00 09 * * * # latest stable - nplab-m3ua-test-latest: @@ -69,6 +71,8 @@ blocking: "^ttcn3-pcu-test-sns.*" - ttcn3-bscnat-test-latest: blocking: "^ttcn3-bscnat-test.*" + - ttcn3-remsim-test-latest: + blocking: "^ttcn3-remsim-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79 Gerrit-Change-Number: 15513 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 12:06:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 12:06:19 +0000 Subject: Change in ...osmo-ci[master]: jenkins-jobs: Add ttcn3-remsim-test for {master, latest] In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15513 ) Change subject: jenkins-jobs: Add ttcn3-remsim-test for {master,latest] ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79 Gerrit-Change-Number: 15513 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Sep 2019 12:06:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 12:06:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Sep 2019 12:06:20 +0000 Subject: Change in ...osmo-ci[master]: jenkins-jobs: Add ttcn3-remsim-test for {master, latest] In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/15513 ) Change subject: jenkins-jobs: Add ttcn3-remsim-test for {master,latest] ...................................................................... jenkins-jobs: Add ttcn3-remsim-test for {master,latest] Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79 --- M jobs/ttcn3-testsuites.yml 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index f42a26f..3d1731a 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -39,6 +39,8 @@ timer: 00 08 * * * - ttcn3-bsc-test-sccplite: timer: 30 08 * * * + - ttcn3-remsim-test: + timer: 00 09 * * * # latest stable - nplab-m3ua-test-latest: @@ -69,6 +71,8 @@ blocking: "^ttcn3-pcu-test-sns.*" - ttcn3-bscnat-test-latest: blocking: "^ttcn3-bscnat-test.*" + - ttcn3-remsim-test-latest: + blocking: "^ttcn3-remsim-test.*" - job-template: name: '{job-name}' project-type: freestyle -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79 Gerrit-Change-Number: 15513 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 13:15:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 13:15:57 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 to look at the new patch set (#4). Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Use osmo_tdef to implement ms-idle-time This commit would also remove the option from config_write_pcu() since it's automatically filled in by osmo_tdef, but there was actually a bug because that param was never printed when saving the config... Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 --- M src/bts.cpp M src/bts.h M src/pcu_main.cpp M src/pcu_vty.c M tests/tbf/TbfTest.cpp 5 files changed, 15 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/15453/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 13:15:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 13:15:57 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 to look at the new patch set (#4). Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Use osmo_tdef to implement dl-tbf-idle-time Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 28 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/15454/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 15:23:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Sep 2019 15:23:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Sep 2019 15:23:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:32 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Rename mRadio to mDevice Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15514 Change subject: radioInterface: Rename mRadio to mDevice ...................................................................... radioInterface: Rename mRadio to mDevice Previous naming is ready confusing, because "Radio" is actually the common term between radioInterface and radioDevice, and it looks like it's referring to radioInterface rather than radioDevice. On the other hand, mDevice cleary states it refers to the radioDevice item. Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp 4 files changed, 37 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/14/15514/1 diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 0d33f22..bd19b24 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -32,10 +32,10 @@ #define CHUNK 625 #define NUMCHUNKS 4 -RadioInterface::RadioInterface(RadioDevice *wRadio, size_t tx_sps, +RadioInterface::RadioInterface(RadioDevice *wDevice, size_t tx_sps, size_t rx_sps, size_t chans, int wReceiveOffset, GSM::Time wStartTime) - : mRadio(wRadio), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), + : mDevice(wDevice), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), underrun(false), overrun(false), writeTimestamp(0), readTimestamp(0), receiveOffset(wReceiveOffset), mOn(false) { @@ -93,11 +93,11 @@ } double RadioInterface::fullScaleInputValue(void) { - return mRadio->fullScaleInputValue(); + return mDevice->fullScaleInputValue(); } double RadioInterface::fullScaleOutputValue(void) { - return mRadio->fullScaleOutputValue(); + return mDevice->fullScaleOutputValue(); } int RadioInterface::setPowerAttenuation(int atten, size_t chan) @@ -112,8 +112,8 @@ if (atten < 0.0) atten = 0.0; - rfGain = mRadio->setTxGain(mRadio->maxTxGain() - (double) atten, chan); - digAtten = (double) atten - mRadio->maxTxGain() + rfGain; + rfGain = mDevice->setTxGain(mDevice->maxTxGain() - (double) atten, chan); + digAtten = (double) atten - mDevice->maxTxGain() + rfGain; if (digAtten < 1.0) powerScaling[chan] = 1.0; @@ -148,12 +148,12 @@ bool RadioInterface::tuneTx(double freq, size_t chan) { - return mRadio->setTxFreq(freq, chan); + return mDevice->setTxFreq(freq, chan); } bool RadioInterface::tuneRx(double freq, size_t chan) { - return mRadio->setRxFreq(freq, chan); + return mDevice->setRxFreq(freq, chan); } /** synchronization thread loop */ @@ -169,7 +169,7 @@ } void RadioInterface::alignRadio() { - mRadio->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000); + mDevice->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000); } bool RadioInterface::start() @@ -178,12 +178,12 @@ return true; LOG(INFO) << "Starting radio device"; - if (mRadio->requiresRadioAlign()) + if (mDevice->requiresRadioAlign()) mAlignRadioServiceLoopThread.start( (void * (*)(void*))AlignRadioServiceLoopAdapter, (void*)this); - if (!mRadio->start()) + if (!mDevice->start()) return false; for (size_t i = 0; i < mChans; i++) { @@ -191,11 +191,11 @@ recvBuffer[i]->reset(); } - writeTimestamp = mRadio->initialWriteTimestamp(); - readTimestamp = mRadio->initialReadTimestamp(); + writeTimestamp = mDevice->initialWriteTimestamp(); + readTimestamp = mDevice->initialReadTimestamp(); - mRadio->updateAlignment(writeTimestamp-10000); - mRadio->updateAlignment(writeTimestamp-10000); + mDevice->updateAlignment(writeTimestamp-10000); + mDevice->updateAlignment(writeTimestamp-10000); mOn = true; LOG(INFO) << "Radio started"; @@ -211,7 +211,7 @@ */ bool RadioInterface::stop() { - if (!mOn || !mRadio->stop()) + if (!mOn || !mDevice->stop()) return false; mOn = false; @@ -304,12 +304,12 @@ double RadioInterface::setRxGain(double dB, size_t chan) { - return mRadio->setRxGain(dB, chan); + return mDevice->setRxGain(dB, chan); } double RadioInterface::getRxGain(size_t chan) { - return mRadio->getRxGain(chan); + return mDevice->getRxGain(chan); } /* Receive a timestamped chunk from the device */ @@ -323,7 +323,7 @@ return -1; /* Outer buffer access size is fixed */ - numRecv = mRadio->readSamples(convertRecvBuffer, + numRecv = mDevice->readSamples(convertRecvBuffer, segmentLen, &overrun, readTimestamp, @@ -362,7 +362,7 @@ } /* Send the all samples in the send buffer */ - numSent = mRadio->writeSamples(convertSendBuffer, + numSent = mDevice->writeSamples(convertSendBuffer, segmentLen, &local_underrun, writeTimestamp); diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index dcfb67f..235d888 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -36,7 +36,7 @@ std::vector mReceiveFIFO; ///< FIFO that holds receive bursts - RadioDevice *mRadio; ///< the USRP object + RadioDevice *mDevice; ///< the USRP object size_t mSPSTx; size_t mSPSRx; @@ -84,7 +84,7 @@ virtual void close(); /** constructor */ - RadioInterface(RadioDevice* wRadio, size_t tx_sps, size_t rx_sps, + RadioInterface(RadioDevice* wDevice, size_t tx_sps, size_t rx_sps, size_t chans = 1, int receiveOffset = 3, GSM::Time wStartTime = GSM::Time(0)); @@ -128,10 +128,10 @@ double fullScaleOutputValue(); /** get transport window type of attached device */ - enum RadioDevice::TxWindowType getWindowType() { return mRadio->getWindowType(); } + enum RadioDevice::TxWindowType getWindowType() { return mDevice->getWindowType(); } /** Minimum latency that the device can achieve */ - GSM::Time minLatency() { return mRadio->minLatency(); } + GSM::Time minLatency() { return mDevice->minLatency(); } protected: /** drive synchronization of Tx/Rx of USRP */ @@ -149,7 +149,7 @@ int pullBuffer(); public: - RadioInterfaceResamp(RadioDevice* wRadio, size_t tx_sps, size_t rx_sps); + RadioInterfaceResamp(RadioDevice* wDevice, size_t tx_sps, size_t rx_sps); ~RadioInterfaceResamp(); bool init(int type); diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 0208e82..7c1ee74 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -238,7 +238,7 @@ return -1; /* Outer buffer access size is fixed */ - num = mRadio->readSamples(convertRecvBuffer, + num = mDevice->readSamples(convertRecvBuffer, outerRecvBuffer->size(), &overrun, readTimestamp, @@ -339,7 +339,7 @@ (float *) outerSendBuffer->begin(), 1.0 / (float) mChans, 2 * outerSendBuffer->size()); - size_t num = mRadio->writeSamples(convertSendBuffer, + size_t num = mDevice->writeSamples(convertSendBuffer, outerSendBuffer->size(), &underrun, writeTimestamp); @@ -368,9 +368,9 @@ double shift = (double) getFreqShift(mChans); if (!chan) - return mRadio->setTxFreq(freq + shift * MCBTS_SPACING); + return mDevice->setTxFreq(freq + shift * MCBTS_SPACING); - double center = mRadio->getTxFreq(); + double center = mDevice->getTxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " << freq / 1e6 << " MHz"; @@ -387,9 +387,9 @@ double shift = (double) getFreqShift(mChans); if (!chan) - return mRadio->setRxFreq(freq + shift * MCBTS_SPACING); + return mDevice->setRxFreq(freq + shift * MCBTS_SPACING); - double center = mRadio->getRxFreq(); + double center = mDevice->getRxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " << freq / 1e6 << " MHz"; @@ -401,7 +401,7 @@ double RadioInterfaceMulti::setRxGain(double db, size_t chan) { if (!chan) - return mRadio->setRxGain(db); + return mDevice->setRxGain(db); else - return mRadio->getRxGain(); + return mDevice->getRxGain(); } diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index e2f69f2..d6dc52c 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -59,9 +59,9 @@ static size_t resamp_outrate = 0; static size_t resamp_outchunk = 0; -RadioInterfaceResamp::RadioInterfaceResamp(RadioDevice *wRadio, +RadioInterfaceResamp::RadioInterfaceResamp(RadioDevice *wDevice, size_t tx_sps, size_t rx_sps) - : RadioInterface(wRadio, tx_sps, rx_sps, 1), + : RadioInterface(wDevice, tx_sps, rx_sps, 1), outerSendBuffer(NULL), outerRecvBuffer(NULL) { } @@ -171,7 +171,7 @@ return -1; /* Outer buffer access size is fixed */ - num_recv = mRadio->readSamples(convertRecvBuffer, + num_recv = mDevice->readSamples(convertRecvBuffer, resamp_outchunk, &overrun, readTimestamp, @@ -223,7 +223,7 @@ (float *) outerSendBuffer->begin(), powerScaling[0], 2 * resamp_outchunk); - numSent = mRadio->writeSamples(convertSendBuffer, + numSent = mDevice->writeSamples(convertSendBuffer, resamp_outchunk, &underrun, writeTimestamp); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e Gerrit-Change-Number: 15514 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:33 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Check equals zero explicitly Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15515 Change subject: radioInterfaceMulti: Check equals zero explicitly ...................................................................... radioInterfaceMulti: Check equals zero explicitly It's not a pointer check or a boolean expression, in here we really check chan index is 0, so it's more clear doing so this way like it's done in all other places. Change-Id: I83b14487d14ba8272f58796f640f58a88891e532 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/15/15515/1 diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 7c1ee74..c41ec22 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -400,7 +400,7 @@ double RadioInterfaceMulti::setRxGain(double db, size_t chan) { - if (!chan) + if (chan == 0) return mDevice->setRxGain(db); else return mDevice->getRxGain(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I83b14487d14ba8272f58796f640f58a88891e532 Gerrit-Change-Number: 15515 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:33 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Fix setRxGain return on error and getRxGain() returning a... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15516 Change subject: USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0 ...................................................................... USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0 field rxGain is set to 0 during constructor and never set after that point. Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469 --- M Transceiver52M/device/usrp1/USRPDevice.cpp 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/16/15516/1 diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 63debee..ef3f92a 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -305,10 +305,11 @@ if (!m_dbRx->set_gain(dB)) LOGC(DDEV, ERR) << "Error setting RX gain"; - + else + rxGain = dB; writeLock.unlock(); - return dB; + return rxGain; } bool USRPDevice::setRxAntenna(const std::string &ant, size_t chan) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469 Gerrit-Change-Number: 15516 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:33 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Return previous txGain if setting value failed Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15517 Change subject: USRPDevice: Return previous txGain if setting value failed ...................................................................... USRPDevice: Return previous txGain if setting value failed Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8 --- M Transceiver52M/device/usrp1/USRPDevice.cpp M Transceiver52M/device/usrp1/USRPDevice.h 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/17/15517/1 diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index ef3f92a..03a4f80 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -71,6 +71,7 @@ decimRate = (unsigned int) round(masterClockRate/((GSMRATE) * (double) tx_sps)); actualSampleRate = masterClockRate/decimRate; rxGain = 0; + txGain = 0; /* * Undetermined delay b/w ping response timestamp and true @@ -279,10 +280,11 @@ if (!m_dbTx->set_gain(dB)) LOGC(DDEV, ERR) << "Error setting TX gain"; - + else + txGain = dB; writeLock.unlock(); - return dB; + return txGain; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 4123c7d..734b361 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -80,6 +80,7 @@ unsigned long lastPktTimestamp; double rxGain; + double txGain; #ifdef SWLOOPBACK short loopbackBuffer[1000000]; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8 Gerrit-Change-Number: 15517 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:33 +0000 Subject: Change in ...osmo-trx[master]: LMSDevice: Return previous txGain/rxGain if setting value failed Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15518 Change subject: LMSDevice: Return previous txGain/rxGain if setting value failed ...................................................................... LMSDevice: Return previous txGain/rxGain if setting value failed Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398 --- M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h 2 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/18/15518/1 diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index b7cb31d..feeb646 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -55,6 +55,8 @@ m_lms_stream_rx.resize(chans); m_lms_stream_tx.resize(chans); + rx_gains.resize(chans); + tx_gains.resize(chans); rx_buffers.resize(chans); } @@ -412,8 +414,9 @@ if (LMS_SetGaindB(m_lms_dev, LMS_CH_TX, chan, dB) < 0) LOGCHAN(chan, DDEV, ERR) << "Error setting TX gain to " << dB << " dB"; - - return dB; + else + tx_gains[chan] = dB; + return tx_gains[chan]; } double LMSDevice::setRxGain(double dB, size_t chan) @@ -427,8 +430,9 @@ if (LMS_SetGaindB(m_lms_dev, LMS_CH_RX, chan, dB) < 0) LOGCHAN(chan, DDEV, ERR) << "Error setting RX gain to " << dB << " dB"; - - return dB; + else + rx_gains[chan] = dB; + return rx_gains[chan]; } void LMSDevice::log_ant_list(bool dir_tx, size_t chan, std::ostringstream& os) diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index ab45b08..71a706c 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -58,7 +58,7 @@ TIMESTAMP ts_initial, ts_offset; - double rxGain; + std::vector tx_gains, rx_gains; double maxTxGainClamp; bool do_calib(size_t chan); @@ -150,7 +150,7 @@ /** get the current receive gain */ double getRxGain(size_t chan = 0) { - return rxGain; + return rx_gains[chan]; } /** return maximum Rx Gain **/ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398 Gerrit-Change-Number: 15518 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:34 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Remove unusued getRxGain() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15519 Change subject: radioInterface: Remove unusued getRxGain() ...................................................................... radioInterface: Remove unusued getRxGain() Only the radioDevice->getRxGain() is called from inside radioInterfaceMulti, so the API in radioInterface is not used at all. Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h 2 files changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/19/15519/1 diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index bd19b24..9c7c044 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -307,11 +307,6 @@ return mDevice->setRxGain(dB, chan); } -double RadioInterface::getRxGain(size_t chan) -{ - return mDevice->getRxGain(chan); -} - /* Receive a timestamped chunk from the device */ int RadioInterface::pullBuffer() { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 235d888..945624a 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -109,9 +109,6 @@ /** set receive gain */ double setRxGain(double dB, size_t chan = 0); - /** get receive gain */ - double getRxGain(size_t chan = 0); - /** drive transmission of GSM bursts */ void driveTransmitRadio(std::vector &bursts, std::vector &zeros); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a Gerrit-Change-Number: 15519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:34 +0000 Subject: Change in ...osmo-trx[master]: radioDevice: Introduce getTxGain() API Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15520 Change subject: radioDevice: Introduce getTxGain() API ...................................................................... radioDevice: Introduce getTxGain() API It will be used in later commits by radioInterfaceMulti. Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 --- M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M Transceiver52M/device/usrp1/USRPDevice.h 5 files changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/20/15520/1 diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index b4928f2..1d85204 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -131,6 +131,9 @@ /** sets the transmit chan gain, returns the gain setting **/ virtual double setTxGain(double dB, size_t chan = 0) = 0; + /** get transmit gain */ + virtual double getTxGain(size_t chan = 0) = 0; + /** return maximum Tx Gain **/ virtual double maxTxGain(void) = 0; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 71a706c..1464c53 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -162,6 +162,11 @@ /** sets the transmit chan gain, returns the gain setting **/ double setTxGain(double dB, size_t chan = 0); + /** get transmit gain */ + double getTxGain(size_t chan = 0) { + return tx_gains[chan]; + } + /** return maximum Tx Gain **/ double maxTxGain(void); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 5b38df4..3b59291 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -310,6 +310,19 @@ return rx_gains[chan]; } +double uhd_device::getTxGain(size_t chan) +{ + if (iface == MULTI_ARFCN) + chan = 0; + + if (chan >= tx_gains.size()) { + LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; + return 0.0f; + } + + return tx_gains[chan]; +} + /* Parse the UHD device tree and mboard name to find out what device we're dealing with. We need the window type so that the transceiver knows how to diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 944578a..44f7ebb 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -96,6 +96,7 @@ double minRxGain(void) { return rx_gain_min; } double setTxGain(double db, size_t chan); + double getTxGain(size_t chan = 0); double maxTxGain(void) { return tx_gain_max; } double minTxGain(void) { return tx_gain_min; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 734b361..bb70648 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -171,6 +171,9 @@ /** sets the transmit chan gain, returns the gain setting **/ double setTxGain(double dB, size_t chan = 0); + /** get transmit gain */ + double getTxGain(size_t chan = 0) { return txGain; } + /** return maximum Tx Gain **/ double maxTxGain(void); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 Gerrit-Change-Number: 15520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:34 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp 3 files changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/21/15521/1 diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 9c7c044..6e49a75 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -112,7 +112,7 @@ if (atten < 0.0) atten = 0.0; - rfGain = mDevice->setTxGain(mDevice->maxTxGain() - (double) atten, chan); + rfGain = setTxGain(mDevice->maxTxGain() - (double) atten, chan); digAtten = (double) atten - mDevice->maxTxGain() + rfGain; if (digAtten < 1.0) @@ -307,6 +307,11 @@ return mDevice->setRxGain(dB, chan); } +double RadioInterface::setTxGain(double dB, size_t chan) +{ + return mDevice->setTxGain(dB, chan); +} + /* Receive a timestamped chunk from the device */ int RadioInterface::pullBuffer() { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 945624a..83e00b9 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -134,6 +134,9 @@ /** drive synchronization of Tx/Rx of USRP */ void alignRadio(); + /** set transmit gain */ + virtual double setTxGain(double dB, size_t chan = 0); + friend void *AlignRadioServiceLoopAdapter(RadioInterface*); }; @@ -157,6 +160,7 @@ private: bool pushBuffer(); int pullBuffer(); + virtual double setTxGain(double dB, size_t chan); signalVector *outerSendBuffer; signalVector *outerRecvBuffer; diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index c41ec22..4022d3a 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -405,3 +405,12 @@ else return mDevice->getRxGain(); } + +double RadioInterfaceMulti::setTxGain(double dB, size_t chan) +{ + if (chan == 0) + return mDevice->setTxGain(dB); + else + return mDevice->getTxGain(); + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:34 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... UHDDevice: Drop unneeded MULTI_ARFCN checks After previous changes, radioInterfaceMulti is expected to handle channel conversion correctly, so it will always use chan 0 for all these functions. This simplifies code in radioDevice avoiding need to add checks to all devices supporting multi-arfcn in the future. Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 0 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/22/15522/1 diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 3b59291..809bade 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -247,9 +247,6 @@ double uhd_device::setTxGain(double db, size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= tx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel" << chan; return 0.0f; @@ -281,9 +278,6 @@ double uhd_device::setRxGain(double db, size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= rx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; @@ -299,9 +293,6 @@ double uhd_device::getRxGain(size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= rx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; @@ -312,9 +303,6 @@ double uhd_device::getTxGain(size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= tx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:35 +0000 Subject: Change in ...osmo-trx[master]: radioInterface{Multi, Resamp}: Fix successful writeSamples() masking u... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15523 Change subject: radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() ...................................................................... radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() The only who should be setting class instance value "underrun" to false is isUnderrun(). Similar fixes were already applied lately to radioInterface.cpp. Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff --- M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/23/15523/1 diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 4022d3a..99f6231 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -309,6 +309,7 @@ /* Send a timestamped chunk to the device */ bool RadioInterfaceMulti::pushBuffer() { + bool local_underrun; if (sendBuffer[0]->getAvailSegments() <= 0) return false; @@ -341,12 +342,13 @@ size_t num = mDevice->writeSamples(convertSendBuffer, outerSendBuffer->size(), - &underrun, + &local_underrun, writeTimestamp); if (num != outerSendBuffer->size()) { LOG(ALERT) << "Transmit error " << num; } + underrun |= local_underrun; writeTimestamp += num; return true; diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index d6dc52c..864cdee 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -204,6 +204,7 @@ /* Send a timestamped chunk to the device */ bool RadioInterfaceResamp::pushBuffer() { + bool local_underrun; int rc; size_t numSent; @@ -225,12 +226,13 @@ numSent = mDevice->writeSamples(convertSendBuffer, resamp_outchunk, - &underrun, + &local_underrun, writeTimestamp); if (numSent != resamp_outchunk) { LOG(ALERT) << "Transmit error " << numSent; } + underrun |= local_underrun; writeTimestamp += resamp_outchunk; return true; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff Gerrit-Change-Number: 15523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 13 17:29:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 13 Sep 2019 17:29:35 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... radioInterface: Atomically fetch and change underrun variable Otherwise, it could happen that underrun events are lost: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) read(underrun) write(underrun, |val) [maybe underrun becomes TRUE] write(underrun, false) Similary, it could happen the other direction if atomic was only applied to isUnderrun: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) -> true read(underrun)-> true write(underrun, false) write(underrun, true|val) where val=false So in here isUnderrun would return true twice while it should only return one. Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp 4 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/24/15524/1 diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 6e49a75..bfd6099 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -288,9 +288,9 @@ bool RadioInterface::isUnderrun() { - bool retVal = underrun; - underrun = false; - + bool retVal; + /* atomically get previous value of "underrun" and set the var to false */ + retVal = __sync_fetch_and_and(&underrun, false); return retVal; } @@ -340,7 +340,7 @@ segmentLen * 2); } - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); readTimestamp += numRecv; return 0; } @@ -366,7 +366,7 @@ segmentLen, &local_underrun, writeTimestamp); - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += numSent; return true; diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 83e00b9..6f4deaa 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -48,7 +48,7 @@ std::vector convertRecvBuffer; std::vector convertSendBuffer; std::vector powerScaling; - bool underrun; ///< indicates writes to USRP are too slow + int underrun; ///< indicates writes to USRP are too slow bool overrun; ///< indicates reads from USRP are too slow TIMESTAMP writeTimestamp; ///< sample timestamp of next packet written to USRP TIMESTAMP readTimestamp; ///< sample timestamp of next packet read from USRP diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 99f6231..8060e73 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -251,7 +251,7 @@ convert_short_float((float *) outerRecvBuffer->begin(), convertRecvBuffer[0], 2 * outerRecvBuffer->size()); - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); readTimestamp += num; channelizer->rotate((float *) outerRecvBuffer->begin(), @@ -348,7 +348,7 @@ LOG(ALERT) << "Transmit error " << num; } - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += num; return true; diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index 864cdee..03551ee 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -184,7 +184,7 @@ convert_short_float((float *) outerRecvBuffer->begin(), convertRecvBuffer[0], 2 * resamp_outchunk); - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); readTimestamp += (TIMESTAMP) resamp_outchunk; /* Write to the end of the inner receive buffer */ @@ -232,7 +232,7 @@ LOG(ALERT) << "Transmit error " << numSent; } - underrun |= local_underrun; + __sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += resamp_outchunk; return true; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 14 01:45:58 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 14 Sep 2019 01:45:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7c4669e52f6_5b942b1fe87085f424771a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 411s] ar: `u' modifier ignored since `D' is the default (see `U') [ 411s] libtool: link: ranlib .libs/libtransceiver_common.a [ 411s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 411s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 411s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 411s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 411s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 411s] collect2: error: ld returned 1 exit status [ 411s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] make[1]: *** [Makefile:444: all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] make: *** [debian/rules:6: build] Error 255 [ 411s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 411s] [ 411s] lamb18 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 01:45:44 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 415s] [ 396.890264] sysrq: SysRq : Power Off [ 415s] [ 396.898113] reboot: Power down [ 415s] ### VM INTERACTION END ### [ 415s] [ 415s] lamb18 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 01:45:48 UTC 2019. [ 415s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 14 01:49:58 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 14 Sep 2019 01:49:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d7c475a6dd7a_5b942b1fe87085f4248385@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 418s] ar: `u' modifier ignored since `D' is the default (see `U') [ 418s] libtool: link: ranlib .libs/libtransceiver_common.a [ 418s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 418s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 419s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 419s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 419s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 419s] collect2: error: ld returned 1 exit status [ 419s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 419s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 419s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 419s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 419s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 419s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 419s] make[1]: *** [Makefile:444: all] Error 2 [ 419s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 419s] dh_auto_build: make -j1 returned exit code 2 [ 419s] make: *** [debian/rules:6: build] Error 255 [ 419s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 419s] [ 419s] lamb07 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 01:49:38 UTC 2019. [ 419s] [ 419s] ### VM INTERACTION START ### [ 422s] [ 403.987023] sysrq: SysRq : Power Off [ 422s] [ 403.994227] reboot: Power down [ 422s] ### VM INTERACTION END ### [ 422s] [ 422s] lamb07 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 01:49:41 UTC 2019. [ 422s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Sep 14 14:58:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 14:58:52 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Rename mRadio to mDevice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15514 ) Change subject: radioInterface: Rename mRadio to mDevice ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e Gerrit-Change-Number: 15514 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 14:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 14:59:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 14:59:43 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Check equals zero explicitly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15515 ) Change subject: radioInterfaceMulti: Check equals zero explicitly ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I83b14487d14ba8272f58796f640f58a88891e532 Gerrit-Change-Number: 15515 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 14:59:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:00:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:00:19 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Fix setRxGain return on error and getRxGain() returning a... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15516 ) Change subject: USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469 Gerrit-Change-Number: 15516 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:00:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:00:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:00:54 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Return previous txGain if setting value failed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15517 ) Change subject: USRPDevice: Return previous txGain if setting value failed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8 Gerrit-Change-Number: 15517 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:00:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:01:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:01:56 +0000 Subject: Change in ...osmo-trx[master]: LMSDevice: Return previous txGain/rxGain if setting value failed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15518 ) Change subject: LMSDevice: Return previous txGain/rxGain if setting value failed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398 Gerrit-Change-Number: 15518 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:01:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:02:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:02:30 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Remove unusued getRxGain() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15519 ) Change subject: radioInterface: Remove unusued getRxGain() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a Gerrit-Change-Number: 15519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:02:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:03:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:03:31 +0000 Subject: Change in ...osmo-trx[master]: radioDevice: Introduce getTxGain() API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15520 ) Change subject: radioDevice: Introduce getTxGain() API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 Gerrit-Change-Number: 15520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:03:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:04:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:04:12 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:04:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:04:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:04:40 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 ) Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:04:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 14 15:05:07 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 14 Sep 2019 15:05:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7d01aece299_5b942b1fe87085f4328721@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 235s] ar: `u' modifier ignored since `D' is the default (see `U') [ 235s] libtool: link: ranlib .libs/libtransceiver_common.a [ 235s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 235s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 236s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 236s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 236s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 236s] collect2: error: ld returned 1 exit status [ 236s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 236s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 236s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 236s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 236s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 236s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 236s] make[1]: *** [Makefile:444: all] Error 2 [ 236s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 236s] dh_auto_build: make -j1 returned exit code 2 [ 236s] make: *** [debian/rules:6: build] Error 255 [ 236s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 236s] [ 236s] build85 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 14 15:04:50 UTC 2019. [ 236s] [ 236s] ### VM INTERACTION START ### [ 239s] [ 227.381739] sysrq: SysRq : Power Off [ 239s] [ 227.384497] reboot: Power down [ 239s] ### VM INTERACTION END ### [ 239s] [ 239s] build85 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 14 15:04:54 UTC 2019. [ 239s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:06:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:06:18 +0000 Subject: Change in ...osmo-trx[master]: radioInterface{Multi, Resamp}: Fix successful writeSamples() masking u... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15523 ) Change subject: radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff Gerrit-Change-Number: 15523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:06:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:07:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:07:16 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 14 Sep 2019 15:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:09:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:09:27 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15453 ) Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:09:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 14 15:10:33 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 14 Sep 2019 15:10:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7d02fa6b1cc_5b942b1fe87085f432903f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 413s] ar: `u' modifier ignored since `D' is the default (see `U') [ 413s] libtool: link: ranlib .libs/libtransceiver_common.a [ 413s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 413s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 414s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 414s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 414s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 414s] collect2: error: ld returned 1 exit status [ 414s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 414s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 414s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 414s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 414s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 414s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 414s] make[1]: *** [Makefile:444: all] Error 2 [ 414s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 414s] dh_auto_build: make -j1 returned exit code 2 [ 414s] make: *** [debian/rules:6: build] Error 255 [ 414s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 414s] [ 414s] lamb11 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 15:10:19 UTC 2019. [ 414s] [ 414s] ### VM INTERACTION START ### [ 417s] [ 399.761564] sysrq: SysRq : Power Off [ 417s] [ 399.769963] reboot: Power down [ 417s] ### VM INTERACTION END ### [ 417s] [ 417s] lamb11 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sat Sep 14 15:10:22 UTC 2019. [ 417s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:10:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:10:51 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:10:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:11:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:11:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 ) Change subject: library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' ...................................................................... library/PCUIF_Types.ttcn: mark PCUIF_Text as 'null_terminated' This is a TITAN specific attribute that allows to indicate that a field of type 'charstring' is '\0'-terminated. Without that attribute, 'PCUIF_Text' is mixed with the padding characters: "0.7.0.5-df0f" & char(0, 0, 0, 0) & char(0, 0, 0, 0) & ... Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 --- M library/PCUIF_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 27d9b92..f13a764 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -70,7 +70,7 @@ PCU_OML_ALERT (1) } with { variant "FIELDLENGTH(8)" }; -type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(128)" }; +type charstring PCUIF_Text length(128) with { variant "FIELDLENGTH(null_terminated)" }; type record PCUIF_txt_ind { PCUIF_TextType txt_type, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic81fff4c82871bb29a2385b9ee7a2dd98f67dfb0 Gerrit-Change-Number: 15447 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:12:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:12:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 ) Change subject: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 Gerrit-Change-Number: 15458 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Sep 2019 15:12:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:12:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:12:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 ) Change subject: library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types ...................................................................... library/L1CTL_PortType.ttcn: use templates from GSM_RR_Types Get rid of template t_IMM_ASS, which is a part of L1CTL_Types.ttcn. Prepare generic (for both CS and PS) template on top of tr_IMM_ASS, and use it in f_L1CTL_WAIT_IMM_ASS(). Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 --- M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn 2 files changed, 9 insertions(+), 19 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 3c83c3d..c595b03 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -127,15 +127,23 @@ } function f_L1CTL_WAIT_IMM_ASS(L1CTL_PT pt, uint8_t ra, GsmFrameNumber rach_fn) return ImmediateAssignment { + var template GsmRrMessage rr_imm_ass; var L1ctlDlMessage dl; var GsmRrMessage rr; timer T := 10.0; + + /* Prepare generic template (for both CS and PS) */ + rr_imm_ass := tr_IMM_ASS(ra, rach_fn); + rr_imm_ass.payload.imm_ass.ded_or_tbf := ?; + rr_imm_ass.payload.imm_ass.pkt_chan_desc := *; + rr_imm_ass.payload.imm_ass.chan_desc := *; + T.start; alt { [] pt.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { rr := dec_GsmRrMessage(dl.payload.data_ind.payload); log("PCH/AGCH DL RR: ", rr); - if (match(rr, t_RR_IMM_ASS(ra, rach_fn))) { + if (match(rr, rr_imm_ass)) { log("Received IMM.ASS for our RACH!"); } else { repeat; diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 77c1f6a..e939f72 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -780,24 +780,6 @@ } }; - template ImmediateAssignment t_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - ded_or_tbf := ?, - page_mode := ?, - chan_desc := *, - pkt_chan_desc := *, - req_ref := f_compute_ReqRef(ra, fn), - timing_advance := ?, - mobile_allocation := ?, - rest_octets:= ? - }; - - template GsmRrMessage t_RR_IMM_ASS(uint8_t ra, GsmFrameNumber fn) := { - header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), - payload := { - imm_ass := t_IMM_ASS(ra, fn) - } - }; - const octetstring c_DummyUI := '0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O; /* We use "BYTEORDER(last)" so we get little-endian integers. Unfortuantely, this also -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a410ec3c41e3eefd23071bfb0d80feda82177a5 Gerrit-Change-Number: 15458 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:16:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:16:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 6: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/15430/6/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/6/pcu/PCU_Tests_RAW.ttcn at 460 PS6, Line 460: private function f_init_raw(charstring id) > Shouldn't this be "runs on RAW_PCU_Test_CT"? Isn't that exactly what the code states? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Sep 2019 15:16:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:28:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:28:38 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 8 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Sep 2019 15:28:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:28:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:28:43 +0000 Subject: Change in ...osmo-pcu[master]: Forward ETWS Primary Notification to MS In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15459 ) Change subject: Forward ETWS Primary Notification to MS ...................................................................... Forward ETWS Primary Notification to MS Receive an Application Information Request from the BTS via PCU interface. Construct a Packet Application Information message from it (3GPP TS 44.060 11.2.47) and send it to all MS with active TBF. The TTCN-3 test infrastructure to test this feature is not quite ready yet, so I've added C unit tests instead. Related: OS#4048 Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 --- M include/osmocom/pcu/pcuif_proto.h M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac.cpp M src/gprs_rlcmac.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M tests/Makefile.am A tests/app_info/AppInfoTest.cpp A tests/app_info/AppInfoTest.err A tests/app_info/AppInfoTest.ok M tests/testsuite.at 15 files changed, 407 insertions(+), 30 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index 144fba6..fd989a5 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -13,6 +13,7 @@ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ #define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ +#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to transmit APP INFO via PACCH */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -172,6 +173,13 @@ uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU to [once] send given application data via PACCH to all UE with active TBF */ +struct gsm_pcu_if_app_info_req { + uint8_t application_type; /* 4bit field, see TS 44.060 11.2.47 */ + uint8_t len; /* length of data */ + uint8_t data[162]; /* random size choice; ETWS needs 56 bytes */ +} __attribute__ ((packed)); + /* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ struct gsm_pcu_if_susp_req { uint32_t tlli; @@ -198,6 +206,7 @@ struct gsm_pcu_if_act_req act_req; struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; + struct gsm_pcu_if_app_info_req app_info_req; } u; } __attribute__ ((packed)); diff --git a/src/Makefile.am b/src/Makefile.am index 233e24d..7148267 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,7 +69,8 @@ gprs_codel.c \ coding_scheme.c \ gprs_coding_scheme.cpp \ - egprs_rlc_compression.cpp + egprs_rlc_compression.cpp \ + gprs_rlcmac_sched.cpp bin_PROGRAMS = \ osmo-pcu diff --git a/src/bts.cpp b/src/bts.cpp index 8b32e2e..1b2ab2f 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -231,6 +231,7 @@ { memset(&m_bts, 0, sizeof(m_bts)); m_bts.bts = this; + m_bts.app_info = NULL; m_bts.dl_tbf_preemptive_retransmission = true; m_bts.T_defs_bts = T_defs_bts; m_bts.T_defs_pcu = T_defs_pcu; @@ -279,6 +280,11 @@ osmo_stat_item_group_free(m_statg); m_statg = NULL; } + + if (m_bts.app_info) { + msgb_free(m_bts.app_info); + m_bts.app_info = NULL; + } } BTS::~BTS() diff --git a/src/bts.h b/src/bts.h index 6d92ae1..6af6d52 100644 --- a/src/bts.h +++ b/src/bts.h @@ -164,6 +164,11 @@ /* Are we talking Gb with IP-SNS (true) or classic Gb? */ bool gb_dialect_sns; + + /* Packet Application Information (3GPP TS 44.060 11.2.47, usually ETWS primary message). We don't need to store + * more than one message, because they get sent so rarely. */ + struct msgb *app_info; + uint32_t app_info_pending; /* Count of MS with active TBF, to which we did not send app_info yet */ }; #ifdef __cplusplus diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 19f2ecb..75f75e1 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -135,6 +135,7 @@ gprs_codel_set_interval(m_codel_state, codel_interval); } m_last_cs_not_low = now_msec(); + app_info_pending = false; } GprsMs::~GprsMs() diff --git a/src/gprs_ms.h b/src/gprs_ms.h index ad8ca1d..781dd59 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -136,6 +136,8 @@ /* internal use */ static void timeout(void *priv_); + bool app_info_pending; + protected: void update_status(); GprsMs *ref(); diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 5a223c1..4d93f8f 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -41,4 +41,25 @@ return 0; } +/* Encode Application Information Request to Packet Application Information (3GPP TS 44.060 11.2.47) */ +struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req) { + struct msgb *msg; + uint16_t msgb_len = req->len + 1; + struct bitvec bv = {0, msgb_len, NULL}; + const enum bit_value page_mode[] = {ZERO, ZERO}; /* Normal Paging (3GPP TS 44.060 12.20) */ + if (!req->len) { + LOGP(DRLCMAC, LOGL_ERROR, "Application Information Request with zero length received!\n"); + return NULL; + } + + msg = msgb_alloc(msgb_len, "app_info_msg"); + if (!msg) + return NULL; + + bv.data = msgb_put(msg, msgb_len); + bitvec_set_bits(&bv, page_mode, 2); + bitvec_set_uint(&bv, req->application_type, 4); + bitvec_set_bytes(&bv, req->data, req->len); + return msg; +} diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index 7a3a7af..16cb05f 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -31,6 +31,7 @@ #include #include #include +#include } #endif @@ -94,6 +95,8 @@ int gprs_rlcmac_paging_request(uint8_t *ptmsi, uint16_t ptmsi_len, const char *imsi); +struct msgb *gprs_rlcmac_app_info_msg(const struct gsm_pcu_if_app_info_req *req); + int gprs_rlcmac_rcv_rts_block(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 57756e3..7356523 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -123,6 +123,34 @@ return usf; } +struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf) { + struct gprs_rlcmac_bts *bts_data; + struct msgb *msg = NULL; + + if (!tbf || !tbf->ms()->app_info_pending) + return NULL; + + bts_data = BTS::main_bts()->bts_data(); + + if (bts_data->app_info) { + LOGP(DRLCMACSCHED, LOGL_DEBUG, "Sending Packet Application Information message\n"); + msg = msgb_copy(bts_data->app_info, "app_info_msg_sched"); + } else + LOGP(DRLCMACSCHED, LOGL_ERROR, "MS has app_info_pending flag set, but no Packet Application Information" + " message stored in BTS!\n"); + + tbf->ms()->app_info_pending = false; + bts_data->app_info_pending--; + + if (!bts_data->app_info_pending) { + LOGP(DRLCMACSCHED, LOGL_DEBUG, "Packet Application Information successfully sent to all MS with active" + " TBF\n"); + msgb_free(bts_data->app_info); + bts_data->app_info = NULL; + } + return msg; +} + static struct msgb *sched_select_ctrl_msg( uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, @@ -134,37 +162,42 @@ struct gprs_rlcmac_tbf *tbf = NULL; struct gprs_rlcmac_tbf *next_list[3] = { ul_ass_tbf, dl_ass_tbf, ul_ack_tbf }; - for (size_t i = 0; i < ARRAY_SIZE(next_list); ++i) { - tbf = next_list[(pdch->next_ctrl_prio + i) % 3]; - if (!tbf) - continue; + /* Send Packet Application Information first (ETWS primary notifications) */ + msg = sched_app_info(dl_ass_tbf); - /* - * Assignments for the same direction have lower precedence, - * because they may kill the TBF when the CONTROL ACK is - * received, thus preventing the others from being processed. - */ - if (tbf == ul_ass_tbf && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) - msg = ul_ass_tbf->create_packet_access_reject(); - else if (tbf == ul_ass_tbf && tbf->direction == - GPRS_RLCMAC_DL_TBF) - if (tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + if (!msg) { + for (size_t i = 0; i < ARRAY_SIZE(next_list); ++i) { + tbf = next_list[(pdch->next_ctrl_prio + i) % 3]; + if (!tbf) + continue; + + /* + * Assignments for the same direction have lower precedence, + * because they may kill the TBF when the CONTROL ACK is + * received, thus preventing the others from being processed. + */ + if (tbf == ul_ass_tbf && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) msg = ul_ass_tbf->create_packet_access_reject(); - else - msg = ul_ass_tbf->create_ul_ass(fn, ts); - else if (tbf == dl_ass_tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) - msg = dl_ass_tbf->create_dl_ass(fn, ts); - else if (tbf == ul_ack_tbf) - msg = ul_ack_tbf->create_ul_ack(fn, ts); + else if (tbf == ul_ass_tbf && tbf->direction == + GPRS_RLCMAC_DL_TBF) + if (tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + msg = ul_ass_tbf->create_packet_access_reject(); + else + msg = ul_ass_tbf->create_ul_ass(fn, ts); + else if (tbf == dl_ass_tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) + msg = dl_ass_tbf->create_dl_ass(fn, ts); + else if (tbf == ul_ack_tbf) + msg = ul_ack_tbf->create_ul_ack(fn, ts); - if (!msg) { - tbf = NULL; - continue; + if (!msg) { + tbf = NULL; + continue; + } + + pdch->next_ctrl_prio += 1; + pdch->next_ctrl_prio %= 3; + break; } - - pdch->next_ctrl_prio += 1; - pdch->next_ctrl_prio %= 3; - break; } if (!msg) { diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 6ffebcf..8901ce6 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -620,6 +620,42 @@ return bssgp_tx_suspend(bctx->nsei, susp_req->tlli, &ra_id); } +static int pcu_rx_app_info_req(struct gsm_pcu_if_app_info_req *app_info_req) +{ + LListHead *ms_iter; + BTS *bts = BTS::main_bts(); + struct gprs_rlcmac_bts *bts_data = bts->bts_data(); + + LOGP(DL1IF, LOGL_DEBUG, "Application Information Request received: type=0x%08x len=%i\n", + app_info_req->application_type, app_info_req->len); + + bts_data->app_info_pending = 0; + llist_for_each(ms_iter, &bts->ms_store().ms_list()) { + GprsMs *ms = ms_iter->entry(); + if (!ms->dl_tbf()) + continue; + bts_data->app_info_pending++; + ms->app_info_pending = true; + } + + if (!bts_data->app_info_pending) { + LOGP(DL1IF, LOGL_NOTICE, "Packet Application Information will not be sent, no subscribers with active" + " TBF\n"); + return -1; + } + + if (bts_data->app_info) { + LOGP(DL1IF, LOGL_NOTICE, "Previous Packet Application Information was not sent to all subscribers," + " overwriting with new one\n"); + msgb_free(bts_data->app_info); + } + + LOGP(DL1IF, LOGL_INFO, "Sending Packet Application Information to %i subscribers with active TBF\n", + bts_data->app_info_pending); + bts_data->app_info = gprs_rlcmac_app_info_msg(app_info_req); + return 0; +} + int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim) { int rc = 0; @@ -649,6 +685,9 @@ case PCU_IF_MSG_SUSP_REQ: rc = pcu_rx_susp_req(&pcu_prim->u.susp_req); break; + case PCU_IF_MSG_APP_INFO_REQ: + rc = pcu_rx_app_info_req(&pcu_prim->u.app_info_req); + break; default: LOGP(DL1IF, LOGL_ERROR, "Received unknown PCU msg type %d\n", msg_type); diff --git a/tests/Makefile.am b/tests/Makefile.am index 887200d..42dade9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ AM_LDFLAGS = -lrt -no-install -check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest +check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest app_info/AppInfoTest noinst_PROGRAMS = emu/pcu_emu rlcmac_RLCMACTest_SOURCES = rlcmac/RLCMACTest.cpp @@ -108,6 +108,14 @@ $(LIBOSMOCORE_LIBS) \ $(COMMON_LA) +app_info_AppInfoTest_SOURCES = app_info/AppInfoTest.cpp +app_info_AppInfoTest_LDADD = \ + $(top_builddir)/src/libgprs.la \ + $(LIBOSMOGB_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(COMMON_LA) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -138,7 +146,8 @@ llist/LListTest.ok llist/LListTest.err \ codel/codel_test.ok \ edge/EdgeTest.ok \ - fn/FnTest.ok + fn/FnTest.ok \ + app_info/AppInfoTest.ok app_info/AppInfoTest.err DISTCLEANFILES = atconfig diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp new file mode 100644 index 0000000..c4cf548 --- /dev/null +++ b/tests/app_info/AppInfoTest.cpp @@ -0,0 +1,191 @@ +/* Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include "gprs_rlcmac.h" +#include "bts.h" + +extern "C" { +#include +#include +#include +#include +#include +} + +using namespace std; +gprs_rlcmac_dl_tbf *tbf1, *tbf2; +GprsMs *ms1, *ms2; +struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf); + +/* globals used by the code */ +void *tall_pcu_ctx; +int16_t spoof_mnc = 0, spoof_mcc = 0; +bool spoof_mnc_3_digits = false; + +void test_enc_zero_len() { + struct gsm_pcu_if_app_info_req req = {0, 0, {0}}; + + fprintf(stderr, "--- %s ---\n", __func__); + assert(gprs_rlcmac_app_info_msg(&req) == NULL); + fprintf(stderr, "\n"); +} + +void test_enc() { + struct gsm_pcu_if_app_info_req req = {0, 15, {0xff, 0x00, 0xff}}; + const char *exp = "03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 "; /* shifted by two bits to the right */ + struct msgb *msg; + char *msg_dump; + + fprintf(stderr, "--- %s ---\n", __func__); + msg = gprs_rlcmac_app_info_msg(&req); + msg_dump = msgb_hexdump_c(tall_pcu_ctx, msg); + + fprintf(stderr, "exp: %s\n", exp); + fprintf(stderr, "msg: %s\n", msg_dump); + assert(strcmp(msg_dump, exp) == 0); + + msgb_free(msg); + talloc_free(msg_dump); + fprintf(stderr, "\n"); +} + +void test_pcu_rx_no_subscr_with_active_tbf() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + fprintf(stderr, "\n"); +} + +void prepare_bts_with_two_dl_tbf_subscr() +{ + BTS *bts = BTS::main_bts(); + struct gprs_rlcmac_bts *bts_data; + struct gprs_rlcmac_trx *trx; + + fprintf(stderr, "--- %s ---\n", __func__); + + bts_data = bts->bts_data(); + bts_data->alloc_algorithm = alloc_algorithm_b; + + trx = bts_data->trx; + trx->pdch[4].enable(); + trx->pdch[5].enable(); + trx->pdch[6].enable(); + trx->pdch[7].enable(); + + ms1 = bts->ms_alloc(10, 11); + tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, 10, 11, false); + ms2 = bts->ms_alloc(12, 13); + tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, 12, 13, false); + + fprintf(stderr, "\n"); +} + +void test_sched_app_info_ok() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + struct msgb *msg; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + + msg = sched_app_info(tbf1); + assert(msg); + msgb_free(msg); + + msg = sched_app_info(tbf2); + assert(msg); + msgb_free(msg); + + fprintf(stderr, "\n"); +} + +void test_sched_app_info_missing_app_info_in_bts() +{ + struct gprs_rlcmac_bts *bts_data = BTS::main_bts()->bts_data(); + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + + msgb_free(bts_data->app_info); + bts_data->app_info = NULL; + + assert(sched_app_info(tbf1) == NULL); + + fprintf(stderr, "\n"); +} + +void test_pcu_rx_overwrite_app_info() +{ + struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; + + fprintf(stderr, "--- %s ---\n", __func__); + pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); + fprintf(stderr, "\n"); +} + +void cleanup() +{ + fprintf(stderr, "--- %s ---\n", __func__); + + BTS::main_bts()->cleanup(); + talloc_free(tbf1); + talloc_free(tbf2); + /* FIXME: talloc report disabled, because bts->ms_alloc() in prepare_bts_with_two_dl_tbf_subscr() causes leak */ + /* talloc_report_full(tall_pcu_ctx, stderr); */ + talloc_free(tall_pcu_ctx); +} + +int main(int argc, char *argv[]) +{ + tall_pcu_ctx = talloc_named_const(NULL, 1, "AppInfoTest"); + osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + log_parse_category_mask(osmo_stderr_target, "DL1IF,1:DRLCMAC,3:DRLCMACSCHED,1"); + + test_enc_zero_len(); + test_enc(); + test_pcu_rx_no_subscr_with_active_tbf(); + + prepare_bts_with_two_dl_tbf_subscr(); + test_sched_app_info_ok(); + test_sched_app_info_missing_app_info_in_bts(); + test_pcu_rx_overwrite_app_info(); + + cleanup(); +} + +/* + * stubs that should not be reached + */ +extern "C" { +void l1if_pdch_req() { abort(); } +void l1if_connect_pdch() { abort(); } +void l1if_close_pdch() { abort(); } +void l1if_open_pdch() { abort(); } +} diff --git a/tests/app_info/AppInfoTest.err b/tests/app_info/AppInfoTest.err new file mode 100644 index 0000000..6ef5d83 --- /dev/null +++ b/tests/app_info/AppInfoTest.err @@ -0,0 +1,50 @@ +--- test_enc_zero_len --- +Application Information Request with zero length received! + +--- test_enc --- +exp: 03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 +msg: 03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 + +--- test_pcu_rx_no_subscr_with_active_tbf --- +Application Information Request received: type=0x00000000 len=0 +Packet Application Information will not be sent, no subscribers with active TBF + +--- prepare_bts_with_two_dl_tbf_subscr --- +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 10 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 +[DL] algo B (suggested TRX: 0): using 4 slots +PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 5, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 6, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. +Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 13 +[DL] algo B (suggested TRX: 0): using 3 slots +PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +PDCH(TS 5, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +PDCH(TS 6, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. +Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) + +--- test_sched_app_info_ok --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +Sending Packet Application Information message +Sending Packet Application Information message +Packet Application Information successfully sent to all MS with active TBF + +--- test_sched_app_info_missing_app_info_in_bts --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +MS has app_info_pending flag set, but no Packet Application Information message stored in BTS! + +--- test_pcu_rx_overwrite_app_info --- +Application Information Request received: type=0x00000000 len=15 +Sending Packet Application Information to 2 subscribers with active TBF +Application Information Request received: type=0x00000000 len=15 +Previous Packet Application Information was not sent to all subscribers, overwriting with new one +Sending Packet Application Information to 2 subscribers with active TBF + +--- cleanup --- diff --git a/tests/app_info/AppInfoTest.ok b/tests/app_info/AppInfoTest.ok new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/app_info/AppInfoTest.ok diff --git a/tests/testsuite.at b/tests/testsuite.at index 86f45a8..09b0247 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -82,3 +82,10 @@ cat $abs_srcdir/fn/FnTest.ok > expout AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/fn/FnTest], [0], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([app_info]) +AT_KEYWORDS([app_info]) +cat $abs_srcdir/app_info/AppInfoTest.ok > expout +cat $abs_srcdir/app_info/AppInfoTest.err > experr +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/app_info/AppInfoTest], [0], [expout], [experr]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36 Gerrit-Change-Number: 15459 Gerrit-PatchSet: 9 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:30:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:30:27 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Sep 2019 15:30:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:30:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:30:42 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 14 Sep 2019 15:30:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:31:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:31:27 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 14 Sep 2019 15:31:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:32:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:32:21 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15498 ) Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:32:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:32:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:32:55 +0000 Subject: Change in ...pysim[master]: pySim-prog: check if CSV file exists In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15495 ) Change subject: pySim-prog: check if CSV file exists ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Gerrit-Change-Number: 15495 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:32:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:33:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:33:32 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15496 ) Change subject: cards: use string representation for MNC/MCC ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:33:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:28 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15497 ) Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:34:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:32 +0000 Subject: Change in ...pysim[master]: pySim-prog.py: use more expressive error message on CSV read failure In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15500 ) Change subject: pySim-prog.py: use more expressive error message on CSV read failure ...................................................................... pySim-prog.py: use more expressive error message on CSV read failure When the CSV file fails to read the error message is just "Error reading parameters". Lets make clear that this error is related to a problem with the CSV file Change-Id: If285c1fbf7d285f512b573040f1b8983e4e3087e --- M pySim-prog.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 55634a5..2387986 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -660,7 +660,7 @@ imsi = opts.imsi cp = read_params_csv(opts, imsi=imsi, iccid=iccid) if cp is None: - print "Error reading parameters\n" + print "Error reading parameters from CSV file!\n" return 2 print_parameters(cp) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If285c1fbf7d285f512b573040f1b8983e4e3087e Gerrit-Change-Number: 15500 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:32 +0000 Subject: Change in ...pysim[master]: pySim-prog: use case insensitive CSV headers. In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15498 ) Change subject: pySim-prog: use case insensitive CSV headers. ...................................................................... pySim-prog: use case insensitive CSV headers. Inside of pySim all CSV headers are defined in lower case and are evaluated case sensitive. This means that a CSV file that contains the headers in uppercase for example will not parse. Lets make sure that the CSV headers are evaluated case insensitive to increase compatibility with slightly different formats. Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 --- M pySim-prog.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 2387986..e92654d 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -456,6 +456,10 @@ import csv f = open(opts.read_csv, 'r') cr = csv.DictReader(f) + + # Lower-case fieldnames + cr.fieldnames = [ field.lower() for field in cr.fieldnames ] + i = 0 if not 'iccid' in cr.fieldnames: raise Exception("CSV file in wrong format!") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1a476e7fc521d1aad2956feec3db196156961d20 Gerrit-Change-Number: 15498 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:33 +0000 Subject: Change in ...pysim[master]: pySim-prog: check if CSV file exists In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15495 ) Change subject: pySim-prog: check if CSV file exists ...................................................................... pySim-prog: check if CSV file exists At the moment we do not chack if the CSV file exists at all. This may lead into a crash while programming the card. Lets check the CSV file before we start. Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Related: SYS#4654 --- M pySim-prog.py 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index e92654d..ee5bc98 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -712,6 +712,13 @@ # Create command layer scc = SimCardCommands(transport=sl) + # If we use a CSV file as data input, check if the CSV file exists. + if opts.source == 'csv': + print "Using CSV file as data input: " + str(opts.read_csv) + if not os.path.isfile(opts.read_csv): + print "CSV file not found!" + sys.exit(1) + # Batch mode init init_batch(opts) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2643996282d88e512c17901ab0e1181677d5dd6c Gerrit-Change-Number: 15495 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:34 +0000 Subject: Change in ...pysim[master]: cards: use string representation for MNC/MCC In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15496 ) Change subject: cards: use string representation for MNC/MCC ...................................................................... cards: use string representation for MNC/MCC At the moment MNC and MCC are represented as integer numbers inside the parameter array while all other parameters are represented as strings. Lets use strings for MNC/MCC as well to simplify the parameter handling. We will also not loose the length information in case of leading zeros. Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a --- M pySim-prog.py M pySim/utils.py 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index ee5bc98..9149709 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -432,7 +432,7 @@ if 'smsp' in params: s.append(" > SMSP : %(smsp)s") s.append(" > ICCID : %(iccid)s") - s.append(" > MCC/MNC : %(mcc)d/%(mnc)d") + s.append(" > MCC/MNC : %(mcc)s/%(mnc)s") s.append(" > IMSI : %(imsi)s") s.append(" > Ki : %(ki)s") s.append(" > OPC : %(opc)s") @@ -483,8 +483,8 @@ def read_params_csv(opts, imsi=None, iccid=None): row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: - row['mcc'] = int(row.get('mcc', row['imsi'][0:3])) - row['mnc'] = int(row.get('mnc', row['imsi'][3:5])) + row['mcc'] = row.get('mcc', row['imsi'][0:3]) + row['mnc'] = row.get('mnc', row['imsi'][3:5]) pin_adm = None # We need to escape the pin_adm we get from the csv if 'pin_adm' in row: diff --git a/pySim/utils.py b/pySim/utils.py index 65f10c5..a68af0a 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -98,7 +98,7 @@ def enc_plmn(mcc, mnc): """Converts integer MCC/MNC into 3 bytes for EF""" - return swap_nibbles(lpad('%d' % mcc, 3) + lpad('%d' % mnc, 3)) + return swap_nibbles(lpad('%d' % int(mcc), 3) + lpad('%d' % int(mnc), 3)) def dec_spn(ef): byte1 = int(ef[0:2]) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia2333921a4863f0f26ee923ca796e62ec5e2d59a Gerrit-Change-Number: 15496 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:34:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:34:34 +0000 Subject: Change in ...pysim[master]: pySim-prog: use functions to derive MCC/MNC from IMSI In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15497 ) Change subject: pySim-prog: use functions to derive MCC/MNC from IMSI ...................................................................... pySim-prog: use functions to derive MCC/MNC from IMSI In case the MCC/MNC are not supplied with a CSV file we cut out the missing values from the IMSI string. Lets use a function to do this and also check the input parameters. Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 --- M pySim-prog.py M pySim/utils.py 2 files changed, 31 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 9149709..990fe15 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -43,6 +43,7 @@ from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid from pySim.ts_51_011 import EF from pySim.card_handler import * +from pySim.utils import * def parse_options(): @@ -483,8 +484,9 @@ def read_params_csv(opts, imsi=None, iccid=None): row = _read_params_csv(opts, iccid=iccid, imsi=imsi) if row is not None: - row['mcc'] = row.get('mcc', row['imsi'][0:3]) - row['mnc'] = row.get('mnc', row['imsi'][3:5]) + row['mcc'] = row.get('mcc', mcc_from_imsi(row.get('imsi'))) + row['mnc'] = row.get('mnc', mnc_from_imsi(row.get('imsi'))) + pin_adm = None # We need to escape the pin_adm we get from the csv if 'pin_adm' in row: diff --git a/pySim/utils.py b/pySim/utils.py index a68af0a..e8dd531 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -206,3 +206,30 @@ num = map(int, str(cc)) check_digit = 10 - sum(num[-2::-2] + [sum(divmod(d * 2, 10)) for d in num[::-2]]) % 10 return 0 if check_digit == 10 else check_digit + +def mcc_from_imsi(imsi): + """ + Derive the MCC (Mobile Country Code) from the first three digits of an IMSI + """ + if imsi == None: + return None + + if len(imsi) > 3: + return imsi[:3] + else: + return None + +def mnc_from_imsi(imsi, long=False): + """ + Derive the MNC (Mobile Country Code) from the 4th to 6th digit of an IMSI + """ + if imsi == None: + return None + + if len(imsi) > 3: + if long: + return imsi[3:6] + else: + return imsi[3:5] + else: + return None -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I98e5bf8f9ff2a852efb190cc789edf42c5075bf8 Gerrit-Change-Number: 15497 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:37:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:37:25 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15505 ) Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 1 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:37:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:42:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:42:26 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15503 ) Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:42:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 15:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 14 Sep 2019 15:43:14 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: switch to python3 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 3 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 14 Sep 2019 15:43:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 19:16:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 14 Sep 2019 19:16:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 Change subject: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request ...................................................................... library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request This change implements UL Packet Resource Request message as per 3GPP TS 44.060, section 11.2.16 (only mandatory fields), and a send template 'ts_RlcMacUlCtrl_PKT_RES_REQ' for it. Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/15525/1 diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1c8e74c..918cbff 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -353,11 +353,56 @@ variant (tlli) "BYTEORDER(first)" }; + /* 12.30 MS Radio Access Capability 2 (feature bitmask) + * (value part, see 3GPP TS 24.008, 10.5.5.12a) */ + type union MSRadioAccCap2 { + /* TODO: see table 10.5.146/3GPP TS 24.008 */ + bitstring other + }; + + /* Table 11.2.16.2 Access Type */ + type enumerated RlcAccessType { + RLC_ACC_TYPE_TWO_PHASE ('00'B), + RLC_ACC_TYPE_PAG_RESPONSE ('01'B), + RLC_ACC_TYPE_CELL_UPDATE ('10'B), + RLC_ACC_TYPE_MM ('11'B) + } with { variant "FIELDLENGTH(2)" }; + + type union PacketResourceReqID { + GlobalTfi gtfi, + GprsTlli tlli + } with { variant (tlli) "BYTEORDER(first)" }; + + /* 11.2.16 Packet Resource Request */ + type record PacketResourceReq { + BIT1 acc_type_presence, + RlcAccessType acc_type optional, + BIT1 id_type, + PacketResourceReqID id, + BIT1 ms_rac2_presence, + MSRadioAccCap2 ms_rac2 optional, + ChannelReqDescription ch_req_desc, + BIT1 change_mark_presence, + BIT2 change_mark optional, + BIT6 C_val, + BIT1 sign_var_presence, + BIT6 sign_var optional, + ILevels I_levels + /* TODO: additional contents for further Releases (starting from 1999) */ + } with { + variant (acc_type) "PRESENCE(acc_type_presence = '1'B)" + variant (id) "CROSSTAG(gtfi, id_type = '0'B; tlli, id_type = '1'B)" + variant (ms_rac2) "PRESENCE(ms_rac2_presence = '1'B)" + variant (change_mark) "PRESENCE(change_mark_presence = '1'B)" + variant (sign_var) "PRESENCE(sign_var_presence = '1'B)" + }; + /* 11.2.0.2 */ type union RlcmacUlCtrlUnion { PacketCtrlAck ctrl_ack, PacketDlAckNack dl_ack_nack, PacketUlDummy ul_dummy, + PacketResourceReq resource_req, octetstring other } with { variant "" }; @@ -368,6 +413,7 @@ variant (u) "CROSSTAG(ctrl_ack, msg_type = PACKET_CONTROL_ACK; dl_ack_nack, msg_type = PACKET_DL_ACK_NACK; ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL; + resource_req, msg_type = PACKET_RESOURCE_REQUEST; other, OTHERWISE )" }; @@ -563,6 +609,32 @@ } } + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ( + GprsTlli tlli, ChannelReqDescription ch_req_desc, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE + ) := { + msg_type := PACKET_RESOURCE_REQUEST, + u := { + resource_req := { + acc_type_presence := '1'B, + acc_type := acc_type, + id_type := '1'B, + id := { tlli := tlli }, + ms_rac2_presence := '0'B, + ms_rac2 := omit, + ch_req_desc := ch_req_desc, + change_mark_presence := '0'B, + change_mark := omit, + C_val := '000000'B, + sign_var_presence := '0'B, + sign_var := omit, + I_levels := { + iNone, iNone, iNone, iNone, + iNone, iNone, iNone, iNone + } + } + } + } } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e Gerrit-Change-Number: 15525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 14 19:16:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 14 Sep 2019 19:16:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP: PCU_Tests_RAW.ttcn: introduce test case for TBF Timing Advance Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 Change subject: WIP: PCU_Tests_RAW.ttcn: introduce test case for TBF Timing Advance ...................................................................... WIP: PCU_Tests_RAW.ttcn: introduce test case for TBF Timing Advance Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 93 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/15526/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 1312a2f..fedb604 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -7,6 +7,7 @@ those NS and BSSGP implementations on the BSS (PCU) side. */ /* (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy * All rights reserved. * * Released under the terms of GNU General Public License, Version 2 or @@ -20,6 +21,9 @@ import from GSM_Types all; import from GSM_RR_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; + import from NS_Types all; import from BSSGP_Types all; import from Osmocom_Gb_Types all; @@ -535,7 +539,7 @@ * at some point the PCU will fail to allocate a new TBF. */ for (var integer ta := 0; ta < 64; ta := ta + 16) { /* Send an Access Burst (8-bit) on TS0. - * FIXME: properly encode RA (see 3GPP TS 04.08, table 9.9), + * FIXME: properly encode RA (see 3GPP TS 04.08, table 9.9 and TS 24.060, table 11.2.5.2), * TODO: ask the BTS component to give us the current TDMA fn */ log("Sending RACH.ind with TA=", ta); BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, ra := oct2int('3A'O), is_11bit := 0, @@ -574,6 +578,93 @@ } } +testcase TC_ta_tbf_tuwat() runs on RAW_PCU_Test_CT { + var PacketUlAssign ul_tbf_ass; + var PCUIF_Message pcu_msg; + var GsmRrMessage rr_msg; + timer T := 2.0; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Ask for an UL TBF by sending an Access Burst (8-bit) on TS0. + * TODO: ask the BTS component to give us the current TDMA fn */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, ra := oct2int('3A'O), is_11bit := 0, + burst_type := BURST_TYPE_0, + fn := 1337, arfcn := 871)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + T.start; + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_AGCH, data := ?)) -> value pcu_msg { + /* FIXME: we cannot use decmatch here because the data comes with padding */ + rr_msg := dec_GsmRrMessage(pcu_msg.u.data_req.data); + log("Rx DATA.req from OsmoPCU: ", rr_msg); + T.stop; + + /* Make sure the received data is an UL TBF Assignment */ + if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ra := oct2int('3A'O), + rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Immediate Assignment (UL TBF): ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match Immediate (TBF) Assignment"); + mtc.stop; + } + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + mtc.stop; + } + } + + /* TODO: check if we got single or dynamic assignment */ + var octetstring pkt_res_req_enc; + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 15 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ } + ); + + /* HACK: patch missing TLLI */ + ul_data.data.tlli := '00000001'O; + + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(23))) }; + + /* Encode the payload of DATA.ind */ + pkt_res_req_enc := enc_RlcmacUlBlock(valueof(ul_data)); + pkt_res_req_enc := f_pad_oct(pkt_res_req_enc, 34, '00'O); /* CS-2 */ + + /* TODO: derive block number from the current TDMA frame number */ + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, + block_nr := i, sapi := PCU_IF_SAPI_PDTCH, + data := pkt_res_req_enc, + fn := 1337 + i * 4, + arfcn := 871)); + /* TODO: implement block start notifications from the BTS component */ + f_sleep(4.615 * 4.0 / 1000.0); /* ... wait ~4 frames for now */ + + /* Send RTS.req, expect UL ACK from the PCU */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, + fn := 1337 + i * 4, arfcn := 871, + block_nr := i)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + block_nr := i, fn := 1337 + i * 4, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; + + /* TODO: Packet Uplink ACK / NACK may contain optional Timing Advance field */ + } +} + control { execute( TC_ns_reset() ); @@ -587,6 +678,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_init_prach() ); + execute( TC_ta_tbf_tuwat() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 15 01:43:23 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 15 Sep 2019 01:43:23 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5d7d9755cff5a_5b942b1fe87085f43696c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 110s] | #define HAVE_DLFCN_H 1 [ 110s] | #define LT_OBJDIR ".libs/" [ 110s] | #define STDC_HEADERS 1 [ 110s] | #define HAVE_EXECINFO_H 1 [ 110s] | #define HAVE_SYS_SELECT_H 1 [ 110s] | #define HAVE_SYS_SOCKET_H 1 [ 110s] | #define HAVE_SYSLOG_H 1 [ 110s] | #define HAVE_CTYPE_H 1 [ 110s] | #define HAVE_LIBSCTP 1 [ 110s] | #define HAVE_PCAP_H 1 [ 110s] | [ 110s] | configure: exit 0 [ 110s] [ 110s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 110s] make[1]: *** [override_dh_auto_test] Error 1 [ 110s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 110s] debian/rules:13: recipe for target 'build' failed [ 110s] make: *** [build] Error 2 [ 110s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 110s] [ 110s] lamb28 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Sun Sep 15 01:43:11 UTC 2019. [ 110s] [ 110s] ### VM INTERACTION START ### [ 111s] Powering off. [ 111s] [ 99.598119] reboot: Power down [ 111s] ### VM INTERACTION END ### [ 111s] [ 111s] lamb28 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Sun Sep 15 01:43:12 UTC 2019. [ 111s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 15 01:59:57 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 15 Sep 2019 01:59:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7d9b32afe8b_5b942b1fe87085f43699cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 411s] ar: `u' modifier ignored since `D' is the default (see `U') [ 411s] libtool: link: ranlib .libs/libtransceiver_common.a [ 411s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 411s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 412s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 412s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 412s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 412s] collect2: error: ld returned 1 exit status [ 412s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 412s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 412s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 412s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 412s] make[1]: *** [Makefile:444: all] Error 2 [ 412s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 412s] dh_auto_build: make -j1 returned exit code 2 [ 412s] make: *** [debian/rules:6: build] Error 255 [ 412s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 412s] [ 412s] lamb20 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sun Sep 15 01:59:43 UTC 2019. [ 412s] [ 412s] ### VM INTERACTION START ### [ 415s] [ 397.290160] sysrq: SysRq : Power Off [ 415s] [ 397.298053] reboot: Power down [ 415s] ### VM INTERACTION END ### [ 415s] [ 415s] lamb20 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sun Sep 15 01:59:47 UTC 2019. [ 415s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 15 13:56:35 2019 From: gerrit-no-reply at lists.osmocom.org (gnutoo) Date: Sun, 15 Sep 2019 13:56:35 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/15505 to look at the new patch set (#2). Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... python3 conversion: fix tabs and spaces inconsistency Without that fix we have: $ python3 pySim-read.py File "pySim-read.py", line 135 try: ^ TabError: inconsistent use of tabs and spaces in indentation The following command was used to do the conversion: sed 's# #\t#g' -i $(find -name "*.py") Then the remaining spaces spotted during the review were addressed manually. Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f --- M pySim-prog.py M pySim-read.py M pySim/cards.py M pySim/commands.py M pySim/transport/__init__.py 5 files changed, 108 insertions(+), 109 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/15505/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 15 16:01:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 15 Sep 2019 16:01:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7e605d473a0_5b942b1fe87085f4436388@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 411s] ar: `u' modifier ignored since `D' is the default (see `U') [ 411s] libtool: link: ranlib .libs/libtransceiver_common.a [ 411s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 411s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 412s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 412s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 412s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 412s] collect2: error: ld returned 1 exit status [ 412s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 412s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 412s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 412s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 412s] make[1]: *** [Makefile:444: all] Error 2 [ 412s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 412s] dh_auto_build: make -j1 returned exit code 2 [ 412s] make: *** [debian/rules:6: build] Error 255 [ 412s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 412s] [ 412s] lamb68 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sun Sep 15 16:01:04 UTC 2019. [ 412s] [ 412s] ### VM INTERACTION START ### [ 415s] [ 397.539859] sysrq: SysRq : Power Off [ 415s] [ 397.548333] reboot: Power down [ 415s] ### VM INTERACTION END ### [ 415s] [ 415s] lamb68 failed "build osmo-trx_1.1.1.15.923b.dsc" at Sun Sep 15 16:01:07 UTC 2019. [ 415s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 15 16:02:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 15 Sep 2019 16:02:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7e60b75d0ac_5b942b1fe87085f4436512@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 498s] ar: `u' modifier ignored since `D' is the default (see `U') [ 498s] libtool: link: ranlib .libs/libtransceiver_common.a [ 498s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 498s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 498s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 499s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 499s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 499s] collect2: error: ld returned 1 exit status [ 499s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 499s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 499s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 499s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 499s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 499s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 499s] make[1]: *** [Makefile:444: all] Error 2 [ 499s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 499s] dh_auto_build: make -j1 returned exit code 2 [ 499s] make: *** [debian/rules:6: build] Error 255 [ 499s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 499s] [ 499s] build33 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 15 16:02:33 UTC 2019. [ 499s] [ 499s] ### VM INTERACTION START ### [ 502s] [ 473.684247] sysrq: SysRq : Power Off [ 502s] [ 473.701457] reboot: Power down [ 503s] ### VM INTERACTION END ### [ 503s] [ 503s] build33 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 15 16:02:37 UTC 2019. [ 503s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 15 18:35:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 18:35:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Sep 2019 18:35:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 18:42:47 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 18:42:47 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 to look at the new patch set (#3). Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... iu_client: introduce ranap_iu_tx_release_free() ranap_iu_tx_release_free is a fire and forget function to release gracefully if possible. It first sends a Iu Release Command. After a certain timeout the connection will be released. Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/73/15473/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 18:42:58 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 18:42:58 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: allow to control the notifications In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15472 ) Change subject: iu_client: allow to control the notifications ...................................................................... iu_client: allow to control the notifications The iu_client is informing the library user about global event. In prepration to the tx_iu_release_free() call allow to disable upstream notificatiosn Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..41d04bc 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libranap iu_client.h struct ranap_ue_conn_ctx: add field notification diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index 0cb84da..b388529 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -30,6 +30,7 @@ int integrity_active; struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; + bool notification; /* send notification to the upstream user */ }; enum ranap_iu_event_type { diff --git a/src/iu_client.c b/src/iu_client.c index ec5290f..38c8a1d 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -116,6 +116,9 @@ if (!global_iu_event_cb) return 0; + if (!ue_ctx->notification) + return 0; + return global_iu_event_cb(ue_ctx, type, data); } @@ -125,6 +128,7 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; + ctx->notification = true; llist_add(&ctx->list, &ue_conn_ctx_list); return ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic93ef6fd54c995405e9c37a5e0c53f81a89850b7 Gerrit-Change-Number: 15472 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:01:42 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:01:42 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 to look at the new patch set (#2). Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument It's always set to OSMO_TERM_ERROR. Move the assignment to the caller. In prepartion to use gmm_cause_to_fsm_and_mm_cause() in vlr_auth_fsm. Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 --- M src/libvlr/vlr.c 1 file changed, 6 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/90/15490/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:01:42 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:01:42 +0000 Subject: Change in ...osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 to look at the new patch set (#2). Change subject: make vlr_gmm_cause_to_mm_cause public ...................................................................... make vlr_gmm_cause_to_mm_cause public To be used by vlr_auth_fsm Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 --- M include/osmocom/msc/vlr.h M src/libvlr/vlr.c M src/libvlr/vlr_auth_fsm.c 3 files changed, 14 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/91/15491/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 Gerrit-Change-Number: 15491 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:02:18 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:02:18 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15490 ) Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15490/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/15490/1/src/libvlr/vlr.c at 925 PS1, Line 925: if (!gsm48_rej_p) > IMHO It doesn't make to call this function with gsm48_rej_p being NULL, so you can drop this. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Sep 2019 19:02:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:08:26 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:08:26 +0000 Subject: Change in ...osmo-msc[master]: make vlr_gmm_cause_to_mm_cause public In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 to look at the new patch set (#3). Change subject: make vlr_gmm_cause_to_mm_cause public ...................................................................... make vlr_gmm_cause_to_mm_cause public To be used by vlr_auth_fsm Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 --- M include/osmocom/msc/vlr.h M src/libvlr/vlr.c 2 files changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/91/15491/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9e13e756f359a9b9e6a2056ab37adf0af14afec1 Gerrit-Change-Number: 15491 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:08:26 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:08:26 +0000 Subject: Change in ...osmo-msc[master]: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15492 to look at the new patch set (#2). Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code ...................................................................... vlr_auth_fsm: on SAI use the GSUP provided GMM cause code The HLR might respond with a specific GMM cause code. E.g. roaming not allowed which needs to be passed down the layers. Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a --- M src/libvlr/vlr_auth_fsm.c 1 file changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/92/15492/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a Gerrit-Change-Number: 15492 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 19:12:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 19:12:22 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: replace int8_t with uint8_t as length In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14480 ) Change subject: decompress_crbb: replace int8_t with uint8_t as length ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e Gerrit-Change-Number: 14480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 20:35:10 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 20:35:10 +0000 Subject: Change in ...osmo-msc[master]: paging: reduce paging response timer to 3 sec Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15527 Change subject: paging: reduce paging response timer to 3 sec ...................................................................... paging: reduce paging response timer to 3 sec After the introduction of multiple paging attempts, reduce the paging timeout. TODO: what's a reasonable paging timeout for 2G, 3g..? Change-Id: Ie695aa67458753794d70ed5154df51bfe6696da3 --- M include/osmocom/msc/gsm_data.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/27/15527/1 diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 1adaf0d..991ea68 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -123,7 +123,7 @@ msc_stat_item_description, }; -#define MSC_PAGING_RESPONSE_TIMER_DEFAULT 10 +#define MSC_PAGING_RESPONSE_TIMER_DEFAULT 3 #define MSC_PAGING_ATTEMPTS_DEFAULT 3 struct gsm_tz { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie695aa67458753794d70ed5154df51bfe6696da3 Gerrit-Change-Number: 15527 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 20:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 20:49:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_index with ran_index Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 Change subject: sgsn: replace variable gb_index with ran_index ...................................................................... sgsn: replace variable gb_index with ran_index Since gb_index also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/15528/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 9c37606..4f91991 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -493,16 +493,16 @@ return gb_idx >= NUM_GB; } -function f_send_llc(template (value) PDU_LLC llc_pdu, integer gb_index := 0) runs on BSSGP_ConnHdlr { +function f_send_llc(template (value) PDU_LLC llc_pdu, integer ran_index := 0) runs on BSSGP_ConnHdlr { var octetstring llc_enc := enc_PDU_LLC(valueof(llc_pdu)); - BSSGP[gb_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[gb_index], llc_enc)); + BSSGP[ran_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[ran_index], llc_enc)); } -private function f_send_l3_gmm_llc(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { +private function f_send_l3_gmm_llc(template (value) PDU_L3_MS_SGSN l3_mo, integer ran_index := 0) runs on BSSGP_ConnHdlr { var octetstring l3_enc := enc_PDU_L3_MS_SGSN(valueof(l3_mo)); var BIT4 sapi := f_llc_sapi_by_l3_mo(valueof(l3_mo)); var integer n_u := f_llc_get_n_u_tx(llc[bit2int(sapi)]); - f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), gb_index); + f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), ran_index); } /* trigger sending of a RANAP InitialUE and wait for SCCP connection confirmation */ @@ -539,8 +539,8 @@ } /* send a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ -function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { - if (is_iu(gb_index)) { +function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer ran_index := 0) runs on BSSGP_ConnHdlr { + if (is_iu(ran_index)) { if (g_pars.rnc_send_initial_ue) { g_pars.rnc_send_initial_ue := false; f_send_l3_initial_ue(l3_mo); @@ -548,7 +548,7 @@ BSSAP.send(ts_PDU_DTAP_PS_MO(l3_mo)); } } else { - f_send_l3_gmm_llc(l3_mo, gb_index); + f_send_l3_gmm_llc(l3_mo, ran_index); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6 Gerrit-Change-Number: 15528 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 20:49:02 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 20:49:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_idx with ran_index Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 Change subject: sgsn: replace variable gb_idx with ran_index ...................................................................... sgsn: replace variable gb_idx with ran_index Since gb_idx also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 55 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/15529/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 4f91991..5a0dd79 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -486,11 +486,11 @@ f_cleanup(); } -friend function is_gb(integer gb_idx) return boolean { - return gb_idx < NUM_GB; +friend function is_gb(integer ran_index) return boolean { + return ran_index < NUM_GB; } -friend function is_iu(integer gb_idx) return boolean { - return gb_idx >= NUM_GB; +friend function is_iu(integer ran_index) return boolean { + return ran_index >= NUM_GB; } function f_send_llc(template (value) PDU_LLC llc_pdu, integer ran_index := 0) runs on BSSGP_ConnHdlr { @@ -552,38 +552,38 @@ } } -altstep as_mm_identity(integer gb_idx := 0) runs on BSSGP_ConnHdlr { +altstep as_mm_identity(integer ran_index := 0) runs on BSSGP_ConnHdlr { var MobileL3_CommonIE_Types.MobileIdentityLV mi; - [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('001'B)) { + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('001'B))) { + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('001'B))) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('010'B)) { + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_ID_REQ('010'B)) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('010'B))) { + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('010'B))) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } } /* receive a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ -function f_receive_l3(template PDU_L3_SGSN_MS rx_tpl := ?, integer gb_idx := 0) +function f_receive_l3(template PDU_L3_SGSN_MS rx_tpl := ?, integer ran_index := 0) runs on BSSGP_ConnHdlr return PDU_L3_SGSN_MS { var PDU_DTAP_PS_MT mt; var PDU_L3_SGSN_MS l3_mt; alt { - [is_gb(gb_idx)] BSSGP[gb_idx].receive(rx_tpl) -> value l3_mt { } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(rx_tpl)) -> value mt { + [is_gb(ran_index)] BSSGP[ran_index].receive(rx_tpl) -> value l3_mt { } + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(rx_tpl)) -> value mt { l3_mt := mt.dtap; } } @@ -593,10 +593,10 @@ /* perform GMM authentication (if expected). * Note, for umts_aka_challenge to work, the revisionLevelIndicatior needs to * be 1 to mark R99 capability, in the GMM Attach Request, see f_gmm_attach(). */ -function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer gb_idx := 0) runs on BSSGP_ConnHdlr { +function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var PDU_L3_MS_SGSN l3_mo; var PDU_L3_SGSN_MS l3_mt; - var default di := activate(as_mm_identity(gb_idx)); + var default di := activate(as_mm_identity(ran_index)); if (g_pars.net.expect_auth) { var GSUP_IE auth_tuple; var template AuthenticationParameterAUTNTLV autn; @@ -631,7 +631,7 @@ var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand); auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn; - l3_mt := f_receive_l3(auth_ciph_req, gb_idx); + l3_mt := f_receive_l3(auth_ciph_req, ran_index); var BIT4 ac_ref := l3_mt.msgs.gprs_mm.authenticationAndCipheringRequest.acReferenceNumber.valueField; var template PDU_L3_MS_SGSN auth_ciph_resp := ts_GMM_AUTH_RESP_2G(ac_ref, g_pars.vec.sres); @@ -653,10 +653,10 @@ l3_mo.msgs.gprs_mm.authenticationAndCipheringResponse.imeisv := valueof(ts_MI_IMEISV_TLV(g_pars.imei & '0'H)); } - f_send_l3(l3_mo, gb_idx); + f_send_l3(l3_mo, ran_index); /* Security Mode Command + Complete on Iu case */ - if (is_iu(gb_idx)) { + if (is_iu(ran_index)) { BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ @@ -756,7 +756,7 @@ GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); } -friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer gb_idx := 0) runs on BSSGP_ConnHdlr { +friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer ran_index := 0) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); var template PDU_L3_MS_SGSN attach_req := ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit); var PDU_L3_SGSN_MS l3_mt; @@ -768,19 +768,19 @@ * revisionLevelIndicatior is at the wrong place! */ attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; - f_send_l3(attach_req, gb_idx); - f_gmm_auth(umts_aka_challenge, force_gsm_sres, gb_idx); + f_send_l3(attach_req, ran_index); + f_gmm_auth(umts_aka_challenge, force_gsm_sres, ran_index); /* Expect SGSN to perform LU with HLR */ f_gmm_gsup_lu_isd(); - l3_mt := f_receive_l3(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?), gb_idx); + l3_mt := f_receive_l3(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?), ran_index); f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); /* FIXME: Extract P-TMSI, if any. Only send Complete if necessary */ - f_send_l3(ts_GMM_ATTACH_COMPL, gb_idx); + f_send_l3(ts_GMM_ATTACH_COMPL, ran_index); /* IuPS case: Expect Iu Release */ - if (is_iu(gb_idx)) { + if (is_iu(ran_index)) { as_iu_release_compl_disc(); } } @@ -1227,7 +1227,7 @@ f_gtp_register_teid(apars.ggsn_tei_u); } -function f_pdp_ctx_act(inout PdpActPars apars, boolean send_recovery := false, integer gb_idx := 0) +function f_pdp_ctx_act(inout PdpActPars apars, boolean send_recovery := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var boolean exp_rej := ispresent(apars.exp_rej_cause); var Gtp1cUnitdata g_ud; @@ -1238,7 +1238,7 @@ } f_send_l3(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, - apars.apn, apars.pco), gb_idx); + apars.apn, apars.pco), ran_index); GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud { f_process_gtp_ctx_act_req(apars, g_ud.gtpc); var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber); @@ -1250,54 +1250,54 @@ omit, recovery)); } alt { - [exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause)) { + [exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause)) { setverdict(pass); } - [exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_ACCEPT) { + [exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_ACCEPT) { setverdict(fail, "Unexpected PDP CTX ACT ACC"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { setverdict(fail, "Unexpected PDP CTX ACT FAIL"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { setverdict(fail, "Unexpected PDP CTX ACT FAIL"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi)) { setverdict(pass); } - [] as_xid(apars, gb_idx); + [] as_xid(apars, ran_index); } } -function f_pdp_ctx_deact_mo(inout PdpActPars apars, OCT1 cause, integer gb_idx := 0) +function f_pdp_ctx_deact_mo(inout PdpActPars apars, OCT1 cause, integer ran_index := 0) runs on BSSGP_ConnHdlr { var boolean exp_rej := ispresent(apars.exp_rej_cause); var Gtp1cUnitdata g_ud; - f_send_l3(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), gb_idx); + f_send_l3(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), ran_index); GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud { var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber); - BSSGP[gb_idx].clear; + BSSGP[ran_index].clear; GTP.send(ts_GTPC_DeletePdpResp(g_ud.peer, seq_nr, apars.sgsn_tei_c, '7F'O)); } alt { - [] BSSGP[gb_idx].receive(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid)) { + [] BSSGP[ran_index].receive(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid)) { setverdict(pass); } - [] as_xid(apars, gb_idx); + [] as_xid(apars, ran_index); } } -function f_pdp_ctx_deact_mt(inout PdpActPars apars, boolean error_ind := false, integer gb_idx := 0) +function f_pdp_ctx_deact_mt(inout PdpActPars apars, boolean error_ind := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var Gtp1cUnitdata g_ud; var integer seq_nr := 23; var GtpPeer peer := valueof(ts_GtpPeerC(apars.sgsn_ip_c)); - BSSGP[gb_idx].clear; + BSSGP[ran_index].clear; if (error_ind) { GTP.send(ts_GTPU_ErrorIndication(peer, 0 /* seq */, apars.ggsn_tei_u, apars.ggsn_ip_u)); } else { @@ -1308,8 +1308,8 @@ T.start; alt { - [] BSSGP[gb_idx].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true)) { - f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), gb_idx); + [] BSSGP[ran_index].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true)) { + f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), ran_index); } [not error_ind] GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) { repeat; @@ -1412,8 +1412,8 @@ GTP.send(ts_GTP1U_GPDU(peer, 0 /*seq*/, apars.sgsn_tei_u, payload)); } -private altstep as_xid(PdpActPars apars, integer gb_idx := 0) runs on BSSGP_ConnHdlr { - [] BSSGP[gb_idx].receive(tr_LLC_XID_MT_CMD(?, apars.sapi)) { +private altstep as_xid(PdpActPars apars, integer ran_index := 0) runs on BSSGP_ConnHdlr { + [] BSSGP[ran_index].receive(tr_LLC_XID_MT_CMD(?, apars.sapi)) { repeat; } } @@ -1452,25 +1452,25 @@ } /* Transceive given 'payload' as MT message from GTP -> OsmoSGSN -> Gb */ -private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer gb_idx := 0) +private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer ran_index := 0) runs on BSSGP_ConnHdlr { /* Send PDU via GTP from our simulated GGSN to the SGSN */ f_gtpu_send(apars, payload); /* Expect PDU via BSSGP/LLC on simulated PCU from SGSN */ alt { - [] as_xid(apars, gb_idx); - //[] BSSGP[gb_idx].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload))); - [] BSSGP[gb_idx].receive(tr_SN_UD(apars.nsapi, payload)); + [] as_xid(apars, ran_index); + //[] BSSGP[ran_index].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload))); + [] BSSGP[ran_index].receive(tr_SN_UD(apars.nsapi, payload)); } } /* Transceive given 'payload' as MT message from Gb -> OsmoSGSN -> GTP */ -private function f_gtpu_xceive_mo(inout PdpActPars apars, octetstring payload, integer gb_idx := 0) +private function f_gtpu_xceive_mo(inout PdpActPars apars, octetstring payload, integer ran_index := 0) runs on BSSGP_ConnHdlr { /* Send PDU via SNDCP/LLC/BSSGP/NS via simulated MS/PCU to the SGSN */ var GtpPeer peer := valueof(ts_GtpPeerU(apars.sgsn_ip_u)); var PDU_SN sndcp := valueof(ts_SN_UD(apars.nsapi, payload)); - BSSGP[gb_idx].send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0)); + BSSGP[ran_index].send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0)); /* Expect PDU via GTP from SGSN on simulated GGSN */ alt { [] GTP.receive(tr_GTPU_GPDU(peer, apars.ggsn_tei_u, payload)); diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 64d829d..472774e 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -15,7 +15,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); setverdict(pass); } testcase TC_iu_attach() runs on test_CT { @@ -40,7 +40,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); /* do a routing area update */ f_routing_area_update(g_pars.ra); @@ -63,7 +63,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0); /* do a routing area update */ f_routing_area_update(g_pars.ra, bssgp := 3); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df Gerrit-Change-Number: 15529 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 20:49:23 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 20:49:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with ran_index In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 ) Change subject: sgsn: replace variable bssgp with ran_index ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 15 Sep 2019 20:49:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 20:49:31 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 20:49:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with ran_index In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 ) Change subject: sgsn: replace variable bssgp_index with ran_index ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 15 Sep 2019 20:49:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:09:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:09:08 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... Patch Set 6: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Sep 2019 21:09:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:11:37 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:11:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with ran_index In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 to look at the new patch set (#5). Change subject: sgsn: replace variable bssgp with ran_index ...................................................................... sgsn: replace variable bssgp with ran_index Since bssgp also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/15399/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:13:35 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:13:35 +0000 Subject: Change in ...osmo-msc[master]: paging: reduce paging response timer to 3 sec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15527 to look at the new patch set (#3). Change subject: paging: reduce paging response timer to 3 sec ...................................................................... paging: reduce paging response timer to 3 sec After the introduction of multiple paging attempts, reduce the paging timeout. TODO: what's a reasonable paging timeout for 2G, 3g..? Change-Id: Ie695aa67458753794d70ed5154df51bfe6696da3 --- M include/osmocom/msc/gsm_data.h M tests/msc_vlr/msc_vlr_test_ms_timeout.err 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/27/15527/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie695aa67458753794d70ed5154df51bfe6696da3 Gerrit-Change-Number: 15527 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:18:31 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:18:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Require to receive tr_RANAP_CommonId() after ts_RANAP_SecurityModeCom... Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 Change subject: Require to receive tr_RANAP_CommonId() after ts_RANAP_SecurityModeComplete() ...................................................................... Require to receive tr_RANAP_CommonId() after ts_RANAP_SecurityModeComplete() The SGSN will send a CommonId after it has sent SecurityModeComplete in order to support paging coordination of the BSC Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/15530/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6de9987..2803f5b 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -661,6 +661,7 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) } } } else { @@ -2395,6 +2396,7 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) } [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } [is_iu(bssgp)] BSSAP.receive { repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 Gerrit-Change-Number: 15530 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:19:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:19:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 to look at the new patch set (#2). Change subject: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete ...................................................................... Require to receive RANAP_CommonId after RANAP_SecurityModeComplete The SGSN will send a CommonId after it has sent SecurityModeComplete to support paging coordination in the RNC. Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/15530/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 Gerrit-Change-Number: 15530 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 21:19:57 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 21:19:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: implement commonid as alt_step In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 ) Change subject: sgsn: implement commonid as alt_step ...................................................................... Abandoned superseeded by https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d4d0aa83c0365969039613d7539d0e7d816afa7 Gerrit-Change-Number: 15398 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 22:11:21 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 22:11:21 +0000 Subject: Change in ...libosmo-sccp[master]: sccp_user: correct comment for osmo_sccp_simple_client Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 Change subject: sccp_user: correct comment for osmo_sccp_simple_client ...................................................................... sccp_user: correct comment for osmo_sccp_simple_client Fixes: 3884eb68d932 ("osmo_sccp_simple_client(): use sccp instance index 0 instead of 1") Change-Id: Iaac59222df84eacf813825c2ef660281381e6b14 --- M src/sccp_user.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/31/15531/1 diff --git a/src/sccp_user.c b/src/sccp_user.c index ff5eb08..a1302d9 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -633,7 +633,7 @@ { /*! This is simplified version of osmo_sccp_simple_client_on_ss7_id(). * the only difference is that the ID of the CS7 instance will be - * set to 1 statically */ + * set to 0 statically */ return osmo_sccp_simple_client_on_ss7_id(ctx, 0, name, default_pc, prot, default_local_port, -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaac59222df84eacf813825c2ef660281381e6b14 Gerrit-Change-Number: 15531 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 23:15:51 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 23:15:51 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 Change subject: exit if the sip agent failed to start ...................................................................... exit if the sip agent failed to start When the sip agent start fails (i.e. port can not bind because IP doesn't exist) exit the sip-connector Relates: OS#4197 Change-Id: I22ed16c77391b4f270df498dda587ed657279390 --- M src/main.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/32/15532/1 diff --git a/src/main.c b/src/main.c index 13fdd5d..3385e37 100644 --- a/src/main.c +++ b/src/main.c @@ -158,9 +158,11 @@ /* sofia sip */ sip_agent_init(&g_app.sip.agent, &g_app); rc = sip_agent_start(&g_app.sip.agent); - if (rc < 0) + if (rc < 0) { LOGP(DSIP, LOGL_ERROR, - "Failed to initialize SIP. Running broken\n"); + "Failed to initialize SIP\n"); + exit(1); + } calls_init(); app_setup(&g_app); -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 23:15:51 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 23:15:51 +0000 Subject: Change in ...osmo-sip-connector[master]: .service: require to ran after network-online.target Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 Change subject: .service: require to ran after network-online.target ...................................................................... .service: require to ran after network-online.target Relates: OS#4197 Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a --- M contrib/systemd/osmo-sip-connector.service 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/33/15533/1 diff --git a/contrib/systemd/osmo-sip-connector.service b/contrib/systemd/osmo-sip-connector.service index a08f167..673aa53 100644 --- a/contrib/systemd/osmo-sip-connector.service +++ b/contrib/systemd/osmo-sip-connector.service @@ -1,5 +1,7 @@ [Unit] Description=Osmo SIP Connector +After=network-online.target +Wants=network-online.target [Service] Type=simple -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a Gerrit-Change-Number: 15533 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 23:19:28 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 15 Sep 2019 23:19:28 +0000 Subject: Change in ...docker-playground[master]: sgsn: enable Iu tests Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15534 Change subject: sgsn: enable Iu tests ...................................................................... sgsn: enable Iu tests All related Iu patches has been merged. Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da --- M ttcn3-sgsn-test/SGSN_Tests.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/34/15534/1 diff --git a/ttcn3-sgsn-test/SGSN_Tests.cfg b/ttcn3-sgsn-test/SGSN_Tests.cfg index 55ea817..f7d6d9a 100644 --- a/ttcn3-sgsn-test/SGSN_Tests.cfg +++ b/ttcn3-sgsn-test/SGSN_Tests.cfg @@ -39,4 +39,4 @@ [EXECUTE] SGSN_Tests.control -#SGSN_Tests_Iu.control +SGSN_Tests_Iu.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da Gerrit-Change-Number: 15534 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 23:24:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 15 Sep 2019 23:24:00 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 15 Sep 2019 23:24:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 15 23:24:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 15 Sep 2019 23:24:19 +0000 Subject: Change in ...osmo-sip-connector[master]: .service: require to ran after network-online.target In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 ) Change subject: .service: require to ran after network-online.target ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a Gerrit-Change-Number: 15533 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Holger Freyther Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 15 Sep 2019 23:24:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 00:46:39 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 00:46:39 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... sgsn: when receiving data PDU notify the Gb GMM fsm When receiving a PDU, the GMM fsm will change to state MM_READY and will re-arm the T3314 Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 --- M include/osmocom/sgsn/gprs_gb.h M src/sgsn/gprs_gb.c M src/sgsn/gprs_sndcp.c 3 files changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/35/15535/1 diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h index 3bc3676..47f2a31 100644 --- a/include/osmocom/sgsn/gprs_gb.h +++ b/include/osmocom/sgsn/gprs_gb.h @@ -3,7 +3,9 @@ #include #include -#include +#include int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); +/* Has to be called whenever any PDU (signaling, data, ...) has been received */ +void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx); diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 2d9c25a..a0c6fc3 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -34,6 +34,11 @@ #include #include +void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx) { + if (mmctx->gb.llme) + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_PDU_RECEPTION, NULL); +} + /* Main entry point for incoming 04.08 GPRS messages from Gb */ int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) @@ -50,7 +55,7 @@ msgid2mmctx(mmctx, msg); rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); mmctx->gb.llme = llme; - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_PDU_RECEPTION, NULL); + gprs_gb_recv_pdu(mmctx); } /* MMCTX can be NULL */ diff --git a/src/sgsn/gprs_sndcp.c b/src/sgsn/gprs_sndcp.c index d9aa1e5..5ef7a12 100644 --- a/src/sgsn/gprs_sndcp.c +++ b/src/sgsn/gprs_sndcp.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -745,6 +746,7 @@ struct sndcp_common_hdr *sch = (struct sndcp_common_hdr *)hdr; struct sndcp_comp_hdr *scomph = NULL; struct sndcp_udata_hdr *suh; + struct sgsn_mm_ctx *mmctx; uint8_t *npdu; uint16_t npdu_num __attribute__((unused)); int npdu_len; @@ -778,6 +780,11 @@ /* FIXME: move this RA_ID up to the LLME or even higher */ bssgp_parse_cell_id(&sne->ra_id, msgb_bcid(msg)); + /* We should only receive data packages for a valid MM */ + mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &sne->ra_id); + OSMO_ASSERT(mmctx); + gprs_gb_recv_pdu(mmctx); + if (scomph) { sne->defrag.pcomp = scomph->pcomp; sne->defrag.dcomp = scomph->dcomp; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 00:47:18 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 00:47:18 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... sgsn: when receiving data PDU notify the Gb GMM fsm When receiving a PDU, the GMM fsm will change to state MM_READY and will re-arm the T3314 Relates: OS#1941 Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 --- M include/osmocom/sgsn/gprs_gb.h M src/sgsn/gprs_gb.c M src/sgsn/gprs_sndcp.c 3 files changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/35/15535/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Sep 16 01:47:20 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 16 Sep 2019 01:47:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d7ee9be3e549_5b942b1fe87085f44515b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 420s] ar: `u' modifier ignored since `D' is the default (see `U') [ 420s] libtool: link: ranlib .libs/libtransceiver_common.a [ 420s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 420s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 421s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 421s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 421s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 421s] collect2: error: ld returned 1 exit status [ 421s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 421s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 421s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 421s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 421s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 421s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 421s] make[1]: *** [Makefile:444: all] Error 2 [ 421s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 421s] dh_auto_build: make -j1 returned exit code 2 [ 421s] make: *** [debian/rules:6: build] Error 255 [ 421s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 421s] [ 421s] lamb18 failed "build osmo-trx_1.1.1.15.923b.dsc" at Mon Sep 16 01:47:00 UTC 2019. [ 421s] [ 421s] ### VM INTERACTION START ### [ 424s] [ 406.051995] sysrq: SysRq : Power Off [ 424s] [ 406.060957] reboot: Power down [ 424s] ### VM INTERACTION END ### [ 424s] [ 424s] lamb18 failed "build osmo-trx_1.1.1.15.923b.dsc" at Mon Sep 16 01:47:03 UTC 2019. [ 424s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 16 04:56:24 2019 From: gerrit-no-reply at lists.osmocom.org (zecke) Date: Mon, 16 Sep 2019 04:56:24 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: zecke has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: Code-Review-1 Assume osmo-sip-connector is only managed through the VTY. By exiting one loses the ability to ever fix that. -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 04:56:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 05:05:05 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 05:05:05 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: I see your point. But right now, there is nothing to be done via vty. if sip_agent_start() fails here, there is no recovery. -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 05:05:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:10:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:10:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/#/c/15430/6/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/6/pcu/PCU_Tests_RAW.ttcn at 460 PS6, Line 460: private function f_init_raw(charstring id) > Isn't that exactly what the code states? Oops sorry I didn't see it in next line, I was expecting it immediatelly afterwards in the same line ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:10:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:11:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:11:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e Gerrit-Change-Number: 15525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:11:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:26:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:26:13 +0000 Subject: Change in ...osmo-msc[master]: paging: reduce paging response timer to 3 sec In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15527 ) Change subject: paging: reduce paging response timer to 3 sec ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie695aa67458753794d70ed5154df51bfe6696da3 Gerrit-Change-Number: 15527 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:26:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:30:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:30:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 ) Change subject: sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR ...................................................................... sgsn: TC_attach_check_complete_resend: Expect LU sent to HLR SGSN is expected to submit an LU after initial GMM Auth Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6de9987..182cbd2 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2325,6 +2325,8 @@ f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); f_gmm_auth(); + /* Expect SGSN to perform LU with HLR */ + f_gmm_gsup_lu_isd(); timer T := 10.0; T.start; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie2e8f5b9740c7429f5f0bf28e35707a61f23b565 Gerrit-Change-Number: 15475 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:31:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:31:06 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:31:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:32:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:32:13 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15490 ) Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:32:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:35:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:35:06 +0000 Subject: Change in ...osmo-msc[master]: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15492 ) Change subject: vlr_auth_fsm: on SAI use the GSUP provided GMM cause code ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9af515dc52834b7c57c42fc3a76ee2c682734e2a Gerrit-Change-Number: 15492 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:35:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:36:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:36:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with ran_index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 ) Change subject: sgsn: replace variable bssgp_index with ran_index ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:36:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:36:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:36:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_index with ran_index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 ) Change subject: sgsn: replace variable gb_index with ran_index ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6 Gerrit-Change-Number: 15528 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:36:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:37:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:37:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_idx with ran_index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 ) Change subject: sgsn: replace variable gb_idx with ran_index ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df Gerrit-Change-Number: 15529 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:37:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:37:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with ran_index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 ) Change subject: sgsn: replace variable bssgp with ran_index ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:37:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:38:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:38:44 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:38:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:39:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:39:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 ) Change subject: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 Gerrit-Change-Number: 15530 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:39:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:40:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:40:30 +0000 Subject: Change in ...libosmo-sccp[master]: sccp_user: correct comment for osmo_sccp_simple_client In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 ) Change subject: sccp_user: correct comment for osmo_sccp_simple_client ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaac59222df84eacf813825c2ef660281381e6b14 Gerrit-Change-Number: 15531 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:40:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:40:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:40:34 +0000 Subject: Change in ...libosmo-sccp[master]: sccp_user: correct comment for osmo_sccp_simple_client In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 ) Change subject: sccp_user: correct comment for osmo_sccp_simple_client ...................................................................... sccp_user: correct comment for osmo_sccp_simple_client Fixes: 3884eb68d932 ("osmo_sccp_simple_client(): use sccp instance index 0 instead of 1") Change-Id: Iaac59222df84eacf813825c2ef660281381e6b14 --- M src/sccp_user.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/sccp_user.c b/src/sccp_user.c index ff5eb08..a1302d9 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -633,7 +633,7 @@ { /*! This is simplified version of osmo_sccp_simple_client_on_ss7_id(). * the only difference is that the ID of the CS7 instance will be - * set to 1 statically */ + * set to 0 statically */ return osmo_sccp_simple_client_on_ss7_id(ctx, 0, name, default_pc, prot, default_local_port, -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/15531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaac59222df84eacf813825c2ef660281381e6b14 Gerrit-Change-Number: 15531 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:41:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:41:00 +0000 Subject: Change in ...docker-playground[master]: sgsn: enable Iu tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15534 ) Change subject: sgsn: enable Iu tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da Gerrit-Change-Number: 15534 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:41:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:41:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:41:22 +0000 Subject: Change in ...osmo-sip-connector[master]: .service: require to ran after network-online.target In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 ) Change subject: .service: require to ran after network-online.target ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a Gerrit-Change-Number: 15533 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 08:41:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:44:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:44:05 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15535/2/src/sgsn/gprs_sndcp.c File src/sgsn/gprs_sndcp.c: https://gerrit.osmocom.org/#/c/15535/2/src/sgsn/gprs_sndcp.c at 785 PS2, Line 785: OSMO_ASSERT(mmctx); Don't assert here, better log error and drop the packet! -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 08:44:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 08:45:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 08:45:05 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 08:45:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 10:44:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 10:44:19 +0000 Subject: Change in ...osmo-trx[master]: Log RACH burst detection Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15536 Change subject: Log RACH burst detection ...................................................................... Log RACH burst detection Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 --- M Transceiver52M/sigProcLib.cpp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/36/15536/1 diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp index 011ddff..9ce3646 100644 --- a/Transceiver52M/sigProcLib.cpp +++ b/Transceiver52M/sigProcLib.cpp @@ -1636,6 +1636,7 @@ gRACHSequences[i], ebp); if (rc > 0) { ebp->tsc = i; + LOG(DEBUG) << "Detected " << (ext ? "extended " : "") << "RACH Burst: TSC=" << ebp->tsc; break; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 Gerrit-Change-Number: 15536 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 11:13:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 11:13:09 +0000 Subject: Change in ...libosmocore[master]: vty: osmo_stats_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15055 ) Change subject: vty: osmo_stats_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I29b27824b83c2caad901cc910d77e634ed5562d6 Gerrit-Change-Number: 15055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 16 Sep 2019 11:13:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 11:13:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 11:13:13 +0000 Subject: Change in ...libosmocore[master]: vty: logging_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15056 ) Change subject: vty: logging_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fa8a9e2fdf3d55d0dcdb3d933ac5ceb48db3da9 Gerrit-Change-Number: 15056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 11:13:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 11:34:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 11:34:07 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2) to the change originally created by timojacobus. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Transceiver: Fixed copying of history into and from channelizer buffer. In multi arfcn mode, osmo-trx would drop some bursts because it couldn't detect it and would emit idle burst instead. Specificaly detection of peak in correlation vector failed. Correcting copying of history in pullBuffer method fixes this issue. [Re-worked by Pau Espin Pedrol ] Fixes: 57df2362f0eca0a330aad3e18906046dfadb9c8b Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/13/15413/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 2 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 11:35:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 11:35:38 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Patch Set 2: Re-working the patch myself since I asked the author here and over email a few days ago on whether he was planning to work on new versions of the patch and got no answer so far. And since the fix is important I think it makes sense to have it merged asap. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 2 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 16 Sep 2019 11:35:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 11:39:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Sep 2019 11:39:37 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15427 ) Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 11:39:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 12:31:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 12:31:34 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15537 Change subject: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG ...................................................................... bts-trx: Change super verbose IDLE ind not-supported line to DEBUG It's impossible to see other logging otherwise. Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/15537/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 6c6d5ad..166cfe6 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1007,7 +1007,7 @@ * TDMA frames, and properly drive scheduler if nothing has been * detected on non-IDLE channels. */ if (bi.flags & TRX_BI_F_NOPE_IND) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "IDLE / NOPE indications are not (yet) supported\n"); return -ENOTSUP; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 Gerrit-Change-Number: 15537 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 12:32:24 2019 From: gerrit-no-reply at lists.osmocom.org (timojacobus) Date: Mon, 16 Sep 2019 12:32:24 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: timojacobus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Patch Set 2: > Patch Set 2: > > Re-working the patch myself since I asked the author here and over email a few days ago on whether he was planning to work on new versions of the patch and got no answer so far. And since the fix is important I think it makes sense to have it merged asap. Sorry for late answer, feel free to rework it if it is needed asap. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 2 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: timojacobus Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 16 Sep 2019 12:32:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:14:49 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:14:49 +0000 Subject: Change in ...libosmo-abis[master]: ipa: ipa_server_link_close() add checks of link state In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-abis/+/15387 ) Change subject: ipa: ipa_server_link_close() add checks of link state ...................................................................... ipa: ipa_server_link_close() add checks of link state When closing a link which failed on open, ipa_server_link_close() would crash it when calling osmo_fd_unregister. Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 --- M src/input/ipa.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/input/ipa.c b/src/input/ipa.c index 8aed7b3..b4dbcb0 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -297,6 +297,7 @@ ipa_link->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; ipa_link->ofd.cb = ipa_server_fd_cb; + ipa_link->ofd.fd = -1; ipa_link->ofd.data = ipa_link; if (addr) ipa_link->addr = talloc_strdup(ipa_link, addr); @@ -326,6 +327,7 @@ link->ofd.fd = ret; if (osmo_fd_register(&link->ofd) < 0) { close(ret); + link->ofd.fd = -1; return -EIO; } return 0; @@ -333,8 +335,12 @@ void ipa_server_link_close(struct ipa_server_link *link) { + if (link->ofd.fd == -1) + return; + osmo_fd_unregister(&link->ofd); close(link->ofd.fd); + link->ofd.fd = -1; } static int ipa_server_conn_read(struct ipa_server_conn *conn) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/15387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684 Gerrit-Change-Number: 15387 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:19:25 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:19:25 +0000 Subject: Change in ...docker-playground[master]: sgsn: enable Iu tests In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15534 ) Change subject: sgsn: enable Iu tests ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da Gerrit-Change-Number: 15534 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 13:19:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:19:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:19:30 +0000 Subject: Change in ...docker-playground[master]: sgsn: enable Iu tests In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/15534 ) Change subject: sgsn: enable Iu tests ...................................................................... sgsn: enable Iu tests All related Iu patches has been merged. Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da --- M ttcn3-sgsn-test/SGSN_Tests.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved lynxis lazus: Verified diff --git a/ttcn3-sgsn-test/SGSN_Tests.cfg b/ttcn3-sgsn-test/SGSN_Tests.cfg index 55ea817..f7d6d9a 100644 --- a/ttcn3-sgsn-test/SGSN_Tests.cfg +++ b/ttcn3-sgsn-test/SGSN_Tests.cfg @@ -39,4 +39,4 @@ [EXECUTE] SGSN_Tests.control -#SGSN_Tests_Iu.control +SGSN_Tests_Iu.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic26bcabb8b5192c401ab0bcc6a88b29fa0d3d8da Gerrit-Change-Number: 15534 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:30:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Sep 2019 13:30:45 +0000 Subject: Change in ...libosmocore[master]: logging.h: add SAPI related context and filter Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 Change subject: logging.h: add SAPI related context and filter ...................................................................... logging.h: add SAPI related context and filter Related: OS#2356 Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d --- M include/osmocom/core/logging.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/15538/1 diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 803b4a9..9d06080 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -154,6 +154,7 @@ LOG_CTX_GB_BVC, LOG_CTX_BSC_SUBSCR, LOG_CTX_VLR_SUBSCR, + LOG_CTX_PCU_IF_DATA, /* contains SAPI */ _LOG_CTX_COUNT }; @@ -166,6 +167,7 @@ LOG_FLT_GB_BVC, LOG_FLT_BSC_SUBSCR, LOG_FLT_VLR_SUBSCR, + LOG_FLT_SAPI, _LOG_FLT_COUNT }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:30:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Sep 2019 13:30:54 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter sapi" command Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 Change subject: vty: add "logging filter sapi" command ...................................................................... vty: add "logging filter sapi" command Set the PCU interface data as log context, and add VTY commands to filter by SAPI. Allow to filter by multiple SAPIs by running the filter command multiple times: OsmoBTS> logging filter sapi agch OsmoBTS> logging filter sapi pch Related: OS#2356 Test: (osmo-ttcn3-hacks) I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Depends: (libosmocore) I814cb3328d99faca9220adb5a80ffb934f219d7d Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b --- M src/common/logging.c M src/common/pcu_sock.c M src/common/vty.c 3 files changed, 87 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/1 diff --git a/src/common/logging.c b/src/common/logging.c index 3315a01..ace0341 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -29,6 +29,7 @@ #include #include +#include static struct log_info_cat bts_log_info_cat[] = { [DRSL] = { @@ -144,7 +145,21 @@ }, }; +static int filter_fn(const struct log_context *ctx, struct log_target *tgt) +{ + const struct gsm_pcu_if_data *pcu_if_data = ctx->ctx[LOG_CTX_PCU_IF_DATA]; + uint16_t *sapi_mask = tgt->filter_data[LOG_FLT_SAPI]; + + if ((tgt->filter_map & (1 << LOG_FLT_SAPI)) != 0 + && sapi_mask && pcu_if_data + && (*sapi_mask & (1 << pcu_if_data->sapi)) == 0) + return 0; + + return 1; +} + const struct log_info bts_log_info = { + .filter_fn = filter_fn, .cat = bts_log_info_cat, .num_cat = ARRAY_SIZE(bts_log_info_cat), }; diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ba9e172..7125b01 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -336,6 +336,7 @@ rts_req->ts_nr = ts->nr; rts_req->block_nr = block_nr; + log_set_context(LOG_CTX_PCU_IF_DATA, (void *)rts_req); return pcu_sock_send(&bts_gsmnet, msg); } @@ -376,6 +377,7 @@ memcpy(data_ind->data, data, len); data_ind->len = len; + log_set_context(LOG_CTX_PCU_IF_DATA, (void *)data_ind); return pcu_sock_send(&bts_gsmnet, msg); } @@ -402,6 +404,7 @@ rach_ind->is_11bit = is_11bit; rach_ind->burst_type = burst_type; + log_set_context(LOG_CTX_PCU_IF_DATA, (void *)rach_ind); return pcu_sock_send(&bts_gsmnet, msg); } @@ -484,6 +487,7 @@ memcpy(data_cnf->data, data, len); data_cnf->len = len; + log_set_context(LOG_CTX_PCU_IF_DATA, (void *)data_cnf); return pcu_sock_send(&bts_gsmnet, msg); } @@ -513,6 +517,7 @@ struct msgb *msg; int rc = 0; + log_set_context(LOG_CTX_PCU_IF_DATA, (void *)data_req); LOGP(DPCU, LOGL_DEBUG, "Data request received: sapi=%s arfcn=%d " "block=%d data=%s\n", sapi_string[data_req->sapi], data_req->arfcn, data_req->block_nr, diff --git a/src/common/vty.c b/src/common/vty.c index 801f34c..e99c889 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1600,6 +1600,71 @@ return CMD_SUCCESS; } + +#define SAPI_STR "Filter log messages by SAPI\n" +#define SAPI_ARG_STR "SAPI to be used as filter\n" +#define SAPI_CMD_STR "logging filter sapi (rach|agch|pch|bcch|pdtch|prach|ptcch|agch_dt)" + +uint16_t parse_sapi_str(const char *sapi) { + if (!strcmp(sapi, "rach")) + return PCU_IF_SAPI_RACH; + else if (!strcmp(sapi, "agch")) + return PCU_IF_SAPI_AGCH; + else if (!strcmp(sapi, "pch")) + return PCU_IF_SAPI_PCH; + else if (!strcmp(sapi, "bcch")) + return PCU_IF_SAPI_BCCH; + else if (!strcmp(sapi, "pdtch")) + return PCU_IF_SAPI_PDTCH; + else if (!strcmp(sapi, "prach")) + return PCU_IF_SAPI_PRACH; + else if (!strcmp(sapi, "ptcch")) + return PCU_IF_SAPI_PTCCH; + else if (!strcmp(sapi, "agch_dt")) + return PCU_IF_SAPI_AGCH_DT; + return 0; +} + +DEFUN(logging_fltr_sapi, + logging_fltr_sapi_cmd, + SAPI_CMD_STR, + LOGGING_STR FILTER_STR SAPI_STR SAPI_ARG_STR) +{ + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t **sapi_mask; + + if (!tgt) + return CMD_WARNING; + + sapi_mask = (uint16_t **)&tgt->filter_data[LOG_FLT_SAPI]; + if (!*sapi_mask) + *sapi_mask = talloc(tgt, uint16_t); + + **sapi_mask |= (1 << parse_sapi_str(argv[0])); + tgt->filter_map |= (1 << LOG_FLT_SAPI); + + return CMD_SUCCESS; +} + +DEFUN(no_logging_fltr_sapi, + no_logging_fltr_sapi_cmd, + "no " SAPI_CMD_STR, + NO_STR LOGGING_STR FILTER_STR SAPI_STR SAPI_ARG_STR) +{ + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t *sapi_mask; + + if (!tgt) + return CMD_WARNING; + if (!tgt->filter_data[LOG_FLT_SAPI]) + return CMD_SUCCESS; + + sapi_mask = (uint16_t *)tgt->filter_data[LOG_FLT_SAPI]; + *sapi_mask &= ~(1 << parse_sapi_str(argv[0])); + + return CMD_SUCCESS; +} + int bts_vty_init(struct gsm_bts *bts) { cfg_trx_gsmtap_sapi_cmd.string = vty_cmd_string_from_valstr(bts, gsmtap_sapi_names, @@ -1621,6 +1686,8 @@ install_element_ve(&show_ts_cmd); install_element_ve(&show_lchan_cmd); install_element_ve(&show_lchan_summary_cmd); + install_element_ve(&logging_fltr_sapi_cmd); + install_element_ve(&no_logging_fltr_sapi_cmd); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:31:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Sep 2019 13:31:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter sapi" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 Change subject: bts: test for "logging filter sapi" ...................................................................... bts: test for "logging filter sapi" Related: OS#2356 Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 --- M bts/BTS_Tests.ttcn 1 file changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15540/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2c11ca2..72dde30 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -295,6 +295,7 @@ friend function f_init_vty(charstring id) runs on test_CT { map(self:BTSVTY, system:BTSVTY); f_vty_set_prompts(BTSVTY); + f_vty_transceive(BTSVTY, "logging disable"); f_vty_transceive(BTSVTY, "enable"); } @@ -6153,6 +6154,51 @@ IPA_Testing.f_run_TC_chopped_ipa_payload(mp_rsl_ip, mp_rsl_port, LISTEN_FOR_CLIENT); } + +private function f_vty_log_fltr_sapi_pcu_data_req(TELNETasp_PT pt, PCUIF_Sapi sapi, charstring sapi_str, + boolean visible := true) runs on test_CT { + var charstring buffer; + template charstring exp := pattern "*sapi=" & sapi_str & "*"; + + f_vty_transceive(pt, ""); /* clear buffer */ + f_pcu_data_req(0, 0, 7, 0, 0, sapi, c_PCU_DATA); + f_sleep(0.1); + + buffer := f_vty_transceive_ret(pt, ""); + if (visible and not match(buffer, exp)) { + setverdict(fail, "Could not find ", exp, " in buffer: ", buffer); + mtc.stop; + } else if (not visible and match(buffer, exp)) { + setverdict(fail, "Found ", exp, " in buffer, although it should not have matched: ", buffer); + mtc.stop; + } +} + +private function f_vty_log_fltr_sapi_test_log(TELNETasp_PT pt, charstring cmd, boolean agch_exp, boolean pch_exp) + runs on test_CT { + log("Testing log output after VTY command: ", cmd); + f_vty_transceive(pt, cmd); + f_vty_log_fltr_sapi_pcu_data_req(pt, PCU_IF_SAPI_AGCH, "AGCH", agch_exp); + f_vty_log_fltr_sapi_pcu_data_req(pt, PCU_IF_SAPI_PCH, "PCH", pch_exp); +} + +testcase TC_vty_log_fltr_sapi() runs on test_CT { + f_init(); + f_vty_transceive(BTSVTY, "logging enable"); + f_vty_transceive(BTSVTY, "logging color 0"); + + /* self test */ + f_vty_log_fltr_sapi_test_log(BTSVTY, "logging level set-all fatal", false, false); + f_vty_log_fltr_sapi_test_log(BTSVTY, "logging level pcu debug", true, true); + + f_vty_log_fltr_sapi_test_log(BTSVTY, "logging filter sapi agch", true, false); + f_vty_log_fltr_sapi_test_log(BTSVTY, "logging filter sapi pch", true, true); + f_vty_log_fltr_sapi_test_log(BTSVTY, "no logging filter sapi agch", false, true); + + f_vty_transceive(BTSVTY, "logging disable"); + setverdict(pass); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -6320,6 +6366,8 @@ execute( TC_chopped_ipa_ping() ); execute( TC_chopped_ipa_payload() ); + + execute( TC_vty_log_fltr_sapi() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Sep 2019 13:34:45 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter sapi" command In-Reply-To: References: Message-ID: Hello pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 to look at the new patch set (#2). Change subject: vty: add "logging filter sapi" command ...................................................................... vty: add "logging filter sapi" command Set the PCU interface data as log context, and add VTY commands to filter by SAPI. Allow to filter by multiple SAPIs by running the filter command multiple times: OsmoBTS> logging filter sapi agch OsmoBTS> logging filter sapi pch Related: OS#2356 Test: (osmo-ttcn3-hacks) I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Depends: (libosmocore) I814cb3328d99faca9220adb5a80ffb934f219d7d Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b --- M src/common/logging.c M src/common/pcu_sock.c M src/common/vty.c 3 files changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:57:01 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:57:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp_index with ran_index In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 ) Change subject: sgsn: replace variable bssgp_index with ran_index ...................................................................... sgsn: replace variable bssgp_index with ran_index Since bssgp_index also been used for Iu connection, rename the variable to ran_index. Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 10 insertions(+), 10 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 182cbd2..be4283e 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -671,12 +671,12 @@ deactivate(di); } -function f_upd_ptmsi_and_tlli(OCT4 p_tmsi, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_upd_ptmsi_and_tlli(OCT4 p_tmsi, integer ran_index := 0) runs on BSSGP_ConnHdlr { g_pars.p_tmsi := p_tmsi; /* update TLLI */ g_pars.tlli_old := g_pars.tlli; g_pars.tlli := g_pars.p_tmsi or4b 'c0000000'O; - f_bssgp_client_llgmm_assign(g_pars.tlli_old, g_pars.tlli, BSSGP_PROC[bssgp_index]); + f_bssgp_client_llgmm_assign(g_pars.tlli_old, g_pars.tlli, BSSGP_PROC[ran_index]); } function f_process_attach_accept(PDU_GMM_AttachAccept aa) runs on BSSGP_ConnHdlr { @@ -708,7 +708,7 @@ /* T3302, T3319, T3323, T3312_ext, T3324 */ } -function f_process_rau_accept(PDU_GMM_RoutingAreaUpdateAccept ra, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_process_rau_accept(PDU_GMM_RoutingAreaUpdateAccept ra, integer ran_index := 0) runs on BSSGP_ConnHdlr { /* mandatory IE */ g_pars.ra := ra.routingAreaId; if (ispresent(ra.allocatedPTMSI)) { @@ -716,7 +716,7 @@ setverdict(fail, "unexpected P-TMSI allocation"); mtc.stop; } - f_upd_ptmsi_and_tlli(ra.allocatedPTMSI.mobileIdentityLV.mobileIdentityV.oddEvenInd_identity.tmsi_ptmsi.octets, bssgp_index); + f_upd_ptmsi_and_tlli(ra.allocatedPTMSI.mobileIdentityLV.mobileIdentityV.oddEvenInd_identity.tmsi_ptmsi.octets, ran_index); } if (ispresent(ra.msIdentity)) { setverdict(fail, "unexpected TMSI allocation in non-combined attach"); @@ -1094,10 +1094,10 @@ } /* general GPRS DETACH helper */ -function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge, integer bssgp_index := 0) runs on BSSGP_ConnHdlr { +function f_detach_mo(BIT3 detach_type, boolean power_off, boolean expect_purge, integer ran_index := 0) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; timer T := 5.0; - f_send_l3(ts_GMM_DET_REQ_MO(detach_type, power_off), bssgp_index); + f_send_l3(ts_GMM_DET_REQ_MO(detach_type, power_off), ran_index); if (expect_purge) { GSUP.receive(tr_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_PS)); GSUP.send(ts_GSUP_PURGE_MS_RES(g_pars.imsi)); @@ -1108,7 +1108,7 @@ setverdict(fail, "Unexpected GSUP PURGE MS for unregistered TLLI"); mtc.stop; } - [power_off] BSSGP[bssgp_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { + [power_off] BSSGP[ran_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { g_pars.ra := omit; setverdict(fail, "Unexpected DETACH ACCEPT in power-off DETACH"); mtc.stop; @@ -1117,12 +1117,12 @@ [power_off] T.timeout { setverdict(pass); } - [not power_off] BSSGP[bssgp_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { + [not power_off] BSSGP[ran_index].receive(tr_GMM_DET_ACCEPT_MT) -> value l3_mt { g_pars.ra := omit; setverdict(pass); /* TODO: check if any PDP contexts are deactivated on network side? */ } - [] BSSGP[bssgp_index].receive(PDU_L3_SGSN_MS:?) -> value l3_mt { + [] BSSGP[ran_index].receive(PDU_L3_SGSN_MS:?) -> value l3_mt { if (power_off) { setverdict(fail, "Unexpected Layer 3 package received in power-off DETACH"); } else { @@ -1130,7 +1130,7 @@ } mtc.stop; } - [] BSSGP[bssgp_index].receive { repeat; } + [] BSSGP[ran_index].receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec2e8510b749602f0ebb9b4976957c9c5ce3f307 Gerrit-Change-Number: 15400 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:57:02 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:57:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_index with ran_index In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 ) Change subject: sgsn: replace variable gb_index with ran_index ...................................................................... sgsn: replace variable gb_index with ran_index Since gb_index also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index be4283e..084f167 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -493,16 +493,16 @@ return gb_idx >= NUM_GB; } -function f_send_llc(template (value) PDU_LLC llc_pdu, integer gb_index := 0) runs on BSSGP_ConnHdlr { +function f_send_llc(template (value) PDU_LLC llc_pdu, integer ran_index := 0) runs on BSSGP_ConnHdlr { var octetstring llc_enc := enc_PDU_LLC(valueof(llc_pdu)); - BSSGP[gb_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[gb_index], llc_enc)); + BSSGP[ran_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[ran_index], llc_enc)); } -private function f_send_l3_gmm_llc(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { +private function f_send_l3_gmm_llc(template (value) PDU_L3_MS_SGSN l3_mo, integer ran_index := 0) runs on BSSGP_ConnHdlr { var octetstring l3_enc := enc_PDU_L3_MS_SGSN(valueof(l3_mo)); var BIT4 sapi := f_llc_sapi_by_l3_mo(valueof(l3_mo)); var integer n_u := f_llc_get_n_u_tx(llc[bit2int(sapi)]); - f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), gb_index); + f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), ran_index); } /* trigger sending of a RANAP InitialUE and wait for SCCP connection confirmation */ @@ -539,8 +539,8 @@ } /* send a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ -function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { - if (is_iu(gb_index)) { +function f_send_l3(template (value) PDU_L3_MS_SGSN l3_mo, integer ran_index := 0) runs on BSSGP_ConnHdlr { + if (is_iu(ran_index)) { if (g_pars.rnc_send_initial_ue) { g_pars.rnc_send_initial_ue := false; f_send_l3_initial_ue(l3_mo); @@ -548,7 +548,7 @@ BSSAP.send(ts_PDU_DTAP_PS_MO(l3_mo)); } } else { - f_send_l3_gmm_llc(l3_mo, gb_index); + f_send_l3_gmm_llc(l3_mo, ran_index); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06b0c6184daeb886e8bd28d50bf18909d9244dc6 Gerrit-Change-Number: 15528 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:57:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:57:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable gb_idx with ran_index In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 ) Change subject: sgsn: replace variable gb_idx with ran_index ...................................................................... sgsn: replace variable gb_idx with ran_index Since gb_idx also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 55 insertions(+), 55 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 084f167..10e98a8 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -486,11 +486,11 @@ f_cleanup(); } -friend function is_gb(integer gb_idx) return boolean { - return gb_idx < NUM_GB; +friend function is_gb(integer ran_index) return boolean { + return ran_index < NUM_GB; } -friend function is_iu(integer gb_idx) return boolean { - return gb_idx >= NUM_GB; +friend function is_iu(integer ran_index) return boolean { + return ran_index >= NUM_GB; } function f_send_llc(template (value) PDU_LLC llc_pdu, integer ran_index := 0) runs on BSSGP_ConnHdlr { @@ -552,38 +552,38 @@ } } -altstep as_mm_identity(integer gb_idx := 0) runs on BSSGP_ConnHdlr { +altstep as_mm_identity(integer ran_index := 0) runs on BSSGP_ConnHdlr { var MobileL3_CommonIE_Types.MobileIdentityLV mi; - [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('001'B)) { + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('001'B))) { + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('001'B))) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_gb(gb_idx)] BSSGP[gb_idx].receive(tr_GMM_ID_REQ('010'B)) { + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_ID_REQ('010'B)) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('010'B))) { + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_ID_REQ('010'B))) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3(ts_GMM_ID_RESP(mi), ran_index); repeat; } } /* receive a L3 (GMM/SM) message over whatever is the appropriate lower-layer bearer */ -function f_receive_l3(template PDU_L3_SGSN_MS rx_tpl := ?, integer gb_idx := 0) +function f_receive_l3(template PDU_L3_SGSN_MS rx_tpl := ?, integer ran_index := 0) runs on BSSGP_ConnHdlr return PDU_L3_SGSN_MS { var PDU_DTAP_PS_MT mt; var PDU_L3_SGSN_MS l3_mt; alt { - [is_gb(gb_idx)] BSSGP[gb_idx].receive(rx_tpl) -> value l3_mt { } - [is_iu(gb_idx)] BSSAP.receive(tr_PDU_DTAP_PS_MT(rx_tpl)) -> value mt { + [is_gb(ran_index)] BSSGP[ran_index].receive(rx_tpl) -> value l3_mt { } + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(rx_tpl)) -> value mt { l3_mt := mt.dtap; } } @@ -593,10 +593,10 @@ /* perform GMM authentication (if expected). * Note, for umts_aka_challenge to work, the revisionLevelIndicatior needs to * be 1 to mark R99 capability, in the GMM Attach Request, see f_gmm_attach(). */ -function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer gb_idx := 0) runs on BSSGP_ConnHdlr { +function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var PDU_L3_MS_SGSN l3_mo; var PDU_L3_SGSN_MS l3_mt; - var default di := activate(as_mm_identity(gb_idx)); + var default di := activate(as_mm_identity(ran_index)); if (g_pars.net.expect_auth) { var GSUP_IE auth_tuple; var template AuthenticationParameterAUTNTLV autn; @@ -631,7 +631,7 @@ var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand); auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn; - l3_mt := f_receive_l3(auth_ciph_req, gb_idx); + l3_mt := f_receive_l3(auth_ciph_req, ran_index); var BIT4 ac_ref := l3_mt.msgs.gprs_mm.authenticationAndCipheringRequest.acReferenceNumber.valueField; var template PDU_L3_MS_SGSN auth_ciph_resp := ts_GMM_AUTH_RESP_2G(ac_ref, g_pars.vec.sres); @@ -653,10 +653,10 @@ l3_mo.msgs.gprs_mm.authenticationAndCipheringResponse.imeisv := valueof(ts_MI_IMEISV_TLV(g_pars.imei & '0'H)); } - f_send_l3(l3_mo, gb_idx); + f_send_l3(l3_mo, ran_index); /* Security Mode Command + Complete on Iu case */ - if (is_iu(gb_idx)) { + if (is_iu(ran_index)) { BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ @@ -756,7 +756,7 @@ GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); } -friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer gb_idx := 0) runs on BSSGP_ConnHdlr { +friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer ran_index := 0) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); var template PDU_L3_MS_SGSN attach_req := ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit); var PDU_L3_SGSN_MS l3_mt; @@ -768,19 +768,19 @@ * revisionLevelIndicatior is at the wrong place! */ attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; - f_send_l3(attach_req, gb_idx); - f_gmm_auth(umts_aka_challenge, force_gsm_sres, gb_idx); + f_send_l3(attach_req, ran_index); + f_gmm_auth(umts_aka_challenge, force_gsm_sres, ran_index); /* Expect SGSN to perform LU with HLR */ f_gmm_gsup_lu_isd(); - l3_mt := f_receive_l3(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?), gb_idx); + l3_mt := f_receive_l3(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?), ran_index); f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); /* FIXME: Extract P-TMSI, if any. Only send Complete if necessary */ - f_send_l3(ts_GMM_ATTACH_COMPL, gb_idx); + f_send_l3(ts_GMM_ATTACH_COMPL, ran_index); /* IuPS case: Expect Iu Release */ - if (is_iu(gb_idx)) { + if (is_iu(ran_index)) { as_iu_release_compl_disc(); } } @@ -1227,7 +1227,7 @@ f_gtp_register_teid(apars.ggsn_tei_u); } -function f_pdp_ctx_act(inout PdpActPars apars, boolean send_recovery := false, integer gb_idx := 0) +function f_pdp_ctx_act(inout PdpActPars apars, boolean send_recovery := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var boolean exp_rej := ispresent(apars.exp_rej_cause); var Gtp1cUnitdata g_ud; @@ -1238,7 +1238,7 @@ } f_send_l3(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, - apars.apn, apars.pco), gb_idx); + apars.apn, apars.pco), ran_index); GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud { f_process_gtp_ctx_act_req(apars, g_ud.gtpc); var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber); @@ -1250,54 +1250,54 @@ omit, recovery)); } alt { - [exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause)) { + [exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, apars.exp_rej_cause)) { setverdict(pass); } - [exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_ACCEPT) { + [exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_ACCEPT) { setverdict(fail, "Unexpected PDP CTX ACT ACC"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { setverdict(fail, "Unexpected PDP CTX ACT FAIL"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_REJ(apars.tid, ?)) { setverdict(fail, "Unexpected PDP CTX ACT FAIL"); mtc.stop; } - [not exp_rej] BSSGP[gb_idx].receive(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi)) { + [not exp_rej] BSSGP[ran_index].receive(tr_SM_ACT_PDP_ACCEPT(apars.tid, apars.sapi)) { setverdict(pass); } - [] as_xid(apars, gb_idx); + [] as_xid(apars, ran_index); } } -function f_pdp_ctx_deact_mo(inout PdpActPars apars, OCT1 cause, integer gb_idx := 0) +function f_pdp_ctx_deact_mo(inout PdpActPars apars, OCT1 cause, integer ran_index := 0) runs on BSSGP_ConnHdlr { var boolean exp_rej := ispresent(apars.exp_rej_cause); var Gtp1cUnitdata g_ud; - f_send_l3(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), gb_idx); + f_send_l3(ts_SM_DEACT_PDP_REQ_MO(apars.tid, cause, false, omit), ran_index); GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud { var integer seq_nr := oct2int(g_ud.gtpc.opt_part.sequenceNumber); - BSSGP[gb_idx].clear; + BSSGP[ran_index].clear; GTP.send(ts_GTPC_DeletePdpResp(g_ud.peer, seq_nr, apars.sgsn_tei_c, '7F'O)); } alt { - [] BSSGP[gb_idx].receive(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid)) { + [] BSSGP[ran_index].receive(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid)) { setverdict(pass); } - [] as_xid(apars, gb_idx); + [] as_xid(apars, ran_index); } } -function f_pdp_ctx_deact_mt(inout PdpActPars apars, boolean error_ind := false, integer gb_idx := 0) +function f_pdp_ctx_deact_mt(inout PdpActPars apars, boolean error_ind := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { var Gtp1cUnitdata g_ud; var integer seq_nr := 23; var GtpPeer peer := valueof(ts_GtpPeerC(apars.sgsn_ip_c)); - BSSGP[gb_idx].clear; + BSSGP[ran_index].clear; if (error_ind) { GTP.send(ts_GTPU_ErrorIndication(peer, 0 /* seq */, apars.ggsn_tei_u, apars.ggsn_ip_u)); } else { @@ -1308,8 +1308,8 @@ T.start; alt { - [] BSSGP[gb_idx].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true)) { - f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), gb_idx); + [] BSSGP[ran_index].receive(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true)) { + f_send_l3(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), ran_index); } [not error_ind] GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) { repeat; @@ -1412,8 +1412,8 @@ GTP.send(ts_GTP1U_GPDU(peer, 0 /*seq*/, apars.sgsn_tei_u, payload)); } -private altstep as_xid(PdpActPars apars, integer gb_idx := 0) runs on BSSGP_ConnHdlr { - [] BSSGP[gb_idx].receive(tr_LLC_XID_MT_CMD(?, apars.sapi)) { +private altstep as_xid(PdpActPars apars, integer ran_index := 0) runs on BSSGP_ConnHdlr { + [] BSSGP[ran_index].receive(tr_LLC_XID_MT_CMD(?, apars.sapi)) { repeat; } } @@ -1452,25 +1452,25 @@ } /* Transceive given 'payload' as MT message from GTP -> OsmoSGSN -> Gb */ -private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer gb_idx := 0) +private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer ran_index := 0) runs on BSSGP_ConnHdlr { /* Send PDU via GTP from our simulated GGSN to the SGSN */ f_gtpu_send(apars, payload); /* Expect PDU via BSSGP/LLC on simulated PCU from SGSN */ alt { - [] as_xid(apars, gb_idx); - //[] BSSGP[gb_idx].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload))); - [] BSSGP[gb_idx].receive(tr_SN_UD(apars.nsapi, payload)); + [] as_xid(apars, ran_index); + //[] BSSGP[ran_index].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload))); + [] BSSGP[ran_index].receive(tr_SN_UD(apars.nsapi, payload)); } } /* Transceive given 'payload' as MT message from Gb -> OsmoSGSN -> GTP */ -private function f_gtpu_xceive_mo(inout PdpActPars apars, octetstring payload, integer gb_idx := 0) +private function f_gtpu_xceive_mo(inout PdpActPars apars, octetstring payload, integer ran_index := 0) runs on BSSGP_ConnHdlr { /* Send PDU via SNDCP/LLC/BSSGP/NS via simulated MS/PCU to the SGSN */ var GtpPeer peer := valueof(ts_GtpPeerU(apars.sgsn_ip_u)); var PDU_SN sndcp := valueof(ts_SN_UD(apars.nsapi, payload)); - BSSGP[gb_idx].send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0)); + BSSGP[ran_index].send(ts_LLC_UI(enc_PDU_SN(sndcp), apars.sapi, '0'B, 0)); /* Expect PDU via GTP from SGSN on simulated GGSN */ alt { [] GTP.receive(tr_GTPU_GPDU(peer, apars.ggsn_tei_u, payload)); diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 64d829d..472774e 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -15,7 +15,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); setverdict(pass); } testcase TC_iu_attach() runs on test_CT { @@ -40,7 +40,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); /* do a routing area update */ f_routing_area_update(g_pars.ra); @@ -63,7 +63,7 @@ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 0); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0); /* do a routing area update */ f_routing_area_update(g_pars.ra, bssgp := 3); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia119feee6a442c76dc337e75c07f4a385cd5e1df Gerrit-Change-Number: 15529 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:57:04 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:57:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: replace variable bssgp with ran_index In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 ) Change subject: sgsn: replace variable bssgp with ran_index ...................................................................... sgsn: replace variable bssgp with ran_index Since bssgp also been used for Iu connection, rename the variable to ran_index. Be consistent and use the same variable name everywhere. Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 --- M sgsn/SGSN_Tests.ttcn M sgsn/SGSN_Tests_Iu.ttcn 2 files changed, 15 insertions(+), 15 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 10e98a8..d96767a 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2362,44 +2362,44 @@ f_cleanup(); } -friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { +friend function f_routing_area_update(RoutingAreaIdentificationV ra, integer ran_index := 0) runs on BSSGP_ConnHdlr { var PDU_L3_SGSN_MS l3_mt; var PDU_DTAP_PS_MT mt; var template OCT4 p_tmsi := omit; - if (is_iu(bssgp)) { + if (is_iu(ran_index)) { p_tmsi := g_pars.p_tmsi; } /* then send RAU */ - f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), bssgp); + f_send_l3(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit, p_tmsi), ran_index); alt { - [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { - f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); - f_send_l3(ts_GMM_RAU_COMPL, bssgp); + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_RAU_ACCEPT) -> value l3_mt { + f_process_rau_accept(l3_mt.msgs.gprs_mm.routingAreaUpdateAccept, ran_index); + f_send_l3(ts_GMM_RAU_COMPL, ran_index); setverdict(pass); } - [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { - f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, bssgp); - f_send_l3(ts_GMM_RAU_COMPL, bssgp); + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_ACCEPT)) -> value mt { + f_process_rau_accept(mt.dtap.msgs.gprs_mm.routingAreaUpdateAccept, ran_index); + f_send_l3(ts_GMM_RAU_COMPL, ran_index); setverdict(pass); } - [is_gb(bssgp)] BSSGP[bssgp].receive(tr_GMM_RAU_REJECT) { + [is_gb(ran_index)] BSSGP[ran_index].receive(tr_GMM_RAU_REJECT) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [is_iu(bssgp)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { + [is_iu(ran_index)] BSSAP.receive(tr_PDU_DTAP_PS_MT(tr_GMM_RAU_REJECT)) { setverdict(fail, "Unexpected RAU Reject"); mtc.stop; } - [is_iu(bssgp)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), + [is_iu(ran_index)] BSSAP.receive(tr_RANAP_SecurityModeCmd(uia_algs := ?, uia_key := oct2bit(g_pars.vec.ik), key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); } - [is_gb(bssgp)] BSSGP[bssgp].receive { repeat; } - [is_iu(bssgp)] BSSAP.receive { repeat; } + [is_gb(ran_index)] BSSGP[ran_index].receive { repeat; } + [is_iu(ran_index)] BSSAP.receive { repeat; } } } diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 472774e..786961f 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -66,7 +66,7 @@ f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0); /* do a routing area update */ - f_routing_area_update(g_pars.ra, bssgp := 3); + f_routing_area_update(g_pars.ra, ran_index := 3); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib278410bc49f07387873740ed8b411a815d940a8 Gerrit-Change-Number: 15399 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 13:57:43 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 13:57:43 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce ranap_iu_tx_release_free() In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15473 ) Change subject: iu_client: introduce ranap_iu_tx_release_free() ...................................................................... iu_client: introduce ranap_iu_tx_release_free() ranap_iu_tx_release_free is a fire and forget function to release gracefully if possible. It first sends a Iu Release Command. After a certain timeout the connection will be released. Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 28 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index 41d04bc..bcbf5de 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -8,3 +8,4 @@ # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line libranap iu_client.h struct ranap_ue_conn_ctx: add field notification +libranap iu_client.h struct ranap_ue_conn_ctx: add field release_timeout diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index b388529..a93fff3 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -31,6 +31,8 @@ struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; bool notification; /* send notification to the upstream user */ + /* Will be set when the Iu Release Command has been sent */ + struct osmo_timer_list release_timeout; }; enum ranap_iu_event_type { @@ -71,6 +73,13 @@ int ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi); int ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause); +/* transmit a Iu Release Command and free the ctx afterwards. + * If a Release Complete is not received within timeout s, + * release the SCCP connection. */ +void ranap_iu_tx_release_free(struct ranap_ue_conn_ctx *ctx, + const struct RANAP_Cause *cause, + int timeout); + /* freeing the UE will release all resources * This will close the SCCP connection connected to the UE */ void ranap_iu_free_ue(struct ranap_ue_conn_ctx *ue_ctx); diff --git a/src/iu_client.c b/src/iu_client.c index 38c8a1d..e4eb83e 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -129,6 +129,9 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; ctx->notification = true; + osmo_timer_setup(&ctx->release_timeout, + (void *)(void *) ranap_iu_free_ue, + ctx); llist_add(&ctx->list, &ue_conn_ctx_list); return ctx; @@ -150,6 +153,7 @@ if (!ue_ctx) return; + osmo_timer_del(&ue_ctx->release_timeout); osmo_sccp_tx_disconn(g_scu, ue_ctx->conn_id, NULL, 0); llist_del(&ue_ctx->list); talloc_free(ue_ctx); @@ -491,6 +495,20 @@ return osmo_sccp_user_sap_down(g_scu, &prim->oph); } +void ranap_iu_tx_release_free(struct ranap_ue_conn_ctx *ctx, + const struct RANAP_Cause *cause, + int timeout) +{ + ctx->notification = false; + int ret = ranap_iu_tx_release(ctx, cause); + if (ret) { + ranap_iu_free_ue(ctx); + return; + } + + osmo_timer_schedule(&ctx->release_timeout, timeout, 0); +} + static int ranap_handle_co_iu_rel_req(struct ranap_ue_conn_ctx *ctx, RANAP_Iu_ReleaseRequestIEs_t *ies) { LOGPIU(LOGL_INFO, "Received Iu Release Request, Sending Release Command\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I349e2c61ba0131e233b7ab927dfced0bd461dd8f Gerrit-Change-Number: 15473 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:10:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 16 Sep 2019 14:10:46 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter sapi" command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: vty: add "logging filter sapi" command ...................................................................... Patch Set 2: It's a bit confusing to see that you're adding VTY commands and the related logic, and starting to use the logging context for PCU related code in the same change. Maybe rather split them up? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 14:10:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:16:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 14:16:09 +0000 Subject: Change in ...libosmocore[master]: logging.h: add SAPI related context and filter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add SAPI related context and filter ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 14:16:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:20:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 14:20:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter sapi" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter sapi" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15540/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/15540/1/bts/BTS_Tests.ttcn at 298 PS1, Line 298: f_vty_transceive(BTSVTY, "logging disable"); I think logging is always disabled by default, no need for this? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 14:20:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:21:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 14:21:22 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef for BSSGP T1 and T2 In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15427 ) Change subject: Use osmo_tdef for BSSGP T1 and T2 ...................................................................... Use osmo_tdef for BSSGP T1 and T2 Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f --- M src/bts.cpp M src/gprs_bssgp_pcu.cpp 2 files changed, 9 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 1b2ab2f..2600d72 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -77,6 +77,8 @@ { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; static struct osmo_tdef T_defs_pcu[] = { + { .T=1, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP (un)blocking procedures timer (s)", .val=0 }, + { .T=2, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP reset procedure timer (s)", .val=0 }, { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index ce56154..abcb106 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -33,9 +33,6 @@ #include "coding_scheme.h" } -#define BSSGP_TIMER_T1 30 /* Guards the (un)blocking procedures */ -#define BSSGP_TIMER_T2 30 /* Guards the reset procedure */ - /* Tuning parameters for BSSGP flow control */ #define FC_DEFAULT_LIFE_TIME_SECS 10 /* experimental value, 10s */ #define FC_MS_BUCKET_SIZE_BY_BMAX(bmax) ((bmax) / 2 + 500) /* experimental */ @@ -830,10 +827,12 @@ static void bvc_timeout(void *_priv) { + unsigned long secs; if (!the_pcu.bvc_sig_reset) { LOGP(DBSSGP, LOGL_INFO, "Sending reset on BVCI 0\n"); bssgp_tx_bvc_reset(the_pcu.bctx, 0, BSSGP_CAUSE_OML_INTERV); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T2, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs_pcu, 2, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } @@ -841,7 +840,8 @@ LOGP(DBSSGP, LOGL_INFO, "Sending reset on BVCI %d\n", the_pcu.bctx->bvci); bssgp_tx_bvc_reset(the_pcu.bctx, the_pcu.bctx->bvci, BSSGP_CAUSE_OML_INTERV); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T2, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs_pcu, 2, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } @@ -849,7 +849,8 @@ LOGP(DBSSGP, LOGL_INFO, "Sending unblock on BVCI %d\n", the_pcu.bctx->bvci); bssgp_tx_bvc_unblock(the_pcu.bctx); - osmo_timer_schedule(&the_pcu.bvc_timer, BSSGP_TIMER_T1, 0); + secs = osmo_tdef_get(the_pcu.bts->T_defs_pcu, 1, OSMO_TDEF_S, -1); + osmo_timer_schedule(&the_pcu.bvc_timer, secs, 0); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I477e5b702c8b956136d93fc1cee01991233e381f Gerrit-Change-Number: 15427 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:21:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 14:21:22 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement T3190 In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15451 ) Change subject: Use osmo_tdef to implement T3190 ...................................................................... Use osmo_tdef to implement T3190 Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp 3 files changed, 4 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 2600d72..ae6117e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -79,6 +79,7 @@ static struct osmo_tdef T_defs_pcu[] = { { .T=1, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP (un)blocking procedures timer (s)", .val=0 }, { .T=2, .default_val=30, .unit=OSMO_TDEF_S, .desc="BSSGP reset procedure timer (s)", .val=0 }, + { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, diff --git a/src/bts.h b/src/bts.h index 6af6d52..5e7eeae 100644 --- a/src/bts.h +++ b/src/bts.h @@ -271,10 +271,6 @@ STAT_MS_PRESENT, }; - enum { - TIMER_T3190_MSEC = 5000, - }; - BTS(); ~BTS(); void cleanup(); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 7356523..da54d9f 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -247,8 +247,9 @@ uint8_t ts, uint32_t fn, int age) { const gprs_rlc_dl_window *w = tbf->window(); - int age_thresh1 = msecs_to_frames(200), - age_thresh2 = msecs_to_frames(OSMO_MIN(BTS::TIMER_T3190_MSEC/2, bts->dl_tbf_idle_msec)); + unsigned long msecs = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + int age_thresh1 = msecs_to_frames(200); + int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs/2, bts->dl_tbf_idle_msec)); if (tbf->is_control_ts(ts) && tbf->need_control_ts()) return DL_PRIO_CONTROL; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0c767c526398d98ca47ef98fdaccfc23af11fb0d Gerrit-Change-Number: 15451 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:21:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 14:21:23 +0000 Subject: Change in ...osmo-pcu[master]: tests: TbfTest: Unify stderr and stdout to ease debugging In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15452 ) Change subject: tests: TbfTest: Unify stderr and stdout to ease debugging ...................................................................... tests: TbfTest: Unify stderr and stdout to ease debugging osmo-pcu code is really verbose, and since log lines printing start and end of tests are sent to a different file, it's really difficult to understand which test outputs what. Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 --- M tests/Makefile.am M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err D tests/tbf/TbfTest.ok M tests/testsuite.at 5 files changed, 153 insertions(+), 154 deletions(-) Approvals: laforge: Looks good to me, approved lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index 42dade9..c599636 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -138,7 +138,7 @@ testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ rlcmac/RLCMACTest.ok rlcmac/RLCMACTest.err \ alloc/AllocTest.ok alloc/AllocTest.err \ - tbf/TbfTest.ok tbf/TbfTest.err \ + tbf/TbfTest.err \ bitcomp/BitcompTest.ok bitcomp/BitcompTest.err \ types/TypesTest.ok types/TypesTest.err \ ms/MsTest.ok ms/MsTest.err alloc/MslotTest.ok \ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 8d1b344..5bf94b5 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -61,12 +61,12 @@ static void test_tbf_base() { - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); OSMO_ASSERT(GPRS_RLCMAC_DL_TBF == reverse(GPRS_RLCMAC_UL_TBF)); OSMO_ASSERT(GPRS_RLCMAC_UL_TBF == reverse(GPRS_RLCMAC_DL_TBF)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_tlli_update() @@ -74,7 +74,7 @@ BTS the_bts; GprsMs *ms, *ms_new; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[2].enable(); @@ -134,7 +134,7 @@ OSMO_ASSERT(ul_tbf->ta() == 6); OSMO_ASSERT(dl_tbf->ta() == 6); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static uint8_t llc_data[200]; @@ -241,7 +241,7 @@ uint8_t rbb[64/8]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); gprs_rlcmac_dl_tbf *dl_tbf; gprs_rlcmac_tbf *new_tbf; @@ -297,7 +297,7 @@ OSMO_ASSERT(ms->dl_tbf() == NULL); } - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* Receive an ACK */ @@ -322,7 +322,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -373,7 +373,7 @@ TBF_SET_ASS_STATE_DL(dl_tbf, GPRS_RLCMAC_DL_ASS_NONE); check_tbf(dl_tbf); tbf_free(dl_tbf); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_imsi() @@ -386,7 +386,7 @@ gprs_rlcmac_dl_tbf *dl_tbf[2]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no); @@ -431,7 +431,7 @@ ms1 = the_bts.ms_store().get_ms(0, 0, "001001000000002"); OSMO_ASSERT(ms1 == NULL); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_exhaustion() @@ -445,7 +445,7 @@ uint8_t buf[256] = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -472,7 +472,7 @@ } OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -497,7 +497,7 @@ abort(); } - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); @@ -550,13 +550,13 @@ msg = ms->dl_tbf()->create_dl_acked_block(fn += 4, 7); fprintf(stderr, "MSG = %s\n", msgb_hexdump(msg)); if (!msgb_eq_data_print(msg, exp[expected_data - 1], GSM_MACBLOCK_LEN)) - printf("%s failed at %u\n", __func__, expected_data); + fprintf(stderr, "%s failed at %u\n", __func__, expected_data); expected_data += 1; } OSMO_ASSERT(expected_data-1 == 3); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -756,7 +756,7 @@ }; if (!msgb_eq_data_print(msg1, exp1, GSM_MACBLOCK_LEN)) { - printf("%s test failed on 1st segment!\n", __func__); + fprintf(stderr, "%s test failed on 1st segment!\n", __func__); return NULL; } @@ -783,7 +783,7 @@ }; if (!msgb_eq_data_print(msg1, exp2, GSM_MACBLOCK_LEN)) { - printf("%s test failed on 2nd segment!\n", __func__); + fprintf(stderr, "%s test failed on 2nd segment!\n", __func__); return NULL; } return ul_tbf; @@ -1712,7 +1712,7 @@ uint16_t qta = 31; gprs_rlcmac_ul_tbf *ul_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no); @@ -1721,7 +1721,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, (const uint8_t *)"TEST", 4); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase_puan(void) @@ -1738,7 +1738,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -1775,7 +1775,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* * Trigger rach for single block @@ -1787,7 +1787,7 @@ uint16_t qta = 31; int ts_no = 7; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1806,7 +1806,7 @@ OSMO_ASSERT(rc == -EINVAL); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* @@ -1819,7 +1819,7 @@ uint16_t qta = 31; int ts_no = 7; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1850,7 +1850,7 @@ OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_immediate_assign_rej() @@ -1870,7 +1870,7 @@ uint8_t ms_class = 1; gprs_rlcmac_ul_tbf *ul_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1880,7 +1880,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, (const uint8_t *)"TEST", 4); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static inline void print_ms(const GprsMs *ms, bool old) @@ -1902,7 +1902,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -1950,7 +1950,7 @@ ms = the_bts.ms_by_tlli(tlli2); OSMO_ASSERT(ms == ms2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_dl_flow_and_rach_two_phase() @@ -1966,7 +1966,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2008,7 +2008,7 @@ /* No queued packets should be lost */ OSMO_ASSERT(ms->llc_queue()->size() == 2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } @@ -2025,7 +2025,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; GprsMs *ms, *ms1, *ms2; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2067,7 +2067,7 @@ /* No queued packets should be lost */ OSMO_ASSERT(ms->llc_queue()->size() == 2); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_dl_reuse() @@ -2085,7 +2085,7 @@ unsigned i; RlcMacUplink_t ulreq = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 1); @@ -2165,7 +2165,7 @@ OSMO_ASSERT(ms2->dl_tbf()); OSMO_ASSERT(ms2->dl_tbf()->state_is(GPRS_RLCMAC_FINISHED)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_gprs_egprs() @@ -2181,7 +2181,7 @@ uint8_t buf[256] = {0}; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2202,7 +2202,7 @@ delay_csec, buf, sizeof(buf)); OSMO_ASSERT(rc == -EBUSY); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); gprs_bssgp_destroy(); } @@ -2230,7 +2230,7 @@ tbf_free(dl_tbf); if (end) { - printf("=== end %s ===\n", test); + fprintf(stderr, "=== end %s ===\n", test); gprs_bssgp_destroy(); } } @@ -2243,7 +2243,7 @@ uint8_t ms_class = 12; gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2286,7 +2286,7 @@ uint8_t ms_class = 11; gprs_rlcmac_dl_tbf *dl_tbf; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); if (!bssgp_nsi) { @@ -2334,7 +2334,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2348,7 +2348,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static gprs_rlcmac_ul_tbf *tbf_li_decoding(BTS *the_bts, @@ -2479,7 +2479,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2493,7 +2493,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } /* @@ -2522,7 +2522,7 @@ memset(&ul_control_block, 0, sizeof(RlcMacUplink_t)); - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -2589,7 +2589,7 @@ bitvec_free(block); tbf_free(dl_tbf); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase_spb(void) @@ -2605,7 +2605,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2619,7 +2619,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_two_phase() @@ -2635,7 +2635,7 @@ gprs_rlcmac_ul_tbf *ul_tbf; uint8_t test_data[256]; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); memset(test_data, 1, sizeof(test_data)); @@ -2649,7 +2649,7 @@ print_ta_tlli(ul_tbf, true); send_dl_data(&the_bts, tlli, imsi, test_data, sizeof(test_data)); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void establish_and_use_egprs_dl_tbf(BTS *the_bts, int mcs) @@ -2666,7 +2666,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; - printf("Testing MCS-%d\n", mcs); + fprintf(stderr, "Testing MCS-%d\n", mcs); memset(test_data, 1, sizeof(test_data)); the_bts->bts_data()->initial_mcs_dl = mcs; @@ -2794,7 +2794,7 @@ struct gprs_rlc_dl_header_egprs_3 *egprs3; struct gprs_rlc_dl_header_egprs_2 *egprs2; - printf("Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -2874,7 +2874,7 @@ struct msgb *msg; struct gprs_rlc_dl_header_egprs_3 *egprs3; - printf("Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u to reseg_mcs %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -2962,7 +2962,7 @@ gprs_rlcmac_dl_tbf *dl_tbf; struct msgb *msg; - printf("Testing retx for MCS %u - %u\n", mcs, demanded_mcs); + fprintf(stderr, "Testing retx for MCS %u - %u\n", mcs, demanded_mcs); dl_tbf = tbf_init(the_bts, mcs); @@ -3057,7 +3057,7 @@ gprs_rlcmac_bts *bts; uint8_t ts_no = 4; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; @@ -3077,7 +3077,7 @@ establish_and_use_egprs_dl_tbf_for_retx(&the_bts, 7, 5); establish_and_use_egprs_dl_tbf_for_retx(&the_bts, 9, 6); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_spb_dl(void) @@ -3086,7 +3086,7 @@ gprs_rlcmac_bts *bts; uint8_t ts_no = 4; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; @@ -3108,7 +3108,7 @@ /* check MCS6->(MCS3+MCS3)->MCS6 case */ egprs_spb_to_normal_validation(&the_bts, 6, 3); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_tbf_egprs_dl() @@ -3118,7 +3118,7 @@ uint8_t ts_no = 4; int i; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -3131,7 +3131,7 @@ for (i = 1; i <= 9; i++) establish_and_use_egprs_dl_tbf(&the_bts, i); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } @@ -3145,7 +3145,7 @@ uint32_t tlli = 0xffeeddcc; struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -3166,7 +3166,7 @@ ul_tbf->handle_timeout(); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } static void test_packet_access_rej_prr() @@ -3186,7 +3186,7 @@ MS_Radio_Access_capability_t *pmsradiocap = NULL; Multislot_capability_t *pmultislotcap = NULL; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, ts_no, 4); @@ -3241,7 +3241,7 @@ OSMO_ASSERT(rc == 0); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } void test_packet_access_rej_epdan() @@ -3253,7 +3253,7 @@ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b }; - printf("=== start %s ===\n", __func__); + fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(&the_bts, 4); static gprs_rlcmac_dl_tbf *dl_tbf = tbf_init(&the_bts, 1); @@ -3261,13 +3261,13 @@ struct msgb *msg = dl_tbf->create_packet_access_reject(); - printf("packet reject: %s\n", + fprintf(stderr, "packet reject: %s\n", osmo_hexdump(msg->data, 23)); if (!msgb_eq_data_print(msg, exp, GSM_MACBLOCK_LEN)) - printf("%s test failed!\n", __func__); + fprintf(stderr, "%s test failed!\n", __func__); - printf("=== end %s ===\n", __func__); + fprintf(stderr, "=== end %s ===\n", __func__); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0bc1c42..7dd14f4 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1,3 +1,6 @@ +=== start test_tbf_base === +=== end test_tbf_base === +=== start test_tbf_tlli_update === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 Creating MS object, TLLI = 0x00000000 @@ -35,6 +38,8 @@ The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly Modifying MS object, TLLI = 0x00004232, TA 4 -> 6 +=== end test_tbf_tlli_update === +=== start test_tbf_final_ack === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -123,6 +128,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Destroying MS object, TLLI = 0xffeeddcc +=== end test_tbf_final_ack === +=== start test_tbf_final_ack === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -211,6 +218,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Destroying MS object, TLLI = 0xffeeddcc +=== end test_tbf_final_ack === +=== start test_tbf_delayed_release === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -464,6 +473,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_delayed_release === +=== start test_tbf_imsi === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -529,6 +540,8 @@ Detaching TBF from MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0xf1000002 ********** DL-TBF ends here ********** +=== end test_tbf_imsi === +=== start test_tbf_exhaustion === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -1336,7 +1349,9 @@ [DL] Slot Allocation (Algorithm A) for class 45 [DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) No PDCH resource +=== end test_tbf_exhaustion === Destroying MS object, TLLI = 0x00000000 +=== start test_tbf_dl_llc_loss === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 @@ -1424,6 +1439,8 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) Polling cannot be scheduled in this TS 7 (first control TS 4) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) msg block (BSN 2, CS-1): 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 MSG = 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +=== end test_tbf_dl_llc_loss === +=== start test_tbf_single_phase === Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654167 qta=31 is_11bit=0: @@ -1496,6 +1513,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=7 TA=7 pollFN=-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes +=== end test_tbf_single_phase === +=== start test_tbf_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1578,6 +1597,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes +=== end test_tbf_two_phase === +=== start test_tbf_ra_update_rach === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1777,6 +1798,8 @@ TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes Modifying MS object, TLLI: 0xf5667788 confirmed New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 +=== end test_tbf_ra_update_rach === +=== start test_tbf_dl_flow_and_rach_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -1948,6 +1971,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) No gaps in received block, last block: BSN=0 CV=15 New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 +=== end test_tbf_dl_flow_and_rach_two_phase === +=== start test_tbf_dl_flow_and_rach_single_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -2097,6 +2122,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 +=== end test_tbf_dl_flow_and_rach_single_phase === +=== start test_tbf_dl_reuse === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3031,8 +3058,12 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 +=== end test_tbf_dl_reuse === +=== start test_tbf_gprs_egprs === Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource +=== end test_tbf_gprs_egprs === +=== start test_tbf_ws === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 @@ -3111,6 +3142,8 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** +=== end test_tbf_ws === +=== start test_tbf_egprs_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3201,6 +3234,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase === +=== start test_tbf_egprs_two_phase_spb === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -3421,6 +3456,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase_spb === +=== start test_tbf_egprs_dl === +Testing MCS-1 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -3727,6 +3765,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-2 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -3983,6 +4022,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4201,6 +4241,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-4 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4387,6 +4428,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-5 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4553,6 +4595,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4701,6 +4744,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-7 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4844,6 +4888,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-8 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -4976,6 +5021,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing MCS-9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5108,6 +5154,9 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_dl === +=== start test_tbf_egprs_retx_dl === +Testing retx for MCS 6 - 6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5163,6 +5212,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 1 - 9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5218,6 +5268,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 2 - 8 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5273,6 +5324,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 5 - 7 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5344,6 +5396,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 6 - 9 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5415,6 +5468,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 7 - 5 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5486,6 +5540,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 9 - 6 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5557,6 +5612,9 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_retx_dl === +=== start test_tbf_egprs_spb_dl === +Testing retx for MCS 6 to reseg_mcs 3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5619,6 +5677,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 5 to reseg_mcs 2 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5681,6 +5740,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 4 to reseg_mcs 1 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5743,6 +5803,7 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +Testing retx for MCS 6 to reseg_mcs 3 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -5812,6 +5873,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_egprs_spb_dl === +=== start test_tbf_puan_urbb_len === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -5921,6 +5984,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_puan_urbb_len === +=== start test_tbf_update_ws === ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 @@ -5973,6 +6038,8 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** +=== end test_tbf_update_ws === +=== start test_tbf_li_decoding === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -6076,6 +6143,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_li_decoding === +=== start test_tbf_epdan_out_of_rx_window === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -6115,6 +6184,8 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** +=== end test_tbf_epdan_out_of_rx_window === +=== start test_immediate_assign_rej_multi_block === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 @@ -6305,11 +6376,15 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available No PDCH resource sending Immediate Assignment Uplink (AGCH) reject +=== end test_immediate_assign_rej_multi_block === Destroying MS object, TLLI = 0x00000000 +=== start test_immediate_assign_rej_single_block === MS requests UL TBF on RACH, so we provide one: ra=0x70 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation No PDCH available. No PDCH resource for single block allocation.sending Immediate Assignment Uplink (AGCH) reject +=== end test_immediate_assign_rej_single_block === +=== start test_tbf_egprs_two_phase_puan === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 @@ -7711,6 +7786,8 @@ Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes +=== end test_tbf_egprs_two_phase_puan === +=== start test_packet_access_rej_epdan === Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** @@ -7736,6 +7813,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 100 bytes +packet reject: 40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +=== end test_packet_access_rej_epdan === +=== start test_packet_access_rej_prr === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 @@ -7940,7 +8020,9 @@ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +=== end test_packet_access_rej_prr === Destroying MS object, TLLI = 0x00000000 +=== start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN @@ -7955,3 +8037,4 @@ Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Destroying MS object, TLLI = 0xffeeddcc ********** UL-TBF ends here ********** +=== end test_packet_access_rej_prr_no_other_tbfs === diff --git a/tests/tbf/TbfTest.ok b/tests/tbf/TbfTest.ok deleted file mode 100644 index 077ec4e..0000000 --- a/tests/tbf/TbfTest.ok +++ /dev/null @@ -1,83 +0,0 @@ -=== start test_tbf_base === -=== end test_tbf_base === -=== start test_tbf_tlli_update === -=== end test_tbf_tlli_update === -=== start test_tbf_final_ack === -=== end test_tbf_final_ack === -=== start test_tbf_final_ack === -=== end test_tbf_final_ack === -=== start test_tbf_delayed_release === -=== end test_tbf_delayed_release === -=== start test_tbf_imsi === -=== end test_tbf_imsi === -=== start test_tbf_exhaustion === -=== end test_tbf_exhaustion === -=== start test_tbf_dl_llc_loss === -=== end test_tbf_dl_llc_loss === -=== start test_tbf_single_phase === -=== end test_tbf_single_phase === -=== start test_tbf_two_phase === -=== end test_tbf_two_phase === -=== start test_tbf_ra_update_rach === -=== end test_tbf_ra_update_rach === -=== start test_tbf_dl_flow_and_rach_two_phase === -=== end test_tbf_dl_flow_and_rach_two_phase === -=== start test_tbf_dl_flow_and_rach_single_phase === -=== end test_tbf_dl_flow_and_rach_single_phase === -=== start test_tbf_dl_reuse === -=== end test_tbf_dl_reuse === -=== start test_tbf_gprs_egprs === -=== end test_tbf_gprs_egprs === -=== start test_tbf_ws === -=== end test_tbf_ws === -=== start test_tbf_egprs_two_phase === -=== end test_tbf_egprs_two_phase === -=== start test_tbf_egprs_two_phase_spb === -=== end test_tbf_egprs_two_phase_spb === -=== start test_tbf_egprs_dl === -Testing MCS-1 -Testing MCS-2 -Testing MCS-3 -Testing MCS-4 -Testing MCS-5 -Testing MCS-6 -Testing MCS-7 -Testing MCS-8 -Testing MCS-9 -=== end test_tbf_egprs_dl === -=== start test_tbf_egprs_retx_dl === -Testing retx for MCS 6 - 6 -Testing retx for MCS 1 - 9 -Testing retx for MCS 2 - 8 -Testing retx for MCS 5 - 7 -Testing retx for MCS 6 - 9 -Testing retx for MCS 7 - 5 -Testing retx for MCS 9 - 6 -=== end test_tbf_egprs_retx_dl === -=== start test_tbf_egprs_spb_dl === -Testing retx for MCS 6 to reseg_mcs 3 -Testing retx for MCS 5 to reseg_mcs 2 -Testing retx for MCS 4 to reseg_mcs 1 -Testing retx for MCS 6 to reseg_mcs 3 -=== end test_tbf_egprs_spb_dl === -=== start test_tbf_puan_urbb_len === -=== end test_tbf_puan_urbb_len === -=== start test_tbf_update_ws === -=== end test_tbf_update_ws === -=== start test_tbf_li_decoding === -=== end test_tbf_li_decoding === -=== start test_tbf_epdan_out_of_rx_window === -=== end test_tbf_epdan_out_of_rx_window === -=== start test_immediate_assign_rej_multi_block === -=== end test_immediate_assign_rej_multi_block === -=== start test_immediate_assign_rej_single_block === -=== end test_immediate_assign_rej_single_block === -=== start test_tbf_egprs_two_phase_puan === -=== end test_tbf_egprs_two_phase_puan === -=== start test_packet_access_rej_epdan === -packet reject: 40 84 7f f7 6e e6 41 4b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -=== end test_packet_access_rej_epdan === -=== start test_packet_access_rej_prr === -=== end test_packet_access_rej_prr === -=== start test_packet_access_rej_prr_no_other_tbfs === -=== end test_packet_access_rej_prr_no_other_tbfs === diff --git a/tests/testsuite.at b/tests/testsuite.at index 09b0247..8a319bd 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -24,9 +24,8 @@ AT_SETUP([tbf]) AT_KEYWORDS([tbf]) -cat $abs_srcdir/tbf/TbfTest.ok > expout cat $abs_srcdir/tbf/TbfTest.err > experr -AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/tbf/TbfTest], [0], [expout], [experr]) +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/tbf/TbfTest], [0], [ignore], [experr]) AT_CLEANUP AT_SETUP([bitcomp]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e887158e2c9585c360d44f12f995f55861170f2 Gerrit-Change-Number: 15452 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:54:20 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 16 Sep 2019 14:54:20 +0000 Subject: Change in ...osmo-sip-connector[master]: .service: require to ran after network-online.target In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 ) Change subject: .service: require to ran after network-online.target ...................................................................... Patch Set 1: Code-Review+1 I've verified this in production. -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a Gerrit-Change-Number: 15533 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 14:54:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 14:57:11 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 16 Sep 2019 14:57:11 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: > Assume osmo-sip-connector is only managed through the VTY. By > exiting one loses the ability to ever fix that. Hi zecke! https://osmocom.org/issues/4197 In the bug report, I suggested we might also retry the bind. Is it something you feel strongly enough about to send a patch to do that? -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 14:57:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:04:10 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 16 Sep 2019 15:04:10 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: > Assume osmo-sip-connector is only managed through the VTY. By > exiting one loses the ability to ever fix that. If it were only managed by the VTY, one could access the VTY and change the config, but as far as I am aware, there's no way to trigger a rebind or force app restart from the vty, is that correct? -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 15:04:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:14:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Sep 2019 15:14:15 +0000 Subject: Change in ...osmo-sip-connector[master]: exit if the sip agent failed to start In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 ) Change subject: exit if the sip agent failed to start ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I22ed16c77391b4f270df498dda587ed657279390 Gerrit-Change-Number: 15532 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-Comment-Date: Mon, 16 Sep 2019 15:14:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:17:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Sep 2019 15:17:16 +0000 Subject: Change in ...libosmocore[master]: logging.h: add SAPI related context and filter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add SAPI related context and filter ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15538/1/include/osmocom/core/logging.h File include/osmocom/core/logging.h: https://gerrit.osmocom.org/#/c/15538/1/include/osmocom/core/logging.h at 157 PS1, Line 157: LOG_CTX_PCU_IF_DATA this doesn't really explain what it is about. The above elements in the enum are self-explanatory, as it's quite clear what a NSVC, BVC or subscriber is. But what's PCU_IF_DATA? Also if this is about filtering by L1 SAPI, then make sure that L1 SAPI is mentioned. SAPIs exist potentially at any SAP, and there are plenty of SAPs in the protocol stacks: one at every layer boundary. Furthermore, if we introduce something to libosmocore which is about L1 SAPI filtering, and we do have a L1 SAP (and hence L1 SAPI) in multiple programs, why is something called "PCU" here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 15:17:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:18:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 16 Sep 2019 15:18:41 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter sapi" command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: vty: add "logging filter sapi" command ...................................................................... Patch Set 2: why is this "PCU" related? I really don't get how the PCU plays into all of this. The L1 SAPI is a property of the L1. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 16 Sep 2019 15:18:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:33:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 15:33:08 +0000 Subject: Change in ...osmo-trx[master]: Log RACH burst detection In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/15536 to look at the new patch set (#2). Change subject: Log RACH burst detection ...................................................................... Log RACH burst detection Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 --- M Transceiver52M/sigProcLib.cpp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/36/15536/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 Gerrit-Change-Number: 15536 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:33:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 15:33:09 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Mark setRxGain as virtual Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15541 Change subject: radioInterface: Mark setRxGain as virtual ...................................................................... radioInterface: Mark setRxGain as virtual Otherwise the parent function is always called even if the iface is radioInterfaceMult. Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a --- M Transceiver52M/radioInterface.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/41/15541/1 diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 6f4deaa..d72fb69 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -107,7 +107,7 @@ virtual bool tuneRx(double freq, size_t chan = 0); /** set receive gain */ - double setRxGain(double dB, size_t chan = 0); + virtual double setRxGain(double dB, size_t chan = 0); /** drive transmission of GSM bursts */ void driveTransmitRadio(std::vector &bursts, @@ -182,5 +182,5 @@ bool tuneTx(double freq, size_t chan); bool tuneRx(double freq, size_t chan); - double setRxGain(double dB, size_t chan); + virtual double setRxGain(double dB, size_t chan); }; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a Gerrit-Change-Number: 15541 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:33:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 15:33:09 +0000 Subject: Change in ...osmo-trx[master]: Move multi-ARFCN chan amount modification from UHDDevice to parent class Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15542 Change subject: Move multi-ARFCN chan amount modification from UHDDevice to parent class ...................................................................... Move multi-ARFCN chan amount modification from UHDDevice to parent class This way switch is applied correctly to parent structures and features can be used later by other children classes (other devices). Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d --- M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/uhd/UHDDevice.cpp 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/42/15542/1 diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 1d85204..d27a52c 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -171,12 +171,17 @@ std::vector tx_paths, rx_paths; std::vector m_ctr; - RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chans, double offset, + RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chan_num, double offset, const std::vector& tx_paths, const std::vector& rx_paths): - tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chans), lo_offset(offset), + tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chan_num), lo_offset(offset), tx_paths(tx_paths), rx_paths(rx_paths) { + if (iface == MULTI_ARFCN) { + LOGC(DDEV, INFO) << "Multi-ARFCN: "<< chan_num << " logical chans -> 1 physical chans"; + chans = 1; + } + m_ctr.resize(chans); for (size_t i = 0; i < chans; i++) { memset(&m_ctr[i], 0, sizeof(m_ctr[i])); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 809bade..604bb44 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -382,7 +382,6 @@ if (dev_type != B200 && dev_type != B210) throw std::invalid_argument("Device does not support MCBTS"); dev_type = B2XX_MCBTS; - chans = 1; } if (chans > dev_param_map.at(dev_key(dev_type, tx_sps, rx_sps)).channels) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d Gerrit-Change-Number: 15542 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 15:43:03 +0000 Subject: Change in ...osmo-bts[master]: doc: bts-models.adoc: Fix typos in rts-advance section Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15543 Change subject: doc: bts-models.adoc: Fix typos in rts-advance section ...................................................................... doc: bts-models.adoc: Fix typos in rts-advance section Change-Id: I37ba104ec0538f8eb9345ff880660aefbdaa44ca --- M doc/manuals/chapters/bts-models.adoc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/15543/1 diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index e1f8d9a..31c5147 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -282,11 +282,11 @@ number as reported by OsmoTRX *and* the `osmotrx fn-advance` in order to generate the PH-RTS.ind (ready to send indications) across the L1SAP interface inside osmo-bts. This will trigger the Layer 2 (LAPDm for -the ocntrol plane, RTP for the voice plane, and OsmoPCU for GPRS) to +the control plane, RTP for the voice plane, and OsmoPCU for GPRS) to generate a MAC block and input it into the osmo-bts-trx TDMA scheduler. If OsmoTRX reported N as the current frame number, the actual frame number -reported on L1SAP to higher layes will be computed as follows: +reported on L1SAP to higher layers will be computed as follows: N + fn-advance + rts-advance -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37ba104ec0538f8eb9345ff880660aefbdaa44ca Gerrit-Change-Number: 15543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:51:35 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Sep 2019 15:51:35 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... Patch Set 1: Code-Review-1 (2 comments) Found one side effect functional change, and got some style nitpicks https://gerrit.osmocom.org/#/c/15408/1/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/#/c/15408/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 343 PS1, Line 343: if (conn->lchan) { (would prefer the early-exit style; main flow remains undiffed) if (!conn->lchan) { log... state_chg... clear... break; } conn_fsm_state_chg(ST_ACTIVE); https://gerrit.osmocom.org/#/c/15408/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 671 PS1, Line 671: if (!conn->lchan && gscon_is_active(conn)) { Before, when we already were in the ST_CLEARING, we would still re-send the BSSMAP Clear Request again. I am not sure if that is desired, but if that needs to change, that should be a separate patch. It is fine for the BSC to send repeated Clear Requests, they are only polite hints for the MSC. Code design wise, it's not such a good idea to have gscon_is_active() listing all *other* states. If a new state gets added in the future, the author is almost guaranteed to forget to also change that function. Instead I would prefer to more explicitly except only this situation, e.g.: /* If the conn has no lchan anymore, it was released by the BTS and needs to Clear towards MSC. */ if (!conn->lchan) { switch (conn->fi_state) { case ST_INIT: case ST_WAIT_CC: /* The SCCP connection was not yet confirmed by a CC, the BSSAP is not fully established * yet. First wait for the CC, and release in gscon_fsm_wait_cc(). */ break; default: /* Ensure that the FSM is in ST_CLEARING. */ osmo_fsm_inst_state_chg(...ST_CLEARING...) /* fall thru, omit an error log if already in ST_CLEARING */ case ST_CLEARING: /* Request a Clear Command from the MSC. gscon_bssmap_clear([no diff] break; } } Are you sure that ST_INIT should also be in that condition? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 15:51:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 15:58:44 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 15:58:44 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15535/2/src/sgsn/gprs_sndcp.c File src/sgsn/gprs_sndcp.c: https://gerrit.osmocom.org/#/c/15535/2/src/sgsn/gprs_sndcp.c at 785 PS2, Line 785: OSMO_ASSERT(mmctx); > Don't assert here, better log error and drop the packet! It should never happen! Otherwise it should exit much earlier before calling this function when looking up the lle. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 15:58:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 16:07:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 16:07:02 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 16:07:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 16:10:55 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Sep 2019 16:10:55 +0000 Subject: Change in ...osmo-msc[master]: catch GSUP auth result without auth_fsm Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15544 Change subject: catch GSUP auth result without auth_fsm ...................................................................... catch GSUP auth result without auth_fsm When a vlr_subscr receives an Send Auth Info result, properly check whether the subscriber has an auth_fsm. Before, a missing auth_fsm would crash osmo-msc with: vlr.c:762 Trying to dispatch event 1 to non-existent FSM instance! Related: OS#4191 Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e --- M src/libvlr/vlr.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/44/15544/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index ea160b1..4ea3caa 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -757,6 +757,12 @@ struct osmo_fsm_inst *auth_fi = vsub->auth_fsm; void *data = (void *) gsup; + if (!auth_fi) { + LOGVSUBP(LOGL_ERROR, vsub, "Received GSUP %s, but there is no auth_fsm\n", + osmo_gsup_message_type_name(gsup->message_type)); + return -1; + } + switch (gsup->message_type) { case OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: osmo_fsm_inst_dispatch(auth_fi, VLR_AUTH_E_HLR_SAI_ACK, data); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e Gerrit-Change-Number: 15544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 16:21:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 16:21:52 +0000 Subject: Change in ...osmo-msc[master]: catch GSUP auth result without auth_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15544 ) Change subject: catch GSUP auth result without auth_fsm ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15544/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/15544/1/src/libvlr/vlr.c at 760 PS1, Line 760: if (!auth_fi) { Is it clear how can this happen? How it comes the subscriber has no fi? or it is fixing an unknown source problem? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e Gerrit-Change-Number: 15544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 16 Sep 2019 16:21:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 16:36:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 16:36:18 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: Hello fixeria, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 to look at the new patch set (#3). Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC TTCN3 BSC_Tests.TC_ms_rel_ind_does_not_cause_bssmap_reset seems to sometimes run into a race condition on the order of messages received by osmo-bsc comming from MSC and BTS. Usual (expected) scenario): BTS->BSC EST IND BSC->MSC CL3 Info BSC<-MSC CC BTS->BSC REL IND BTS<-BSC DEACT SACCH BSC->MSC ClearRequest BSC<-MSC ClearCommand BSC->MSC ClearComplete BTS<-BSC RF Chan Release BTS->BSC RF Chan Release ACK Sometimes CC message and REL IND message are received swapped (because they are sent by different components asynchronously in TTCN3). As a result, osmo-bsc was failing to go into CLEARING state and was unable to send the ClearRequest because CC was still not received. So the idea is to stay in WAIT_CC until CC is received, then check if the lchan was dropped and in that case go into clearing state. Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/15408/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:02:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 16 Sep 2019 17:02:06 +0000 Subject: Change in ...osmo-msc[master]: vty: fix access to wrong argv in paging response-timer Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15545 Change subject: vty: fix access to wrong argv in paging response-timer ...................................................................... vty: fix access to wrong argv in paging response-timer Fixes: 2ff5bcdc387a7eb5135e5a54d55027502952c86b Change-Id: I667cf4c8e3e7b6e77ea6ed8ae603727ad22a2ee2 --- M src/libmsc/msc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/45/15545/1 diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 09aef91..51504ef 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -557,7 +557,7 @@ "Set to default timeout (" OSMO_STRINGIFY_VAL(MSC_PAGING_RESPONSE_TIMER_DEFAULT) " seconds)\n" "Set paging timeout in seconds\n") { - if (!strcmp(argv[1], "default")) + if (!strcmp(argv[0], "default")) gsmnet->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT; else gsmnet->paging_response_timer = atoi(argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I667cf4c8e3e7b6e77ea6ed8ae603727ad22a2ee2 Gerrit-Change-Number: 15545 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:03:47 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Sep 2019 17:03:47 +0000 Subject: Change in ...osmo-msc[master]: vty: fix access to wrong argv in paging response-timer In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15545 ) Change subject: vty: fix access to wrong argv in paging response-timer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I667cf4c8e3e7b6e77ea6ed8ae603727ad22a2ee2 Gerrit-Change-Number: 15545 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 16 Sep 2019 17:03:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:11:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Sep 2019 17:11:20 +0000 Subject: Change in ...osmo-msc[master]: vty: fix access to wrong argv in paging response-timer In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15545 ) Change subject: vty: fix access to wrong argv in paging response-timer ...................................................................... vty: fix access to wrong argv in paging response-timer Fixes: 2ff5bcdc387a7eb5135e5a54d55027502952c86b Change-Id: I667cf4c8e3e7b6e77ea6ed8ae603727ad22a2ee2 --- M src/libmsc/msc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 09aef91..51504ef 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -557,7 +557,7 @@ "Set to default timeout (" OSMO_STRINGIFY_VAL(MSC_PAGING_RESPONSE_TIMER_DEFAULT) " seconds)\n" "Set paging timeout in seconds\n") { - if (!strcmp(argv[1], "default")) + if (!strcmp(argv[0], "default")) gsmnet->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT; else gsmnet->paging_response_timer = atoi(argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I667cf4c8e3e7b6e77ea6ed8ae603727ad22a2ee2 Gerrit-Change-Number: 15545 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:50:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 17:50:14 +0000 Subject: Change in ...osmo-iuh[master]: iu_client: introduce UE field free_on_release In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15474 ) Change subject: iu_client: introduce UE field free_on_release ...................................................................... iu_client: introduce UE field free_on_release Allow to free UE ctx when receiving a Iu Release Complete. In preparation of ranap_iu_tx_release_free() it requires a field to free the Iu ctx on it's own without depending on the upstream user. Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 --- M TODO-RELEASE M include/osmocom/ranap/iu_client.h M src/iu_client.c 3 files changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index bcbf5de..b967e56 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line libranap iu_client.h struct ranap_ue_conn_ctx: add field notification libranap iu_client.h struct ranap_ue_conn_ctx: add field release_timeout +libranap iu_client.h struct ranap_ue_conn_ctx: add field free_on_release diff --git a/include/osmocom/ranap/iu_client.h b/include/osmocom/ranap/iu_client.h index a93fff3..24a5af9 100644 --- a/include/osmocom/ranap/iu_client.h +++ b/include/osmocom/ranap/iu_client.h @@ -31,6 +31,8 @@ struct gprs_ra_id ra_id; enum ranap_nsap_addr_enc rab_assign_addr_enc; bool notification; /* send notification to the upstream user */ + /* if true the ue_ctx will be free on Iu release complete */ + bool free_on_release; /* Will be set when the Iu Release Command has been sent */ struct osmo_timer_list release_timeout; }; diff --git a/src/iu_client.c b/src/iu_client.c index e4eb83e..c309ce4 100644 --- a/src/iu_client.c +++ b/src/iu_client.c @@ -129,6 +129,7 @@ ctx->rnc = rnc; ctx->conn_id = conn_id; ctx->notification = true; + ctx->free_on_release = false; osmo_timer_setup(&ctx->release_timeout, (void *)(void *) ranap_iu_free_ue, ctx); @@ -500,6 +501,7 @@ int timeout) { ctx->notification = false; + ctx->free_on_release = true; int ret = ranap_iu_tx_release(ctx, cause); if (ret) { ranap_iu_free_ue(ctx); @@ -851,6 +853,13 @@ break; global_iu_event(ue, RANAP_IU_EVENT_LINK_INVALIDATED, NULL); + + /* A RANAP_IU_EVENT_LINK_INVALIDATED, can lead to a free */ + ue = ue_conn_ctx_find(prim->u.disconnect.conn_id); + if (!ue) + break; + if (ue->free_on_release) + ranap_iu_free_ue(ue); break; case OSMO_PRIM(OSMO_SCU_PRIM_N_DATA, PRIM_OP_INDICATION): /* connection-oriented data received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Iac41cd3cce3232d01b2f7ede0cc46226c2cfb6c0 Gerrit-Change-Number: 15474 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:54:13 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 17:54:13 +0000 Subject: Change in ...osmo-sip-connector[master]: .service: require to ran after network-online.target In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 ) Change subject: .service: require to ran after network-online.target ...................................................................... .service: require to ran after network-online.target Relates: OS#4197 Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a --- M contrib/systemd/osmo-sip-connector.service 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved keith: Looks good to me, but someone else must approve diff --git a/contrib/systemd/osmo-sip-connector.service b/contrib/systemd/osmo-sip-connector.service index a08f167..673aa53 100644 --- a/contrib/systemd/osmo-sip-connector.service +++ b/contrib/systemd/osmo-sip-connector.service @@ -1,5 +1,7 @@ [Unit] Description=Osmo SIP Connector +After=network-online.target +Wants=network-online.target [Service] Type=simple -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/15533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I09bf8139582ef198fdbe664be32b14d8c9c99f1a Gerrit-Change-Number: 15533 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:54:37 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 17:54:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 ) Change subject: Require to receive RANAP_CommonId after RANAP_SecurityModeComplete ...................................................................... Require to receive RANAP_CommonId after RANAP_SecurityModeComplete The SGSN will send a CommonId after it has sent SecurityModeComplete to support paging coordination in the RNC. Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index d96767a..281dcc9 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -661,6 +661,7 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) } } } else { @@ -2397,6 +2398,7 @@ key_sts := ?)) { var IntegrityProtectionAlgorithm uia_chosen := 0; /* 0 = standard_UMTS_integrity_algorithm_UIA1 */ BSSAP.send(ts_RANAP_SecurityModeComplete(uia_chosen)); + BSSAP.receive(tr_RANAP_CommonId(imsi_hex2oct(g_pars.imsi))) } [is_gb(ran_index)] BSSGP[ran_index].receive { repeat; } [is_iu(ran_index)] BSSAP.receive { repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I82a05cab2aeea25eec699f726b2f5c4b3eef7560 Gerrit-Change-Number: 15530 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 16 17:57:39 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 16 Sep 2019 17:57:39 +0000 Subject: Change in ...osmo-msc[master]: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15490 ) Change subject: vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument ...................................................................... vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument It's always set to OSMO_TERM_ERROR. Move the assignment to the caller. In prepartion to use gmm_cause_to_fsm_and_mm_cause() in vlr_auth_fsm. Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 --- M src/libvlr/vlr.c 1 file changed, 6 insertions(+), 16 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index ea160b1..a227240 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -917,11 +917,9 @@ return 0; } -static void gmm_cause_to_fsm_and_mm_cause(enum gsm48_gmm_cause gmm_cause, - enum osmo_fsm_term_cause *fsm_cause_p, - enum gsm48_reject_value *gsm48_rej_p) +static void gmm_cause_to_mm_cause(enum gsm48_gmm_cause gmm_cause, + enum gsm48_reject_value *gsm48_rej_p) { - enum osmo_fsm_term_cause fsm_cause = OSMO_FSM_TERM_ERROR; enum gsm48_reject_value gsm48_rej = GSM48_REJECT_NETWORK_FAILURE; switch (gmm_cause) { case GMM_CAUSE_IMSI_UNKNOWN: @@ -1004,16 +1002,8 @@ gsm48_rej = GSM48_REJECT_NETWORK_FAILURE; break; } - switch (gmm_cause) { - /* refine any error causes here? */ - default: - fsm_cause = OSMO_FSM_TERM_ERROR; - break; - } - if (fsm_cause_p) - *fsm_cause_p = fsm_cause; - if (gsm48_rej_p) - *gsm48_rej_p = gsm48_rej; + + *gsm48_rej_p = gsm48_rej; } /* Handle LOCATION CANCEL request from HLR */ @@ -1021,7 +1011,7 @@ const struct osmo_gsup_message *gsup_msg) { enum gsm48_reject_value gsm48_rej; - enum osmo_fsm_term_cause fsm_cause; + enum osmo_fsm_term_cause fsm_cause = OSMO_FSM_TERM_ERROR; struct osmo_gsup_message gsup_reply = {0}; int rc, is_update_procedure = !gsup_msg->cancel_type || gsup_msg->cancel_type == OSMO_GSUP_CANCEL_TYPE_UPDATE; @@ -1033,7 +1023,7 @@ gsup_reply.message_type = OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT; rc = vlr_subscr_tx_gsup_message(vsub, &gsup_reply); - gmm_cause_to_fsm_and_mm_cause(gsup_msg->cause, &fsm_cause, &gsm48_rej); + gmm_cause_to_mm_cause(gsup_msg->cause, &gsm48_rej); vlr_subscr_cancel_attach_fsm(vsub, fsm_cause, gsm48_rej); vlr_subscr_rx_imsi_detach(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie4720ad40ef7bcfc528d8d63bfc606c9c0545fb2 Gerrit-Change-Number: 15490 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon Sep 16 18:01:39 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 16 Sep 2019 18:01:39 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-sip-connector_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#1744?= Message-ID: <1787495416.208.1568656899087.JavaMail.jenkins@jenkins.osmocom.org> See Changes: [lynxis] .service: require to ran after network-online.target ------------------------------------------ [...truncated 28.28 KB...] CC backtrace.lo CC conv.lo CC application.lo CC rbtree.lo CC strrb.lo CC loggingrb.lo CC crc8gen.lo CC crc16gen.lo CC crc32gen.lo CC crc64gen.lo CC macaddr.lo CC stat_item.lo CC stats.lo CC stats_statsd.lo CC prim.lo CC conv_acc.lo CC conv_acc_generic.lo CC sercomm.lo CC prbs.lo CC isdnhdlc.lo CC tdef.lo CC sockaddr_str.lo CC use_count.lo CC conv_acc_sse.lo CC conv_acc_sse_avx.lo CC plugin.lo CC msgfile.lo CC serial.lo CCLD libosmocore.la make[4]: Entering directory ' make[4]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../libtool --mode=install /usr/bin/install -c libosmocore.la ' libtool: install: /usr/bin/install -c .libs/libosmocore.so.12.2.0 libtool: install: (cd && { ln -s -f libosmocore.so.12.2.0 libosmocore.so.12 || { rm -f libosmocore.so.12 && ln -s libosmocore.so.12.2.0 libosmocore.so.12; }; }) libtool: install: (cd && { ln -s -f libosmocore.so.12.2.0 libosmocore.so || { rm -f libosmocore.so && ln -s libosmocore.so.12.2.0 libosmocore.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmocore.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/vty make[2]: Entering directory ' CC buffer.lo CC command.lo CC vector.lo CC vty.lo CC telnet_interface.lo CC logging_vty.lo CC stats_vty.lo CC utils.lo utils.c: In function ?handle_counter?: utils.c:317:3: warning: ?osmo_counter_get? is deprecated: Implement as osmo_stat_item instead [-Wdeprecated-declarations] osmo_counter_get(counter), VTY_NEWLINE); ^~~~~~~~~~~~~~~~ In file included from utils.c:39:0: ../../include/osmocom/core/counter.h:35:29: note: declared here static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) ^~~~~~~~~~~~~~~~ CC fsm_vty.lo CC talloc_ctx_vty.lo CC tdef_vty.lo CCLD libosmovty.la make[3]: Entering directory ' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmovty.la ' libtool: warning: relinking 'libosmovty.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 8:0:4 -no-undefined -o libosmovty.la -rpath buffer.lo command.lo vty.lo vector.lo utils.lo telnet_interface.lo logging_vty.lo stats_vty.lo fsm_vty.lo talloc_ctx_vty.lo tdef_vty.lo ../../src/libosmocore.la -ltalloc ) libtool: install: /usr/bin/install -c .libs/libosmovty.so.4.4.0T libtool: install: (cd && { ln -s -f libosmovty.so.4.4.0 libosmovty.so.4 || { rm -f libosmovty.so.4 && ln -s libosmovty.so.4.4.0 libosmovty.so.4; }; }) libtool: install: (cd && { ln -s -f libosmovty.so.4.4.0 libosmovty.so || { rm -f libosmovty.so && ln -s libosmovty.so.4.4.0 libosmovty.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmovty.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/codec make[2]: Entering directory ' CC gsm610.lo CC gsm620.lo CC gsm660.lo CC gsm690.lo CC ecu_fr.lo CC ecu.lo CCLD libosmocodec.la make[3]: Entering directory ' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmocodec.la ' libtool: warning: relinking 'libosmocodec.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 1:1:1 -no-undefined -o libosmocodec.la -rpath gsm610.lo gsm620.lo gsm660.lo gsm690.lo ecu.lo ecu_fr.lo ../../src/libosmocore.la ) libtool: install: /usr/bin/install -c .libs/libosmocodec.so.0.1.1T libtool: install: (cd && { ln -s -f libosmocodec.so.0.1.1 libosmocodec.so.0 || { rm -f libosmocodec.so.0 && ln -s libosmocodec.so.0.1.1 libosmocodec.so.0; }; }) libtool: install: (cd && { ln -s -f libosmocodec.so.0.1.1 libosmocodec.so || { rm -f libosmocodec.so && ln -s libosmocodec.so.0.1.1 libosmocodec.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmocodec.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/gsm make[2]: Entering directory ' GEN gsm0503_conv.c Generating convolutional codes... Generate 'xcch' definition Generate 'rach' definition Generate 'rach_ext' definition Generate 'sch' definition Generate 'cs2' definition Generate 'cs3' definition Generate 'cs2_np' definition Generate 'cs3_np' definition Generate 'tch_afs_12_2' definition Generate 'tch_afs_10_2' definition Generate 'tch_afs_7_95' definition Generate 'tch_afs_7_4' definition Generate 'tch_afs_6_7' definition Generate 'tch_afs_5_9' definition Generate 'tch_afs_5_15' definition Generate 'tch_afs_4_75' definition Generate 'tch_fr' definition Generate 'tch_hr' definition Generate 'tch_ahs_7_95' definition Generate 'tch_ahs_7_4' definition Generate 'tch_ahs_6_7' definition Generate 'tch_ahs_5_9' definition Generate 'tch_ahs_5_15' definition Generate 'tch_ahs_4_75' definition Generate 'mcs1_dl_hdr' definition Generate 'mcs1_ul_hdr' definition Generate 'mcs1' definition Generate 'mcs2' definition Generate 'mcs3' definition Generate 'mcs4' definition Generate 'mcs5_dl_hdr' definition Generate 'mcs5_ul_hdr' definition Generate 'mcs5' definition Generate 'mcs6' definition Generate 'mcs7_dl_hdr' definition Generate 'mcs7_ul_hdr' definition Generate 'mcs7' definition Generate 'mcs8' definition Generate 'mcs9' definition Generation complete. make install-am make[3]: Entering directory ' CC a5.lo CC rxlev_stat.lo CC tlv_parser.lo CC comp128v23.lo CC comp128.lo CC rsl.lo CC gsm48.lo CC gsm_utils.lo gsm_utils.c:121:9: note: #pragma message: including GnuTLS for getrandom fallback. #pragma message ("including GnuTLS for getrandom fallback.") ^~~~~~~ gsm_utils.c: In function ?osmo_get_rand_id?: gsm_utils.c:459:9: note: #pragma message: Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25 #pragma message ("Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25") ^~~~~~~ CC gsm48_arfcn_range_encode.lo CC gsm48_ie.lo CC gsm0808.lo CC sysinfo.lo gsm48_ie.c: In function ?gsm48_decode_called?: gsm48_ie.c:411:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(called->number, sizeof(called->number), lv, 1); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c: In function ?gsm48_decode_callerid?: gsm48_ie.c:466:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(callerid->number, sizeof(callerid->number), lv, i); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ CC gprs_cipher_core.lo CC gsm0480.lo CC gprs_rlc.lo /bin/bash: line 2: 16170 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -I/usr/include/p11-kit-1 -DBUILDING_LIBOSMOCORE -Wall -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT gsm0480.lo -MD -MP -MF $depbase.Tpo -c -o gsm0480.lo gsm0480.c Makefile:606: recipe for target 'gsm0480.lo' failed make[3]: *** [gsm0480.lo] Error 139 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory ' Makefile:711: recipe for target 'install' failed make[2]: *** [install] Error 2 make[2]: Leaving directory ' Makefile:627: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:926: recipe for target 'install' failed make: *** [install] Error 2 Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From jenkins at lists.osmocom.org Mon Sep 16 18:12:09 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 16 Sep 2019 18:12:09 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:?= =?UTF-8?Q?_master-osmo-sip-connector_=C2=BB_a1=3Dde?= =?UTF-8?Q?fault,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#1745?= In-Reply-To: <1787495416.208.1568656899087.JavaMail.jenkins@jenkins.osmocom.org> References: <1787495416.208.1568656899087.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <2079594046.209.1568657529709.JavaMail.jenkins@jenkins.osmocom.org> See From admin at opensuse.org Tue Sep 17 01:47:57 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 17 Sep 2019 01:47:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d803b5ead779_27922aab8fd1c5f8240253@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 522s] ar: `u' modifier ignored since `D' is the default (see `U') [ 522s] libtool: link: ranlib .libs/libtransceiver_common.a [ 522s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 522s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 522s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 522s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 522s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 522s] collect2: error: ld returned 1 exit status [ 522s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 522s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 522s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 522s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 522s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 522s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 522s] make[1]: *** [Makefile:444: all] Error 2 [ 522s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 522s] dh_auto_build: make -j1 returned exit code 2 [ 522s] make: *** [debian/rules:6: build] Error 255 [ 522s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 522s] [ 522s] cloud119 failed "build osmo-trx_1.1.1.15.923b.dsc" at Tue Sep 17 01:47:43 UTC 2019. [ 522s] [ 522s] ### VM INTERACTION START ### [ 526s] [ 483.219419] sysrq: SysRq : Power Off [ 526s] [ 483.223890] reboot: Power down [ 528s] ### VM INTERACTION END ### [ 528s] [ 528s] cloud119 failed "build osmo-trx_1.1.1.15.923b.dsc" at Tue Sep 17 01:47:49 UTC 2019. [ 528s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 17 07:27:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 07:27:34 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15454/4/src/pcu_vty.c File src/pcu_vty.c: https://gerrit.osmocom.org/#/c/15454/4/src/pcu_vty.c at 861 PS4, Line 861: return CMD_SUCCESS; this "return CMD_SUCCESS;" is redundant -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 07:27:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 07:29:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 07:29:11 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15453 ) Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 07:29:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 08:54:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Sep 2019 08:54:32 +0000 Subject: Change in ...osmo-trx[master]: Log RACH burst detection In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15536 ) Change subject: Log RACH burst detection ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15536/2/Transceiver52M/sigProcLib.cpp File Transceiver52M/sigProcLib.cpp: https://gerrit.osmocom.org/#/c/15536/2/Transceiver52M/sigProcLib.cpp at 1639 PS2, Line 1639: INFO Please explain in the commit message why do we need this logging? And why INFO? With only one PDCH channel and properly implemented PTCCH/U you will see lots of RACH detections (continuous Timing Advance control), and lots of false-positive detections. Also, one can just sniff the TRX interface... -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 Gerrit-Change-Number: 15536 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 17 Sep 2019 08:54:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 08:55:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Sep 2019 08:55:08 +0000 Subject: Change in ...osmo-bts[master]: doc: bts-models.adoc: Fix typos in rts-advance section In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15543 ) Change subject: doc: bts-models.adoc: Fix typos in rts-advance section ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37ba104ec0538f8eb9345ff880660aefbdaa44ca Gerrit-Change-Number: 15543 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 17 Sep 2019 08:55:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 09:11:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 09:11:14 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: Hello laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 to look at the new patch set (#5). Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Use osmo_tdef to implement dl-tbf-idle-time Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 27 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/15454/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 09:37:59 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 17 Sep 2019 09:37:59 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer In-Reply-To: References: Message-ID: Hello lynxis lazus, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 to look at the new patch set (#2). Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... remsim-apitool.py: pass IDs as integer currently the bankId, clientId, and slotNr are passed as strings. this is not the format expected by the server, which returns 400 "Bad Request". the issue was that the python tool did not parse the arguments as integer. Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 --- M contrib/remsim-apitool.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/69/15469/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 2 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 09:39:32 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 17 Sep 2019 09:39:32 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer In-Reply-To: References: Message-ID: tsaitgaist has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15469 ) Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > (1 comment) thanks for he tip. I wasn't aware of this mechanism (which is actually already used in the next line). -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 2 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: tsaitgaist Gerrit-Comment-Date: Tue, 17 Sep 2019 09:39:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 10:50:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 10:50:31 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 10:50:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 10:57:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 10:57:39 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 10:57:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:15:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:15:49 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok 5 files changed, 87 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/1 diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h index 8155688..ac4b640 100644 --- a/include/osmocom/core/tdef.h +++ b/include/osmocom/core/tdef.h @@ -77,6 +77,10 @@ /*! Currently active timeout value, e.g. set by user config. This is the only mutable member: a user may * configure the timeout value, but neither unit nor any other field. */ unsigned long val; + /*! Minimum timer value (in this tdef unit), checked if set (not zero). */ + unsigned long min_val; + /*! Maximum timer value (in this tdef unit), checked if set (not zero). */ + unsigned long max_val; }; /*! Iterate an array of struct osmo_tdef, the last item should be fully zero, i.e. "{}". @@ -98,6 +102,7 @@ long val_if_not_present); struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T); int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit); +bool osmo_tdef_val_in_range(struct osmo_tdef *tdef, unsigned long new_val); /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */ diff --git a/src/tdef.c b/src/tdef.c index ab6a51b..bb73f76 100644 --- a/src/tdef.c +++ b/src/tdef.c @@ -142,8 +142,12 @@ void osmo_tdefs_reset(struct osmo_tdef *tdefs) { struct osmo_tdef *t; - osmo_tdef_for_each(t, tdefs) + osmo_tdef_for_each(t, tdefs) { + if (!osmo_tdef_val_in_range(t, t->default_val)) + osmo_panic("%s:%d Invalid default value %lu <= %lu <= %lu set in struct osmo_tdef (%s)\n", + __FILE__, __LINE__, t->min_val, t->default_val, t->max_val ? : (unsigned long) -1, t->desc); t->val = t->default_val; + } } /*! Return the value of a T timer from a list of osmo_tdef, in the given unit. @@ -221,13 +225,29 @@ */ int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit) { + unsigned long new_val; struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, T); if (!t) return -EEXIST; - t->val = osmo_tdef_round(val, val_unit, t->unit); + + new_val = osmo_tdef_round(val, val_unit, t->unit); + if (!osmo_tdef_val_in_range(t, new_val)) + return -EINVAL; + + t->val = new_val; return 0; } +/*! Check if value new_val is in range of valid possible values for timer entry tdef. + * \param[in] tdef Timer entry from a timer definition table. + * \param[in] new_val The value whose validity to check, in units as per this timer entry. + * \return true if inside range, false otherwise. + */ +bool osmo_tdef_val_in_range(struct osmo_tdef *tdef, unsigned long new_val) +{ + return new_val >= tdef->min_val && (!tdef->max_val || new_val <= tdef->max_val); +} + /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. * * The timeouts_array shall contain exactly 32 elements, regardless whether only some of them are actually populated diff --git a/src/vty/tdef_vty.c b/src/vty/tdef_vty.c index eb05c3c..a8e48d3 100644 --- a/src/vty/tdef_vty.c +++ b/src/vty/tdef_vty.c @@ -115,12 +115,20 @@ */ int osmo_tdef_vty_set_cmd(struct vty *vty, struct osmo_tdef *tdefs, const char **args) { + unsigned long new_val; const char *T_arg = args[0]; const char *val_arg = args[1]; struct osmo_tdef *t = osmo_tdef_vty_parse_T_arg(vty, tdefs, T_arg); if (!t) return CMD_WARNING; - t->val = osmo_tdef_vty_parse_val_arg(val_arg, t->default_val); + new_val = osmo_tdef_vty_parse_val_arg(val_arg, t->default_val); + + if (!osmo_tdef_val_in_range(t, new_val)) { + vty_out(vty, "%% Invalid T timer value %lu (should be %lu <= val <= %lu)%s", + new_val, t->min_val, t->max_val ? : (unsigned long) -1 , VTY_NEWLINE); + return CMD_WARNING; + } + t->val = new_val; return CMD_SUCCESS; } @@ -167,12 +175,19 @@ } if (prefix_fmt) vty_out_va(vty, prefix_fmt, va); - vty_out(vty, OSMO_T_FMT " = %lu%s%s\t%s (default: %lu%s%s)%s", - OSMO_T_FMT_ARGS(t->T), t->val, - t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit), - t->desc, t->default_val, - t->unit == OSMO_TDEF_CUSTOM ? "" : " ", t->unit == OSMO_TDEF_CUSTOM ? "" : osmo_tdef_unit_name(t->unit), - VTY_NEWLINE); + + vty_out(vty, OSMO_T_FMT " = %lu", OSMO_T_FMT_ARGS(t->T), t->val); + if (t->unit != OSMO_TDEF_CUSTOM) + vty_out(vty, " %s", osmo_tdef_unit_name(t->unit)); + + vty_out(vty, "\t%s (default: %lu", t->desc, t->default_val); + if (t->unit != OSMO_TDEF_CUSTOM) + vty_out(vty, " %s", osmo_tdef_unit_name(t->unit)); + + if (t->min_val || t->max_val) + vty_out(vty, ", range: [%lu,%lu]", t->min_val, t->max_val ? : (unsigned long) -1); + + vty_out(vty, ")%s", VTY_NEWLINE); } /*! Write to VTY the current status of one timer. diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index 12ca802..c672121 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -41,7 +41,7 @@ { .T=3, .default_val=100, .unit=OSMO_TDEF_M, .desc="100m" }, { .T=4, .default_val=100, .unit=OSMO_TDEF_CUSTOM, .desc="100 potatoes" }, - { .T=7, .default_val=50, .desc="Water Boiling Timeout" }, // default is .unit=OSMO_TDEF_S == 0 + { .T=7, .default_val=50, .desc="Water Boiling Timeout", .min_val=20, .max_val=800 }, // default is .unit=OSMO_TDEF_S == 0 { .T=8, .default_val=300, .desc="Tea brewing" }, { .T=9, .default_val=5, .unit=OSMO_TDEF_M, .desc="Let tea cool down before drinking" }, { .T=10, .default_val=20, .unit=OSMO_TDEF_M, .desc="Forgot to drink tea while it's warm" }, @@ -143,8 +143,9 @@ struct osmo_tdef *t; printf("\n%s()\n", __func__); - t = osmo_tdef_get_entry(tdefs, 7); printf("setting 7 = 42\n"); + t = osmo_tdef_get_entry(tdefs, 7); + OSMO_ASSERT(osmo_tdef_val_in_range(t, 42)); t->val = 42; print_tdef_info(7); print_tdef_get_short(tdefs, 7, OSMO_TDEF_MS); @@ -153,13 +154,34 @@ print_tdef_get_short(tdefs, 7, OSMO_TDEF_CUSTOM); printf("setting 7 = 420\n"); - t->val = 420; + OSMO_ASSERT(osmo_tdef_set(tdefs, 7, 420, OSMO_TDEF_S) == 0); print_tdef_info(7); print_tdef_get_short(tdefs, 7, OSMO_TDEF_MS); print_tdef_get_short(tdefs, 7, OSMO_TDEF_S); print_tdef_get_short(tdefs, 7, OSMO_TDEF_M); print_tdef_get_short(tdefs, 7, OSMO_TDEF_CUSTOM); + printf("setting 7 = 10 (EINVAL)\n"); + OSMO_ASSERT(!osmo_tdef_val_in_range(t, 10)); + OSMO_ASSERT(osmo_tdef_set(tdefs, 7, 10, OSMO_TDEF_S) == -EINVAL); + print_tdef_info(7); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_MS); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_S); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_M); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_CUSTOM); + + printf("setting 7 = 900 (EINVAL)\n"); + OSMO_ASSERT(!osmo_tdef_val_in_range(t, 900)); + OSMO_ASSERT(osmo_tdef_set(tdefs, 7, 900, OSMO_TDEF_S) == -EINVAL); + print_tdef_info(7); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_MS); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_S); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_M); + print_tdef_get_short(tdefs, 7, OSMO_TDEF_CUSTOM); + + printf("setting 23 = 50 (EEXIST)\n"); + OSMO_ASSERT(osmo_tdef_set(tdefs, 23, 50, OSMO_TDEF_S) == -EEXIST); + printf("resetting\n"); osmo_tdefs_reset(tdefs); print_tdef_info(7); diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index d9ef99b..a0bc50d 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -105,6 +105,19 @@ osmo_tdef_get(7, s) = 420 osmo_tdef_get(7, m) = 7 osmo_tdef_get(7, custom-unit) = 420 +setting 7 = 10 (EINVAL) +T7=420s(def=50) +osmo_tdef_get(7, ms) = 420000 +osmo_tdef_get(7, s) = 420 +osmo_tdef_get(7, m) = 7 +osmo_tdef_get(7, custom-unit) = 420 +setting 7 = 900 (EINVAL) +T7=420s(def=50) +osmo_tdef_get(7, ms) = 420000 +osmo_tdef_get(7, s) = 420 +osmo_tdef_get(7, m) = 7 +osmo_tdef_get(7, custom-unit) = 420 +setting 23 = 50 (EEXIST) resetting T7=50s osmo_tdef_get(7, s) = 50 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:17:54 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Patch Set 5: Code-Review+2 Re-adding +1 from laforge after removing duplicated line detected by osmith. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 11:17:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:17:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:17:56 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement ms-idle-time In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15453 ) Change subject: Use osmo_tdef to implement ms-idle-time ...................................................................... Use osmo_tdef to implement ms-idle-time This commit would also remove the option from config_write_pcu() since it's automatically filled in by osmo_tdef, but there was actually a bug because that param was never printed when saving the config... Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 --- M src/bts.cpp M src/bts.h M src/pcu_main.cpp M src/pcu_vty.c M tests/tbf/TbfTest.cpp 5 files changed, 15 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index ae6117e..2423400 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -83,6 +83,7 @@ { .T=-2000, .default_val=2, .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)", .val=0 }, { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, + { .T=-2030, .default_val=60, .unit=OSMO_TDEF_S, .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; @@ -867,7 +868,7 @@ GprsMs *ms; ms = ms_store().create_ms(); - ms->set_timeout(m_bts.ms_idle_sec); + ms->set_timeout(osmo_tdef_get(m_bts.T_defs_pcu, -2030, OSMO_TDEF_S, -1)); ms->set_ms_class(ms_class); ms->set_egprs_ms_class(egprs_ms_class); diff --git a/src/bts.h b/src/bts.h index 5e7eeae..5f25d02 100644 --- a/src/bts.h +++ b/src/bts.h @@ -140,7 +140,6 @@ /* 0 to support resegmentation in DL, 1 for no reseg */ uint8_t dl_arq_type; - uint32_t ms_idle_sec; uint8_t cs_adj_enabled; uint8_t cs_adj_upper_limit; uint8_t cs_adj_lower_limit; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 6f71ca5..e423718 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -207,7 +207,6 @@ bts->n3105 = 8; bts->alpha = 0; /* a = 0.0 */ bts->si13_is_set = false; - bts->ms_idle_sec = 60; /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ bts->cs_adj_enabled = 1; bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */ bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */ diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 380b173..477486c 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -901,27 +901,31 @@ } #define MS_IDLE_TIME_STR "keep an idle MS object alive for the time given\n" -DEFUN(cfg_pcu_ms_idle_time, +DEFUN_DEPRECATED(cfg_pcu_ms_idle_time, cfg_pcu_ms_idle_time_cmd, "ms-idle-time <1-7200>", MS_IDLE_TIME_STR "idle time in sec") { + vty_out(vty, "%% 'ms-idle-time' is now deprecated: use 'timer X2030 ' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->ms_idle_sec = atoi(argv[0]); - + if (osmo_tdef_set(bts->T_defs_pcu, -2030, atoi(argv[0]), OSMO_TDEF_S) < 0) + return CMD_WARNING; return CMD_SUCCESS; } -DEFUN(cfg_pcu_no_ms_idle_time, +DEFUN_DEPRECATED(cfg_pcu_no_ms_idle_time, cfg_pcu_no_ms_idle_time_cmd, "no ms-idle-time", NO_STR MS_IDLE_TIME_STR) { + vty_out(vty, "%% 'no ms-idle-time' is now deprecated: use 'timer X2030 0' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->ms_idle_sec = 0; - + if (osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S) < 0) + return CMD_WARNING; return CMD_SUCCESS; } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5bf94b5..7241a35 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -155,6 +155,7 @@ bts->alloc_algorithm = alloc_algorithm_a; bts->initial_cs_dl = cs; bts->initial_cs_ul = cs; + osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S); trx = &bts->trx[0]; trx->pdch[ts_no].enable(); @@ -501,7 +502,8 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->ms_idle_sec = 10; /* keep the MS object */ + /* keep the MS object 10 seconds */ + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2030, 10, OSMO_TDEF_S) == 0); gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 2234, 2234, 2234, 1, 1, false, 0, 0, 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3 Gerrit-Change-Number: 15453 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:17:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:17:57 +0000 Subject: Change in ...osmo-pcu[master]: Use osmo_tdef to implement dl-tbf-idle-time In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15454 ) Change subject: Use osmo_tdef to implement dl-tbf-idle-time ...................................................................... Use osmo_tdef to implement dl-tbf-idle-time Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_main.cpp M src/pcu_vty.c M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 7 files changed, 27 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 2423400..a8760ae 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -84,6 +84,7 @@ { .T=-2001, .default_val=2, .unit=OSMO_TDEF_S, .desc="PACCH assignment timer (s)", .val=0 }, { .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 }, { .T=-2030, .default_val=60, .unit=OSMO_TDEF_S, .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */ + { .T=-2031, .default_val=2000, .unit=OSMO_TDEF_MS, .desc="Time to keep an idle DL TBF alive (ms)", .val=0 }, { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; diff --git a/src/bts.h b/src/bts.h index 5f25d02..fab9bcb 100644 --- a/src/bts.h +++ b/src/bts.h @@ -133,7 +133,6 @@ uint8_t force_two_phase; uint8_t alpha, gamma; uint8_t egprs_enabled; - uint32_t dl_tbf_idle_msec; /* hold time for idle DL TBFs */ bool dl_tbf_preemptive_retransmission; uint8_t si13[GSM_MACBLOCK_LEN]; bool si13_is_set; diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index da54d9f..e16cf39 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -247,9 +247,10 @@ uint8_t ts, uint32_t fn, int age) { const gprs_rlc_dl_window *w = tbf->window(); - unsigned long msecs = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + unsigned long msecs_t3190 = osmo_tdef_get(bts->T_defs_pcu, 3190, OSMO_TDEF_MS, -1); + unsigned long dl_tbf_idle_msec = osmo_tdef_get(bts->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); int age_thresh1 = msecs_to_frames(200); - int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs/2, bts->dl_tbf_idle_msec)); + int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs_t3190/2, dl_tbf_idle_msec)); if (tbf->is_control_ts(ts) && tbf->need_control_ts()) return DL_PRIO_CONTROL; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index e423718..9b1319c 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -252,7 +252,6 @@ bts->ws_pdch = 0; bts->llc_codel_interval_msec = LLC_CODEL_USE_DEFAULT; - bts->dl_tbf_idle_msec = 2000; bts->llc_idle_ack_csec = 10; /* diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 477486c..6592cae 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -253,9 +253,6 @@ vty_out(vty, " two-phase-access%s", VTY_NEWLINE); vty_out(vty, " alpha %d%s", bts->alpha, VTY_NEWLINE); vty_out(vty, " gamma %d%s", bts->gamma * 2, VTY_NEWLINE); - if (bts->dl_tbf_idle_msec) - vty_out(vty, " dl-tbf-idle-time %d%s", bts->dl_tbf_idle_msec, - VTY_NEWLINE); if (!bts->dl_tbf_preemptive_retransmission) vty_out(vty, " no dl-tbf-preemptive-retransmission%s", VTY_NEWLINE); if (strcmp(bts->pcu_sock_path, PCU_SOCK_DEFAULT)) @@ -850,27 +847,31 @@ } #define IDLE_TIME_STR "keep an idle DL TBF alive for the time given\n" -DEFUN(cfg_pcu_dl_tbf_idle_time, +DEFUN_DEPRECATED(cfg_pcu_dl_tbf_idle_time, cfg_pcu_dl_tbf_idle_time_cmd, "dl-tbf-idle-time <1-5000>", IDLE_TIME_STR "idle time in msec") { + vty_out(vty, "%% 'dl-tbf-idle-time' is now deprecated: use 'timer X2031 ' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->dl_tbf_idle_msec = atoi(argv[0]); - + if (osmo_tdef_set(bts->T_defs_pcu, -2031, atoi(argv[0]), OSMO_TDEF_MS) < 0) + return CMD_WARNING; return CMD_SUCCESS; } -DEFUN(cfg_pcu_no_dl_tbf_idle_time, +DEFUN_DEPRECATED(cfg_pcu_no_dl_tbf_idle_time, cfg_pcu_no_dl_tbf_idle_time_cmd, "no dl-tbf-idle-time", NO_STR IDLE_TIME_STR) { + vty_out(vty, "%% 'no dl-tbf-idle-time' is now deprecated: use 'timer X2031 0' instead%s", VTY_NEWLINE); + struct gprs_rlcmac_bts *bts = bts_main_data(); - bts->dl_tbf_idle_msec = 0; - + if (osmo_tdef_set(bts->T_defs_pcu, -2031, 0, OSMO_TDEF_MS) < 0) + return CMD_WARNING; return CMD_SUCCESS; } diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 37bd3ee..12c098a 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1235,11 +1235,13 @@ bool gprs_rlcmac_dl_tbf::keep_open(unsigned fn) const { int keep_time_frames; + unsigned long dl_tbf_idle_msec; - if (bts_data()->dl_tbf_idle_msec == 0) + dl_tbf_idle_msec = osmo_tdef_get(bts_data()->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); + if (dl_tbf_idle_msec == 0) return false; - keep_time_frames = msecs_to_frames(bts_data()->dl_tbf_idle_msec); + keep_time_frames = msecs_to_frames(dl_tbf_idle_msec); return frames_since_last_drain(fn) <= keep_time_frames; } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 7241a35..2036023 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -156,6 +156,7 @@ bts->initial_cs_dl = cs; bts->initial_cs_ul = cs; osmo_tdef_set(bts->T_defs_pcu, -2030, 0, OSMO_TDEF_S); + osmo_tdef_set(bts->T_defs_pcu, -2031, 0, OSMO_TDEF_S); trx = &bts->trx[0]; trx->pdch[ts_no].enable(); @@ -318,6 +319,7 @@ uint32_t fn = 0; uint8_t trx_no; uint32_t tlli = 0xffeeddcc; + unsigned long dl_tbf_idle_msec; uint8_t rbb[64/8]; @@ -328,7 +330,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); dl_tbf = create_dl_tbf(&the_bts, ms_class, 0, &trx_no); dl_tbf->update_ms(tlli, GPRS_RLCMAC_DL_TBF); @@ -362,7 +364,8 @@ RCV_ACK(false, dl_tbf, rbb); /* Receive an ACK */ /* Timeout (make sure fn % 52 remains valid) */ - fn += 52 * ((msecs_to_frames(bts->dl_tbf_idle_msec + 100) + 51)/ 52); + dl_tbf_idle_msec = osmo_tdef_get(bts->T_defs_pcu, -2031, OSMO_TDEF_MS, -1); + fn += 52 * ((msecs_to_frames(dl_tbf_idle_msec + 100) + 51)/ 52); request_dl_rlc_block(dl_tbf, &fn); OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FINISHED)); @@ -2529,7 +2532,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; @@ -3064,7 +3067,7 @@ bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; @@ -3093,7 +3096,7 @@ bts = the_bts.bts_data(); bts->cs_downgrade_threshold = 0; setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ I resegmentation support */ @@ -3125,7 +3128,7 @@ bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); - bts->dl_tbf_idle_msec = 200; + OSMO_ASSERT(osmo_tdef_set(bts->T_defs_pcu, -2031, 200, OSMO_TDEF_MS) == 0); bts->egprs_enabled = 1; /* ARQ II */ bts->dl_arq_type = EGPRS_ARQ2; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e4f0d2f90e643600b7752525d6c2830856c9d3b Gerrit-Change-Number: 15454 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 17 11:31:53 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 17 Sep 2019 11:31:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d80c439a8cb6_4a292af709ec65f0130477@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 416s] ar: `u' modifier ignored since `D' is the default (see `U') [ 416s] libtool: link: ranlib .libs/libtransceiver_common.a [ 416s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 416s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 417s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 417s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 417s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 417s] collect2: error: ld returned 1 exit status [ 417s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 417s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 417s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 417s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 417s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 417s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 417s] make[1]: *** [Makefile:444: all] Error 2 [ 417s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 417s] dh_auto_build: make -j1 returned exit code 2 [ 417s] make: *** [debian/rules:6: build] Error 255 [ 417s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 417s] [ 417s] lamb56 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 17 11:31:37 UTC 2019. [ 417s] [ 417s] ### VM INTERACTION START ### [ 420s] [ 403.100262] sysrq: SysRq : Power Off [ 420s] [ 403.109471] reboot: Power down [ 420s] ### VM INTERACTION END ### [ 420s] [ 420s] lamb56 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 17 11:31:40 UTC 2019. [ 420s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 17 11:32:44 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 17 Sep 2019 11:32:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d80c474388e0_4a292af709ec65f013061e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 426s] ar: `u' modifier ignored since `D' is the default (see `U') [ 426s] libtool: link: ranlib .libs/libtransceiver_common.a [ 426s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 426s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 426s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 427s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 427s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 427s] collect2: error: ld returned 1 exit status [ 427s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 427s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 427s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 427s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 427s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 427s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 427s] make[1]: *** [Makefile:444: all] Error 2 [ 427s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 427s] dh_auto_build: make -j1 returned exit code 2 [ 427s] make: *** [debian/rules:6: build] Error 255 [ 427s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 427s] [ 427s] lamb28 failed "build osmo-trx_1.1.1.15.923b.dsc" at Tue Sep 17 11:32:28 UTC 2019. [ 427s] [ 427s] ### VM INTERACTION START ### [ 430s] [ 412.129847] sysrq: SysRq : Power Off [ 430s] [ 412.136711] reboot: Power down [ 430s] ### VM INTERACTION END ### [ 430s] [ 430s] lamb28 failed "build osmo-trx_1.1.1.15.923b.dsc" at Tue Sep 17 11:32:32 UTC 2019. [ 430s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:34:52 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 11:34:52 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: Hello pespin, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 to look at the new patch set (#3). Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... sgsn: when receiving data PDU notify the Gb GMM fsm When receiving a PDU, the GMM fsm will change to state MM_READY and will re-arm the T3314 Relates: OS#1941 Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 --- M include/osmocom/sgsn/gprs_gb.h M src/sgsn/gprs_gb.c M src/sgsn/gprs_sndcp.c 3 files changed, 21 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/35/15535/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:34:55 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 11:34:55 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps cell paging into gprs_gb Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 Change subject: sgsn_libgtp: refactor ps cell paging into gprs_gb ...................................................................... sgsn_libgtp: refactor ps cell paging into gprs_gb Paging should be done in gprs_gb Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3 --- M include/osmocom/sgsn/gprs_gb.h M src/sgsn/gprs_gb.c M src/sgsn/sgsn_libgtp.c 3 files changed, 28 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/47/15547/1 diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h index 47f2a31..567045c 100644 --- a/include/osmocom/sgsn/gprs_gb.h +++ b/include/osmocom/sgsn/gprs_gb.h @@ -9,3 +9,6 @@ bool drop_cipherable); /* Has to be called whenever any PDU (signaling, data, ...) has been received */ void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx); + +/* page a MS in it's specific cell */ +int gprs_gb_page_ps_cell(struct sgsn_mm_ctx *mmctx); diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 9fa8e00..ed706a8 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -80,3 +80,26 @@ return rc; } + + +int gprs_gb_page_ps_cell(struct sgsn_mm_ctx *mmctx) +{ + struct bssgp_paging_info pinfo; + int rc; + + /* TODO: check MM state == READY */ + + /* initiate PS PAGING procedure */ + memset(&pinfo, 0, sizeof(pinfo)); + pinfo.mode = BSSGP_PAGING_PS; + pinfo.scope = BSSGP_PAGING_BVCI; + pinfo.bvci = mmctx->gb.bvci; + pinfo.imsi = mmctx->imsi; + pinfo.ptmsi = &mmctx->p_tmsi; + pinfo.drx_params = mmctx->drx_parms; + pinfo.qos[0] = 0; // FIXME + rc = bssgp_tx_paging(mmctx->gb.nsei, 0, &pinfo); + rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PAGING_PS]); + + return rc; +} diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index c5bc5b8..496079a 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -614,7 +615,6 @@ /* Called whenever we receive a DATA packet */ static int cb_data_ind(struct pdp_t *lib, void *packet, unsigned int len) { - struct bssgp_paging_info pinfo; struct sgsn_pdp_ctx *pdp; struct sgsn_mm_ctx *mm; struct msgb *msg; @@ -660,16 +660,7 @@ switch (mm->gmm_fsm->state) { case ST_GMM_REGISTERED_SUSPENDED: /* initiate PS PAGING procedure */ - memset(&pinfo, 0, sizeof(pinfo)); - pinfo.mode = BSSGP_PAGING_PS; - pinfo.scope = BSSGP_PAGING_BVCI; - pinfo.bvci = mm->gb.bvci; - pinfo.imsi = mm->imsi; - pinfo.ptmsi = &mm->p_tmsi; - pinfo.drx_params = mm->drx_parms; - pinfo.qos[0] = 0; // FIXME - bssgp_tx_paging(mm->gb.nsei, 0, &pinfo); - rate_ctr_inc(&mm->ctrg->ctr[GMM_CTR_PAGING_PS]); + gprs_gb_page_ps_cell(mm); /* FIXME: queue the packet we received from GTP */ break; case ST_GMM_REGISTERED_NORMAL: -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3 Gerrit-Change-Number: 15547 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:38:41 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 11:38:41 +0000 Subject: Change in ...osmo-sgsn[master]: WIP: bssgp nsei/bvci handling Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15548 Change subject: WIP: bssgp nsei/bvci handling ...................................................................... WIP: bssgp nsei/bvci handling Change-Id: I5487bc2d20414c41bc7c97cae2fd1b93e9511fcf --- M include/osmocom/sgsn/Makefile.am A include/osmocom/sgsn/gprs_gb_nm.h M src/sgsn/Makefile.am A src/sgsn/gprs_gb_nm.c M src/sgsn/sgsn_main.c 5 files changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/48/15548/1 diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/sgsn/Makefile.am index 3fdb6b3..ead0e44 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/sgsn/Makefile.am @@ -4,6 +4,7 @@ debug.h \ gb_proxy.h \ gprs_gb.h \ + gprs_gb_nm.h \ gprs_gb_parse.h \ gprs_gmm.h \ gprs_gmm_fsm.h \ diff --git a/include/osmocom/sgsn/gprs_gb_nm.h b/include/osmocom/sgsn/gprs_gb_nm.h new file mode 100644 index 0000000..23744a9 --- /dev/null +++ b/include/osmocom/sgsn/gprs_gb_nm.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +struct gprs_ra_id; + +int gprs_nm_rx_reset(uint16_t nsei, uint16_t bvci, struct gprs_ra_id *ra_id); diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 8bc1abb..6b9b5f4 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -41,6 +41,7 @@ osmo_sgsn_SOURCES = \ gprs_gb.c \ + gprs_gb_nm.c \ gprs_gmm_attach.c \ gprs_gmm.c \ gprs_gmm_fsm.c \ diff --git a/src/sgsn/gprs_gb_nm.c b/src/sgsn/gprs_gb_nm.c new file mode 100644 index 0000000..7d25700 --- /dev/null +++ b/src/sgsn/gprs_gb_nm.c @@ -0,0 +1,8 @@ + +#include +#include + +int gprs_nm_rx_reset(uint16_t nsei, uint16_t bvci, struct gprs_ra_id *ra_id) +{ + return 0; +} diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index eef5f8f..50e71ce 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -136,6 +136,10 @@ } break; case SAP_BSSGP_NM: + switch (oph->primitive) { + case PRIM_NM_BVC_RESET: + return gprs_nm_rx_reset(bp->nsei, bp->bvci, bp->ra_id); + } break; } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5487bc2d20414c41bc7c97cae2fd1b93e9511fcf Gerrit-Change-Number: 15548 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:53:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:53:01 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 11:53:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 11:56:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 11:56:41 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps cell paging into gprs_gb In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps cell paging into gprs_gb ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/15547/1/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15547/1/src/sgsn/sgsn_libgtp.c at 663 PS1, Line 663: gprs_gb_page_ps_cell(mm); That's only Gb, so it shouldn't be called conditionally based on ra_type right? I'd rather submit an event to the gmm_fsm and in there do the paging. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3 Gerrit-Change-Number: 15547 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 11:56:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:18:18 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 12:18:18 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 2: (6 comments) https://gerrit.osmocom.org/#/c/15483/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15483/2//COMMIT_MSG at 9 PS2, Line 9: The user inactivity timer is similiar to the Gb READY timer and redruce > reduces Done https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c File src/sgsn/gprs_mm_state_iu_fsm.c: https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 15 PS2, Line 15: [ST_PMM_CONNECTED] = { .T=-3314 }, > So this timer is not defined in the case of Iu but we add it ourselves? please clarify that somewher [?] Done https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 50 PS2, Line 50: static const struct RANAP_Cause user_inactive_cause = { > shouldn't be static. [?] Done https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/gprs_mm_state_iu_fsm.c at 96 PS2, Line 96: /* timer for pmm state. state=CONNECTED: -T3314 (User inactivity timer) */ > Ah here it is. Still, it's not clear if it comes from us or it's defined in specs. [?] Done https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/sgsn_vty.c File src/sgsn/sgsn_vty.c: https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/sgsn_vty.c at 107 PS2, Line 107: /* non spec timers */ > Ah here it is! non-spec. Please add same thing in the FSM timer declaration. Done https://gerrit.osmocom.org/#/c/15483/2/src/sgsn/sgsn_vty.c at 107 PS2, Line 107: /* non spec timers */ > Ah here it is! non-spec. Please add same thing in the FSM timer declaration. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 12:18:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:20:15 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 17 Sep 2019 12:20:15 +0000 Subject: Change in ...osmo-remsim[master]: client: fix help strings Message-ID: tsaitgaist has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15549 Change subject: client: fix help strings ...................................................................... client: fix help strings for the osmo-remsim-client-st2 client, the command line arguments bankd-port and slot-nr have been renamed to server-port and client-slot in the opts options, but not in the help output. this is now fixed. Change-Id: Ie23fdc443f2f90f4baf36f8aca237c9994cce8ad --- M src/simtrace2-remsim_client.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/49/15549/1 diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 04aa0c6..e97ed9d 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -692,9 +692,9 @@ static void print_help(void) { printf( "\t-s\t--server-host HOST\n" - "\t-p\t--bankd-port PORT\n" + "\t-p\t--server-port PORT\n" "\t-c\t--client-id <0-65535>\n" - "\t-n\t--slot-nr <0-65535>\n" + "\t-n\t--client-slot <0-65535>\n" "\t-h\t--help\n" "\t-i\t--gsmtap-ip\tA.B.C.D\n" "\t-k\t--keep-running\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie23fdc443f2f90f4baf36f8aca237c9994cce8ad Gerrit-Change-Number: 15549 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:25:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 12:25:03 +0000 Subject: Change in ...osmo-remsim[master]: client: fix help strings In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15549 ) Change subject: client: fix help strings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie23fdc443f2f90f4baf36f8aca237c9994cce8ad Gerrit-Change-Number: 15549 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 17 Sep 2019 12:25:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:25:40 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 12:25:40 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15469 ) Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 2 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: tsaitgaist Gerrit-Comment-Date: Tue, 17 Sep 2019 12:25:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:28:33 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 17 Sep 2019 12:28:33 +0000 Subject: Change in ...osmo-remsim[master]: remsim-apitool.py: pass IDs as integer In-Reply-To: References: Message-ID: tsaitgaist has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15469 ) Change subject: remsim-apitool.py: pass IDs as integer ...................................................................... remsim-apitool.py: pass IDs as integer currently the bankId, clientId, and slotNr are passed as strings. this is not the format expected by the server, which returns 400 "Bad Request". the issue was that the python tool did not parse the arguments as integer. Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 --- M contrib/remsim-apitool.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved diff --git a/contrib/remsim-apitool.py b/contrib/remsim-apitool.py index 7662ae4..50f0e72 100755 --- a/contrib/remsim-apitool.py +++ b/contrib/remsim-apitool.py @@ -69,7 +69,7 @@ group.add_argument("-c", "--show-clients", help="show clients (GET /clients)",nargs='?',const="all",default=None) group.add_argument("-b", "--show-banks", help="show banks (GET /banks)",nargs='?',const="all",default=None) group.add_argument("-s", "--show-slotmaps", help="show slotmaps (GET /slotmaps)",nargs='?',const="all",default=None) - group.add_argument("-m", "--create-slotmap", help="create new slotmap (POST /slotmaps)",nargs=4,metavar=('bank_id', 'bank_slot','client_id','client_slot')) + group.add_argument("-m", "--create-slotmap", help="create new slotmap (POST /slotmaps)", type=int, nargs=4,metavar=('bank_id', 'bank_slot','client_id','client_slot')) group.add_argument("-d", "--delete-slotmap", help="delete slotmapping (DELETE /slotmaps/)", type=int, nargs=2, metavar=('bank_id','bank_slot')) group.add_argument("-a", "--show-all", help="show all (default if no argument given)", action="store_true") -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I8baab1b516067f47a7d230213e44d8f85e6d9919 Gerrit-Change-Number: 15469 Gerrit-PatchSet: 2 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: tsaitgaist Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:28:50 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Tue, 17 Sep 2019 12:28:50 +0000 Subject: Change in ...osmo-remsim[master]: client: fix help strings In-Reply-To: References: Message-ID: tsaitgaist has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-remsim/+/15549 ) Change subject: client: fix help strings ...................................................................... client: fix help strings for the osmo-remsim-client-st2 client, the command line arguments bankd-port and slot-nr have been renamed to server-port and client-slot in the opts options, but not in the help output. this is now fixed. Change-Id: Ie23fdc443f2f90f4baf36f8aca237c9994cce8ad --- M src/simtrace2-remsim_client.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c index 04aa0c6..e97ed9d 100644 --- a/src/simtrace2-remsim_client.c +++ b/src/simtrace2-remsim_client.c @@ -692,9 +692,9 @@ static void print_help(void) { printf( "\t-s\t--server-host HOST\n" - "\t-p\t--bankd-port PORT\n" + "\t-p\t--server-port PORT\n" "\t-c\t--client-id <0-65535>\n" - "\t-n\t--slot-nr <0-65535>\n" + "\t-n\t--client-slot <0-65535>\n" "\t-h\t--help\n" "\t-i\t--gsmtap-ip\tA.B.C.D\n" "\t-k\t--keep-running\n" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/15549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie23fdc443f2f90f4baf36f8aca237c9994cce8ad Gerrit-Change-Number: 15549 Gerrit-PatchSet: 1 Gerrit-Owner: tsaitgaist Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: tsaitgaist Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:38:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 12:38:30 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 ) Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15486/2/src/sgsn/gprs_mm_state_gb_fsm.c File src/sgsn/gprs_mm_state_gb_fsm.c: https://gerrit.osmocom.org/#/c/15486/2/src/sgsn/gprs_mm_state_gb_fsm.c at 24 PS2, Line 24: if (ctx->T == 3350 && osmo_timer_pending(&ctx->timer)) > When is this timer set? in both MM_STANDBLY and READY? we should probably move it to osmo_tdef in th [?] This timer is started by the "old" RAU code which doesn't have yet a fsm. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 12:38:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 12:44:13 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 12:44:13 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps cell paging into gprs_gb In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps cell paging into gprs_gb ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15547/1/src/sgsn/sgsn_libgtp.c File src/sgsn/sgsn_libgtp.c: https://gerrit.osmocom.org/#/c/15547/1/src/sgsn/sgsn_libgtp.c at 663 PS1, Line 663: gprs_gb_page_ps_cell(mm); > That's only Gb, so it shouldn't be called conditionally based on ra_type right? [?] Good idea! That's a new patch :) Do you want to create a ticket for it? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3 Gerrit-Change-Number: 15547 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 12:44:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:11:41 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:11:41 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 to look at the new patch set (#3). Change subject: Iu: implement a user inactivity timer ...................................................................... Iu: implement a user inactivity timer The user inactivity timer is similiar to the Gb READY timer and reduces the resources taken by an idle UE. Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 --- M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/sgsn_vty.c 3 files changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15483/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:11:41 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:11:41 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 to look at the new patch set (#3). Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... gprs_ranap: on Iu release, stop the attach fsm if running A Iu release should stop any active procedure. Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee --- M src/sgsn/gprs_ranap.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15485/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:13:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:13:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 to look at the new patch set (#3). Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... gprs_ranap: introduce Iu helper to free the UE context Prepare to free Iu UE contexts when moving between the PMM states. Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_ranap.c 2 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15481/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:13:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:13:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 to look at the new patch set (#3). Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... gprs_ranap: release Iu UE Context when exiting PMM Connected PMM Connected defines a Iu signaling connection. The 2 other PMM states do not have an active Iu signaling connection. Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 --- M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/gprs_ranap.c 2 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/82/15482/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:13:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:13:16 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 to look at the new patch set (#4). Change subject: Iu: implement a user inactivity timer ...................................................................... Iu: implement a user inactivity timer The user inactivity timer is similiar to the Gb READY timer and reduces the resources taken by an idle UE. Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 --- M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/sgsn_vty.c 3 files changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15483/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:13:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:13:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 to look at the new patch set (#4). Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... gprs_ranap: on Iu release, stop the attach fsm if running A Iu release should stop any active procedure. Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee --- M src/sgsn/gprs_ranap.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/15485/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:13:16 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 13:13:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 to look at the new patch set (#4). Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In IDLE there is not further context with the MS. Prevents the Timer from sending packages to a MS which can not respond Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/15486/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:24:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 13:24:57 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: refactor ps cell paging into gprs_gb In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 ) Change subject: sgsn_libgtp: refactor ps cell paging into gprs_gb ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3 Gerrit-Change-Number: 15547 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 13:24:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:27:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 13:27:25 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 13:27:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:20 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15538 to look at the new patch set (#2). Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... logging.h: add L1 SAPI related context and filter Related: OS#2356 Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d --- M include/osmocom/core/logging.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/15538/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:35 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 to look at the new patch set (#3). Change subject: log: set L1 SAPI context ...................................................................... log: set L1 SAPI context The next commit adds related VTY commands. I've decided to use the global variable sapi_log_ctx instead of directly pointing at pcu_prim->...sapi, because pcu_prim is part of a msgb, which gets deallocated before the log context gets reset. Related: OS#2356 Depends: (libosmocore) I814cb3328d99faca9220adb5a80ffb934f219d7d Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b --- M src/common/logging.c M src/common/pcu_sock.c 2 files changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:38 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 Change subject: vty: add "logging filter l1-sapi" ...................................................................... vty: add "logging filter l1-sapi" Add VTY commands to filter by L1 SAPI. Allow to filter by multiple SAPIs by running the filter command multiple times: OsmoBTS> logging filter l1-sapi agch OsmoBTS> logging filter l1-sapi pch Related: OS#2356 Test: (osmo-ttcn3-hacks) I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 --- M src/common/vty.c 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/15550/1 diff --git a/src/common/vty.c b/src/common/vty.c index 801f34c..842a9e7 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1600,6 +1600,70 @@ return CMD_SUCCESS; } +#define L1_SAPI_STR "Filter log messages by L1 SAPI\n" +#define L1_SAPI_ARG_STR "L1 SAPI to be used as filter\n" +#define L1_SAPI_CMD_STR "logging filter l1-sapi (rach|agch|pch|bcch|pdtch|prach|ptcch|agch_dt)" + +uint16_t parse_l1_sapi_str(const char *sapi) { + if (!strcmp(sapi, "rach")) + return PCU_IF_SAPI_RACH; + else if (!strcmp(sapi, "agch")) + return PCU_IF_SAPI_AGCH; + else if (!strcmp(sapi, "pch")) + return PCU_IF_SAPI_PCH; + else if (!strcmp(sapi, "bcch")) + return PCU_IF_SAPI_BCCH; + else if (!strcmp(sapi, "pdtch")) + return PCU_IF_SAPI_PDTCH; + else if (!strcmp(sapi, "prach")) + return PCU_IF_SAPI_PRACH; + else if (!strcmp(sapi, "ptcch")) + return PCU_IF_SAPI_PTCCH; + else if (!strcmp(sapi, "agch_dt")) + return PCU_IF_SAPI_AGCH_DT; + return 0; +} + +DEFUN(logging_fltr_l1_sapi, + logging_fltr_l1_sapi_cmd, + L1_SAPI_CMD_STR, + LOGGING_STR FILTER_STR L1_SAPI_STR L1_SAPI_ARG_STR) +{ + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t **sapi_mask; + + if (!tgt) + return CMD_WARNING; + + sapi_mask = (uint16_t **)&tgt->filter_data[LOG_FLT_L1_SAPI]; + if (!*sapi_mask) + *sapi_mask = talloc(tgt, uint16_t); + + **sapi_mask |= (1 << parse_l1_sapi_str(argv[0])); + tgt->filter_map |= (1 << LOG_FLT_L1_SAPI); + + return CMD_SUCCESS; +} + +DEFUN(no_logging_fltr_l1_sapi, + no_logging_fltr_l1_sapi_cmd, + "no " L1_SAPI_CMD_STR, + NO_STR LOGGING_STR FILTER_STR L1_SAPI_STR L1_SAPI_ARG_STR) +{ + struct log_target *tgt = osmo_log_vty2tgt(vty); + uint16_t *sapi_mask; + + if (!tgt) + return CMD_WARNING; + if (!tgt->filter_data[LOG_FLT_L1_SAPI]) + return CMD_SUCCESS; + + sapi_mask = (uint16_t *)tgt->filter_data[LOG_FLT_L1_SAPI]; + *sapi_mask &= ~(1 << parse_l1_sapi_str(argv[0])); + + return CMD_SUCCESS; +} + int bts_vty_init(struct gsm_bts *bts) { cfg_trx_gsmtap_sapi_cmd.string = vty_cmd_string_from_valstr(bts, gsmtap_sapi_names, @@ -1621,6 +1685,8 @@ install_element_ve(&show_ts_cmd); install_element_ve(&show_lchan_cmd); install_element_ve(&show_lchan_summary_cmd); + install_element_ve(&logging_fltr_l1_sapi_cmd); + install_element_ve(&no_logging_fltr_l1_sapi_cmd); logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter sapi" In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 to look at the new patch set (#2). Change subject: bts: test for "logging filter sapi" ...................................................................... bts: test for "logging filter sapi" Related: OS#2356 Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 --- M bts/BTS_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15540/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:55 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15538/1/include/osmocom/core/logging.h File include/osmocom/core/logging.h: https://gerrit.osmocom.org/#/c/15538/1/include/osmocom/core/logging.h at 157 PS1, Line 157: LOG_CTX_PCU_IF_DATA > But what's PCU_IF_DATA? The name came from "struct gsm_pcu_if_data" in pcuif_proto.h. But I understand now why that naming made no sense. Renamed to LOG_CTX_L1_SAPI, and now it stores a pointer to a uint_8, which is simply the L1 SAPI. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 13:29:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:29:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:29:59 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 2: > It's a bit confusing to see that you're adding VTY commands and the related logic, and starting to use the logging context for PCU related code in the same change. Maybe rather split them up? Done > why is this "PCU" related? I really don't get how the PCU plays into all of this. The L1 SAPI is a property of the L1. I thought it made sense to put the "struct gsm_pcu_if_data" into the log context... but now I understand, that this does not make sense. Updated to actually save the L1 SAPI as log context. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 17 Sep 2019 13:29:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:30:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:30:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter sapi" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter sapi" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15540/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/15540/1/bts/BTS_Tests.ttcn at 298 PS1, Line 298: f_vty_transceive(BTSVTY, "logging disable"); > I think logging is always disabled by default, no need for this? Right. Removed the "logging disable", and adjusted to comments in related patches (the command is called "logging filter l1-sapi" now). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 13:30:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:30:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:30:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 to look at the new patch set (#3). Change subject: bts: test for "logging filter l1-sapi" ...................................................................... bts: test for "logging filter l1-sapi" Related: OS#2356 Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 --- M bts/BTS_Tests.ttcn 1 file changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15540/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:36:48 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:36:48 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 13:36:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 13:56:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 17 Sep 2019 13:56:09 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c File src/common/logging.c: https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c at 158 PS3, Line 158: return 1; In OsmoBSC, and even in a libosmocore test, the return values are inverted... even though my ttcn3 test is passing with this code. I need to figure this out, setting to WIP in the meantime. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 17 Sep 2019 13:56:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:25:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 15:25:17 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 15:25:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 15:26:10 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 ) Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 15:26:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:27:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 15:27:08 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 ) Change subject: gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243 Gerrit-Change-Number: 15486 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 15:27:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:29:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 15:29:43 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c at 1607 PS1, Line 1607: uint16_t parse_l1_sapi_str(const char *sapi) { Looks like you want a value_string here instead of this if+else. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 15:29:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:31:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 15:31:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter l1-sapi" ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 15:31:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:48:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 15:48:14 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 Change subject: gprs_gmm: release Iu connection on RAU failures ...................................................................... gprs_gmm: release Iu connection on RAU failures When a RAU fails without an a GMM context, release the Iu connection after sending a response. Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b --- M src/sgsn/gprs_gmm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/51/15551/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index afae369..d0f5cb2 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1699,6 +1699,10 @@ mm_ctx_cleanup_free(mmctx, "GPRS RA UPDATE REJ"); else if (llme) gprs_llgmm_unassign(llme); + else if (MSG_IU_UE_CTX(msg)) { + /* TODO: use correct cause code */ + ranap_iu_tx_release_free(MSG_IU_UE_CTX(msg), NULL, 5); + } return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b Gerrit-Change-Number: 15551 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:48:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 15:48:14 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... gprs_sgsn: always allocate Gb/Iu mm fsm When moving between RANs we need them at a later point. Allocate them always to not make the code (more) complex. Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 --- M src/sgsn/gprs_sgsn.c 1 file changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/52/15552/1 diff --git a/src/sgsn/gprs_sgsn.c b/src/sgsn/gprs_sgsn.c index 465a5fa..ce06e7a 100644 --- a/src/sgsn/gprs_sgsn.c +++ b/src/sgsn/gprs_sgsn.c @@ -245,6 +245,8 @@ } ctx->gmm_fsm = osmo_fsm_inst_alloc(&gmm_fsm, ctx, ctx, LOGL_DEBUG, "gmm_fsm"); ctx->gmm_att_req.fsm = osmo_fsm_inst_alloc(&gmm_attach_req_fsm, ctx, ctx, LOGL_DEBUG, "gb_gmm_req"); + ctx->gb.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_gb_fsm, ctx, ctx, LOGL_DEBUG, NULL); + ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, NULL); INIT_LLIST_HEAD(&ctx->pdp_list); llist_add(&ctx->list, &sgsn_mm_ctxts); @@ -256,7 +258,6 @@ const struct gprs_ra_id *raid) { struct sgsn_mm_ctx *ctx; - char buf[32]; ctx = sgsn_mm_ctx_alloc(tlli); if (!ctx) @@ -266,8 +267,7 @@ ctx->ran_type = MM_CTX_T_GERAN_Gb; ctx->gb.tlli = tlli; ctx->ciph_algo = sgsn->cfg.cipher; - snprintf(buf, sizeof(buf), "%" PRIu32, tlli); - ctx->gb.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_gb_fsm, ctx, ctx, LOGL_DEBUG, buf); + osmo_fsm_inst_update_id_f(ctx->gb.mm_state_fsm, "%" PRIu32, tlli); LOGMMCTXP(LOGL_DEBUG, ctx, "Allocated with %s cipher.\n", get_value_string(gprs_cipher_names, ctx->ciph_algo)); @@ -278,7 +278,6 @@ struct sgsn_mm_ctx *sgsn_mm_ctx_alloc_iu(void *uectx) { #if BUILD_IU - char buf[32]; struct sgsn_mm_ctx *ctx; struct ranap_ue_conn_ctx *ue_ctx = uectx; @@ -292,8 +291,7 @@ ctx->iu.ue_ctx = ue_ctx; ctx->iu.ue_ctx->rab_assign_addr_enc = sgsn->cfg.iu.rab_assign_addr_enc; ctx->iu.new_key = 1; - snprintf(buf, sizeof(buf), "%" PRIu32, ue_ctx->conn_id); - ctx->iu.mm_state_fsm = osmo_fsm_inst_alloc(&mm_state_iu_fsm, ctx, ctx, LOGL_DEBUG, buf); + osmo_fsm_inst_update_id_f(ctx->iu.mm_state_fsm, "%" PRIu32, ue_ctx->conn_id); return ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 15:48:14 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 15:48:14 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: MM Gb Fsm: fix event handling for implicit detach Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 Change subject: sgsn: MM Gb Fsm: fix event handling for implicit detach ...................................................................... sgsn: MM Gb Fsm: fix event handling for implicit detach Implicit detach means there won't be any Gb state afterwards. Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3 --- M src/sgsn/gprs_mm_state_gb_fsm.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/53/15553/1 diff --git a/src/sgsn/gprs_mm_state_gb_fsm.c b/src/sgsn/gprs_mm_state_gb_fsm.c index 02f6747..f6d680c 100644 --- a/src/sgsn/gprs_mm_state_gb_fsm.c +++ b/src/sgsn/gprs_mm_state_gb_fsm.c @@ -47,9 +47,11 @@ switch(event) { case E_MM_READY_TIMER_EXPIRY: - case E_MM_IMPLICIT_DETACH: mm_state_gb_fsm_state_chg(fi, ST_MM_STANDBY); break; + case E_MM_IMPLICIT_DETACH: + mm_state_gb_fsm_state_chg(fi, ST_MM_IDLE); + break; case E_MM_PDU_RECEPTION: /* RE-arm the READY timer upon receival of Gb PDUs */ t_secs = osmo_tdef_get(sgsn->cfg.T_defs, 3314, OSMO_TDEF_S, -1); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3 Gerrit-Change-Number: 15553 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:06:19 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:06:19 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 to look at the new patch set (#4). Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... gprs_ranap: introduce Iu helper to free the UE context Prepare to free Iu UE contexts when moving between the PMM states. Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/gprs_ranap.c 3 files changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15481/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:19:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:19:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: start-testsuite.sh: allow to skip the configuration file parameter Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15554 Change subject: start-testsuite.sh: allow to skip the configuration file parameter ...................................................................... start-testsuite.sh: allow to skip the configuration file parameter Allows to use the default configuration file while setting a specific test case. Change-Id: I6b318aea9e1f8b23c283d08e7b06f055fc907cdd --- M start-testsuite.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/15554/1 diff --git a/start-testsuite.sh b/start-testsuite.sh index e5bc756..0622f61 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -28,7 +28,7 @@ SUITE_DIR="$(dirname "$SUITE")" SUITE_NAME="$(basename "$SUITE")" CFG="$SUITE_NAME.cfg" -if [ $# -gt 1 ]; then +if [ $# -gt 1 ] && [ "$2" != "" ] ; then CFG=$2 fi -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6b318aea9e1f8b23c283d08e7b06f055fc907cdd Gerrit-Change-Number: 15554 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:19:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:19:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: implement Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15555 Change subject: implement ...................................................................... implement Change-Id: I2035f2cb01d9891a3b296328318d4647e63adb58 --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/15555/1 diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index 786961f..bfcef17 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -83,11 +83,36 @@ f_cleanup(); } +private function f_TC_geran_attach_iu_attach(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); + setverdict(pass); +} + +testcase TC_geran_attach_iu_attach() runs on test_CT { + /* MS <-> SGSN: Successful Attach over Geran + /* MS <-> SGSN: Successful Attach over Iu + */ + var BSSGP_ConnHdlr vc_conn; + g_ranap_enable := true; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_geran_attach_iu_attach), testcasename(), g_gb, 1004); + vc_conn.done; + f_cleanup(); +} + control { execute( TC_iu_attach() ); /* FIXME: will crash the sgsn * execute( TC_iu_attach_geran_rau() ); - * execute( TC_geran_attach_iu_rau() ); */ + * execute( TC_geran_attach_iu_rau() ); + * execute( TC_geran_attach_iu_attach() ); */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2035f2cb01d9891a3b296328318d4647e63adb58 Gerrit-Change-Number: 15555 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:19:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:19:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: add support for expect_sai on f_gmm_auth Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15556 Change subject: add support for expect_sai on f_gmm_auth ...................................................................... add support for expect_sai on f_gmm_auth Change-Id: I424918e792ff73eeafd99ac2a272cf4f2f62cb43 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/15556/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 281dcc9..b5861a9 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -593,7 +593,7 @@ /* perform GMM authentication (if expected). * Note, for umts_aka_challenge to work, the revisionLevelIndicatior needs to * be 1 to mark R99 capability, in the GMM Attach Request, see f_gmm_attach(). */ -function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer ran_index := 0) runs on BSSGP_ConnHdlr { +function f_gmm_auth (boolean umts_aka_challenge := false, boolean force_gsm_sres := false, integer ran_index := 0, boolean expect_sai := true) runs on BSSGP_ConnHdlr { var PDU_L3_MS_SGSN l3_mo; var PDU_L3_SGSN_MS l3_mt; var default di := activate(as_mm_identity(ran_index)); @@ -626,8 +626,10 @@ log("GSUP sends only 2G auth tuple", auth_tuple); } - GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); - GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + if (expect_sai) { + GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi)); + GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple)); + } var template PDU_L3_SGSN_MS auth_ciph_req := tr_GMM_AUTH_REQ(g_pars.vec.rand); auth_ciph_req.msgs.gprs_mm.authenticationAndCipheringRequest.authenticationParameterAUTN := autn; @@ -757,7 +759,7 @@ GSUP.send(ts_GSUP_UL_RES(g_pars.imsi)); } -friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer ran_index := 0) runs on BSSGP_ConnHdlr { +friend function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer ran_index := 0, boolean expect_sai := true) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI(); var template PDU_L3_MS_SGSN attach_req := ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit); var PDU_L3_SGSN_MS l3_mt; @@ -770,7 +772,7 @@ attach_req.msgs.gprs_mm.attachRequest.msNetworkCapability.msNetworkCapabilityV.solSACapability := '0'B; f_send_l3(attach_req, ran_index); - f_gmm_auth(umts_aka_challenge, force_gsm_sres, ran_index); + f_gmm_auth(umts_aka_challenge, force_gsm_sres, ran_index, expect_sai); /* Expect SGSN to perform LU with HLR */ f_gmm_gsup_lu_isd(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I424918e792ff73eeafd99ac2a272cf4f2f62cb43 Gerrit-Change-Number: 15556 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:19:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:19:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: do not expect sai on gmm_att Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15557 Change subject: do not expect sai on gmm_att ...................................................................... do not expect sai on gmm_att Change-Id: I18e0f59b81cee30223354a7305db6bb55e2ea18c --- M sgsn/SGSN_Tests_Iu.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/15557/1 diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn index bfcef17..5e4bc45 100644 --- a/sgsn/SGSN_Tests_Iu.ttcn +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -90,7 +90,7 @@ f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0); /* first perform regular attach */ - f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3); + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3, expect_sai := false); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18e0f59b81cee30223354a7305db6bb55e2ea18c Gerrit-Change-Number: 15557 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:24:33 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:24:33 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 to look at the new patch set (#5). Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... gprs_ranap: introduce Iu helper to free the UE context Prepare to free Iu UE contexts when moving between the PMM states. Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/gprs_ranap.c 3 files changed, 42 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15481/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:49:39 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 16:49:39 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 to look at the new patch set (#6). Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... gprs_ranap: introduce Iu helper to free the UE context Prepare to free Iu UE contexts when moving between the PMM states. Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_ranap.c 2 files changed, 41 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/81/15481/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 16:58:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 16:58:21 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/15481/6/include/osmocom/sgsn/gprs_ranap.h File include/osmocom/sgsn/gprs_ranap.h: https://gerrit.osmocom.org/#/c/15481/6/include/osmocom/sgsn/gprs_ranap.h at 25 PS6, Line 25: inline static void sgsn_ranap_iu_free(void *ctx) {}; Why do you need this? the code calling this functions should be always inside BUILD_IU afaiu. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 16:58:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:33:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 17 Sep 2019 17:33:54 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c at 137 PS1, Line 137: Set all osmo_tdef values to the default_val. Please update documentation too as you're introducing additional functionality. https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c at 235 PS1, Line 235: EINVAL How about ERANGE? https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c File src/vty/tdef_vty.c: https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c at 127 PS1, Line 127: Invalid T timer value %lu (should be %lu <= val <= %lu) This message could be more concrete: "Timer value %lu is out of range (%lu .. %lu)" Not a merge blocker, just a recommendation. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 17 Sep 2019 17:33:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:49:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:49:10 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: needs entry in TODO-RELEASE as it breaks ABI -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 17:49:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:50:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:50:17 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 17:50:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:50:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:50:55 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 ) Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 17:50:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:51:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:51:47 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 ) Change subject: gprs_gmm: release Iu connection on RAU failures ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15551/4/src/sgsn/gprs_gmm.c File src/sgsn/gprs_gmm.c: https://gerrit.osmocom.org/#/c/15551/4/src/sgsn/gprs_gmm.c at 1703 PS4, Line 1703: use correct cause code let's do that before merging it? doesn't sound very complex? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b Gerrit-Change-Number: 15551 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 17:51:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:52:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:52:08 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 ) Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 17:52:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:52:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:52:37 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 ) Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15552/4/src/sgsn/gprs_sgsn.c File src/sgsn/gprs_sgsn.c: https://gerrit.osmocom.org/#/c/15552/4/src/sgsn/gprs_sgsn.c at 250 PS4, Line 250: INIT_LLIST_HEAD(&ctx->pdp_list); maybe OSMO_ASSERT onboth, or gracefully cleanup if fsm_installoc fails? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 17:52:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:53:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Sep 2019 17:53:08 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: MM Gb Fsm: fix event handling for implicit detach In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 ) Change subject: sgsn: MM Gb Fsm: fix event handling for implicit detach ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3 Gerrit-Change-Number: 15553 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 17:53:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 17:56:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 17:56:57 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 ) Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 17:56:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:23:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:23:38 +0000 Subject: Change in ...libosmocore[master]: logging_internal.h: Fix osmo_log_info definition Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15558 Change subject: logging_internal.h: Fix osmo_log_info definition ...................................................................... logging_internal.h: Fix osmo_log_info definition Global symbol osmo_log_info is declared in logging.c as non-const, because it is modified. As soon as logging_internal.h is included into logging.c, the compiler warns about osmo_log_info being declared twice differently. Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 --- M include/osmocom/core/logging_internal.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/15558/1 diff --git a/include/osmocom/core/logging_internal.h b/include/osmocom/core/logging_internal.h index a510f83..01c96ce 100644 --- a/include/osmocom/core/logging_internal.h +++ b/include/osmocom/core/logging_internal.h @@ -7,7 +7,7 @@ #include extern void *tall_log_ctx; -extern const struct log_info *osmo_log_info; +extern struct log_info *osmo_log_info; extern const struct value_string loglevel_strs[]; void assert_loginfo(const char *src); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 Gerrit-Change-Number: 15558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:23:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:23:39 +0000 Subject: Change in ...libosmocore[master]: logging: Move osmo_log_target_list from logging.h to logging_internal.h Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15559 Change subject: logging: Move osmo_log_target_list from logging.h to logging_internal.h ...................................................................... logging: Move osmo_log_target_list from logging.h to logging_internal.h This list is really not needed by applications and currently only used internally in logging.c and logging_vty.c. Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 --- M include/osmocom/core/logging.h M include/osmocom/core/logging_internal.h 2 files changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/15559/1 diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 803b4a9..c2648f3 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -377,6 +377,5 @@ void log_del_target(struct log_target *target); struct log_target *log_target_find(int type, const char *fname); -extern struct llist_head osmo_log_target_list; /*! @} */ diff --git a/include/osmocom/core/logging_internal.h b/include/osmocom/core/logging_internal.h index 01c96ce..2e65660 100644 --- a/include/osmocom/core/logging_internal.h +++ b/include/osmocom/core/logging_internal.h @@ -9,6 +9,7 @@ extern void *tall_log_ctx; extern struct log_info *osmo_log_info; extern const struct value_string loglevel_strs[]; +extern struct llist_head osmo_log_target_list; void assert_loginfo(const char *src); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:23:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:23:39 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs * log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M include/osmocom/core/logging.h M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/logging/logging_vty_test.c 6 files changed, 202 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/1 diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index c2648f3..73df8e9 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -378,4 +378,18 @@ struct log_target *log_target_find(int type, const char *fname); +void log_enable_multithread(void); + +#define LOG_MTX_DEBUG 0 +#if LOG_MTX_DEBUG + #include + void _log_tgt_mutex_lock(void); + void _log_tgt_mutex_unlock(void); + #define log_tgt_mutex_lock() do { fprintf(stderr, "[%lu] %s:%d [%s] lock\n", pthread_self(), __FILE__, __LINE__, __func__); _log_tgt_mutex_lock(); } while (0) + #define log_tgt_mutex_unlock() do { fprintf(stderr, "[%lu] %s:%d [%s] unlock\n", pthread_self(), __FILE__, __LINE__, __func__); _log_tgt_mutex_unlock(); } while (0) +#else + void log_tgt_mutex_lock(void); + void log_tgt_mutex_unlock(void); +#endif + /*! @} */ diff --git a/src/gb/gprs_bssgp_vty.c b/src/gb/gprs_bssgp_vty.c index 3af6517..5dab94e 100644 --- a/src/gb/gprs_bssgp_vty.c +++ b/src/gb/gprs_bssgp_vty.c @@ -181,21 +181,27 @@ "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; struct bssgp_bvc_ctx *bvc; uint16_t nsei = atoi(argv[0]); uint16_t bvci = atoi(argv[1]); - if (!tgt) + log_tgt_mutex_lock(); + tgt = osmo_log_vty2tgt(vty); + if (!tgt) { + log_tgt_mutex_unlock(); return CMD_WARNING; + } bvc = btsctx_by_bvci_nsei(bvci, nsei); if (!bvc) { vty_out(vty, "No BVC by that identifier%s", VTY_NEWLINE); + log_tgt_mutex_unlock(); return CMD_WARNING; } log_set_bvc_filter(tgt, bvc); + log_tgt_mutex_unlock(); return CMD_SUCCESS; } diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 53c71a9..4a90436 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -587,12 +587,16 @@ "Identify NS-VC by NSVCI\n" "Numeric identifier\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; struct gprs_nsvc *nsvc; uint16_t id = atoi(argv[1]); - if (!tgt) + log_tgt_mutex_lock(); + tgt = osmo_log_vty2tgt(vty); + if (!tgt) { + log_tgt_mutex_unlock(); return CMD_WARNING; + } if (!strcmp(argv[0], "nsei")) nsvc = gprs_nsvc_by_nsei(vty_nsi, id); @@ -601,10 +605,12 @@ if (!nsvc) { vty_out(vty, "No NS-VC by that identifier%s", VTY_NEWLINE); + log_tgt_mutex_unlock(); return CMD_WARNING; } log_set_nsvc_filter(tgt, nsvc); + log_tgt_mutex_unlock(); return CMD_SUCCESS; } diff --git a/src/logging.c b/src/logging.c index 1c3544f..57d6ee4 100644 --- a/src/logging.c +++ b/src/logging.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -63,6 +64,54 @@ void *tall_log_ctx = NULL; LLIST_HEAD(osmo_log_target_list); +/*! This mutex must be hold while using osmo_log_target_list or any of its + log_targets. Prevents race conditions between threads like producing + unordered timestamps or VTY deleting a target while another thread is writing + to it */ +pthread_mutex_t osmo_log_tgt_mutex; +bool osmo_log_tgt_mutex_on = false; + +/*! Enable multithread support (mutex) in libosmocore logging system. + * Must be called by processes willing to use logging subsystem from several + * threads. Once enabled, it's not possible to disable it again. + */ +void log_enable_multithread(void) { + if (osmo_log_tgt_mutex_on) + return; + pthread_mutex_init(&osmo_log_tgt_mutex, NULL); + osmo_log_tgt_mutex_on = true; +} + +/*! Acquire the osmo_log_tgt_mutex. + */ +#if LOG_MTX_DEBUG +void _log_tgt_mutex_lock(void) { +#else +void log_tgt_mutex_lock(void) { +#endif +/* These lines are useful to debug scenarios where there's only 1 thread and a + double lock appears, for instance during startup and some unlock() missing + somewhere: + if (osmo_log_tgt_mutex_on && pthread_mutex_trylock(&osmo_log_tgt_mutex) != 0) + osmo_panic("acquiring already locked mutex!\n"); + return; +*/ + + if (osmo_log_tgt_mutex_on) + pthread_mutex_lock(&osmo_log_tgt_mutex); +} + +/*! Release the osmo_log_tgt_mutex. + */ +#if LOG_MTX_DEBUG +void _log_tgt_mutex_unlock(void) { +#else +void log_tgt_mutex_unlock(void) { +#endif + if (osmo_log_tgt_mutex_on) + pthread_mutex_unlock(&osmo_log_tgt_mutex); +} + const struct value_string loglevel_strs[] = { { LOGL_DEBUG, "DEBUG" }, { LOGL_INFO, "INFO" }, @@ -532,6 +581,8 @@ subsys = map_subsys(subsys); + log_tgt_mutex_lock(); + llist_for_each_entry(tar, &osmo_log_target_list, entry) { va_list bp; @@ -548,6 +599,8 @@ _output(tar, subsys, level, file, line, cont, format, bp); va_end(bp); } + + log_tgt_mutex_unlock(); } /*! logging function used by DEBUGP() macro @@ -866,7 +919,7 @@ } #endif -/*! Find a registered log target +/*! Find a registered log target. Must be called with mutex locked. * \param[in] type Log target type * \param[in] fname File name * \returns Log target (if found), NULL otherwise @@ -942,6 +995,8 @@ struct log_target *tar; int rc = 0; + log_tgt_mutex_lock(); + llist_for_each_entry(tar, &osmo_log_target_list, entry) { switch (tar->type) { case LOG_TGT_TYPE_FILE: @@ -953,6 +1008,8 @@ } } + log_tgt_mutex_lock(); + return rc; } @@ -1015,6 +1072,8 @@ { struct log_target *tar, *tar2; + log_tgt_mutex_lock(); + llist_for_each_entry_safe(tar, tar2, &osmo_log_target_list, entry) log_target_destroy(tar); @@ -1022,6 +1081,8 @@ osmo_log_info = NULL; talloc_free(tall_log_ctx); tall_log_ctx = NULL; + + log_tgt_mutex_unlock(); } /*! Check whether a log entry will be generated. @@ -1036,15 +1097,19 @@ /* TODO: The following could/should be cached (update on config) */ + log_tgt_mutex_lock(); + llist_for_each_entry(tar, &osmo_log_target_list, entry) { if (!should_log_to_target(tar, subsys, level)) continue; /* This might get logged (ignoring filters) */ + log_tgt_mutex_unlock(); return 1; } /* We are sure, that this will not be logged. */ + log_tgt_mutex_unlock(); return 0; } diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c index d639a8f..a772fa5 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -101,6 +101,22 @@ return target; } +/* Get tgt with log lock acquired, return and release lock if tgt is not found. + Lock must be released later with log_tgt_mutex_unlock() */ +#define ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt) do { \ + log_tgt_mutex_lock(); \ + tgt = osmo_log_vty2tgt(vty); \ + if (!(tgt)) { \ + log_tgt_mutex_unlock(); \ + return CMD_WARNING; \ + } \ + } while (0) + +#define RET_WITH_UNLOCK(ret) do { \ + log_tgt_mutex_unlock(); \ + return (ret); \ + } while (0) + DEFUN(enable_logging, enable_logging_cmd, "logging enable", @@ -118,9 +134,9 @@ conn->dbg = log_target_create_vty(vty); if (!conn->dbg) return CMD_WARNING; - + log_tgt_mutex_lock(); log_add_target(conn->dbg); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } struct log_target *osmo_log_vty2tgt(struct vty *vty) @@ -146,13 +162,12 @@ "Only print messages matched by other filters\n" "Bypass filter and print all messages\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_all_filter(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_use_clr, @@ -162,13 +177,12 @@ "Don't use color for printing messages\n" "Use color for printing messages\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_use_color(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_prnt_timestamp, @@ -178,13 +192,12 @@ "Don't prefix each log message\n" "Prefix each log message with current timestamp\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_timestamp(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_prnt_ext_timestamp, @@ -195,13 +208,12 @@ "Don't prefix each log message\n" "Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_extended_timestamp(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_prnt_cat, @@ -212,13 +224,11 @@ "Don't prefix each log message\n" "Prefix each log message with category/subsystem name\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); - - if (!tgt) - return CMD_WARNING; + struct log_target *tgt; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_category(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_prnt_cat_hex, @@ -229,13 +239,12 @@ "Don't prefix each log message\n" "Prefix each log message with category/subsystem nr in hex ('<000b>')\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_category_hex(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_prnt_level, @@ -246,13 +255,12 @@ "Don't prefix each log message\n" "Prefix each log message with the log level name\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_level(tgt, atoi(argv[0])); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } static const struct value_string logging_print_file_args[] = { @@ -273,17 +281,16 @@ "Log source file info at the end of a log line. If omitted, log source file info just" " before the log text.\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_set_print_filename2(tgt, get_string_value(logging_print_file_args, argv[0])); if (argc > 1) log_set_print_filename_pos(tgt, LOG_FILENAME_POS_LINE_END); else log_set_print_filename_pos(tgt, LOG_FILENAME_POS_HEADER_END); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } static void add_category_strings(char **cmd_str_p, char **doc_str_p, @@ -332,27 +339,26 @@ NULL, /* cmdstr is dynamically set in logging_vty_add_cmds(). */ NULL) /* same thing for helpstr. */ { + struct log_target *tgt; int category = log_parse_category(argv[0]); int level = log_parse_level(argv[1]); - struct log_target *tgt = osmo_log_vty2tgt(vty); - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); if (level < 0) { vty_out(vty, "Invalid level `%s'%s", argv[1], VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } if (category < 0) { vty_out(vty, "Invalid category `%s'%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } tgt->categories[category].enabled = 1; tgt->categories[category].loglevel = level; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(logging_level_set_all, logging_level_set_all_cmd, @@ -362,12 +368,11 @@ " to take back these changes -- each category is set to the given level, period.\n" LOG_LEVEL_STRS) { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; int level = log_parse_level(argv[0]); int i; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); for (i = 0; i < osmo_log_info->num_cat; i++) { struct log_category *cat = &tgt->categories[i]; @@ -378,7 +383,7 @@ cat->enabled = 1; cat->loglevel = level; } - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } /* logging level () everything */ @@ -394,23 +399,25 @@ "logging level force-all " LOG_LEVEL_ARGS, LOGGING_STR LEVEL_STR FORCE_ALL_STR LOG_LEVEL_STRS) { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; int level = log_parse_level(argv[0]); - if (!tgt) - return CMD_WARNING; + + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); + log_set_log_level(tgt, level); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(no_logging_level_force_all, no_logging_level_force_all_cmd, "no logging level force-all", NO_STR LOGGING_STR LEVEL_STR NO_FORCE_ALL_STR) { - struct log_target *tgt = osmo_log_vty2tgt(vty); - if (!tgt) - return CMD_WARNING; + struct log_target *tgt; + + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); + log_set_log_level(tgt, 0); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } /* 'logging level all (debug|...|fatal)' */ @@ -438,13 +445,12 @@ " " OSMO_STRINGIFY(LOGL_FATAL) "=" OSMO_STRINGIFY_VAL(LOGL_FATAL) "\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_parse_category_mask(tgt, argv[0]); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } ALIAS_DEPRECATED(logging_set_category_mask, @@ -462,17 +468,16 @@ LOGGING_STR "Disables logging to this vty\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; struct telnet_connection *conn = (struct telnet_connection *) vty->priv; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); log_del_target(tgt); talloc_free(tgt); conn->dbg = NULL; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } static void vty_print_logtarget(struct vty *vty, const struct log_info *info, @@ -517,14 +522,12 @@ SHOW_STR SHOW_LOG_STR "Show current logging configuration for this vty\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; - if (!tgt) - return CMD_WARNING; + ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); vty_print_logtarget(vty, osmo_log_info, tgt); - - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(show_alarms, @@ -535,11 +538,14 @@ { int i, num_alarms; struct osmo_strrb *rb; - struct log_target *tgt = log_target_find(LOG_TGT_TYPE_STRRB, NULL); + struct log_target *tgt; + + log_tgt_mutex_lock(); + tgt = log_target_find(LOG_TGT_TYPE_STRRB, NULL); if (!tgt) { vty_out(vty, "%% No alarms, run 'log alarms <2-32700>'%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } rb = tgt->tgt_rb.rb; @@ -550,8 +556,7 @@ for (i = 0; i < num_alarms; i++) vty_out(vty, "%% %s%s", osmo_strrb_get_nth(rb, i), VTY_NEWLINE); - - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } gDEFUN(cfg_description, cfg_description_cmd, @@ -625,6 +630,7 @@ { struct log_target *tgt; + log_tgt_mutex_lock(); /* First delete the old syslog target, if any */ tgt = log_target_find(LOG_TGT_TYPE_SYSLOG, NULL); if (tgt) @@ -633,14 +639,14 @@ tgt = log_target_create_syslog(host.app_info->name, 0, facility); if (!tgt) { vty_out(vty, "%% Unable to open syslog%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_add_target(tgt); vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_log_syslog_local, cfg_log_syslog_local_cmd, @@ -700,16 +706,17 @@ { struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_SYSLOG, NULL); if (!tgt) { vty_out(vty, "%% No syslog target found%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_target_destroy(tgt); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } #endif /* HAVE_SYSLOG_H */ @@ -721,6 +728,7 @@ const char *hostname = argc ? argv[0] : "127.0.0.1"; struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_GSMTAP, hostname); if (!tgt) { tgt = log_target_create_gsmtap(hostname, GSMTAP_UDP_PORT, @@ -729,7 +737,7 @@ if (!tgt) { vty_out(vty, "%% Unable to create GSMTAP log for %s%s", hostname, VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_add_target(tgt); } @@ -737,7 +745,7 @@ vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_log_stderr, cfg_log_stderr_cmd, @@ -746,13 +754,14 @@ { struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_STDERR, NULL); if (!tgt) { tgt = log_target_create_stderr(); if (!tgt) { vty_out(vty, "%% Unable to create stderr log%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_add_target(tgt); } @@ -760,7 +769,7 @@ vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_no_log_stderr, cfg_no_log_stderr_cmd, @@ -769,15 +778,16 @@ { struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_STDERR, NULL); if (!tgt) { vty_out(vty, "%% No stderr logging active%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_target_destroy(tgt); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_log_file, cfg_log_file_cmd, @@ -787,13 +797,14 @@ const char *fname = argv[0]; struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_FILE, fname); if (!tgt) { tgt = log_target_create_file(fname); if (!tgt) { vty_out(vty, "%% Unable to create file `%s'%s", fname, VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_add_target(tgt); } @@ -801,7 +812,7 @@ vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } @@ -812,16 +823,17 @@ const char *fname = argv[0]; struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_FILE, fname); if (!tgt) { vty_out(vty, "%% No such log file `%s'%s", fname, VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_target_destroy(tgt); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_log_alarms, cfg_log_alarms_cmd, @@ -832,6 +844,8 @@ struct log_target *tgt; unsigned int rbsize = atoi(argv[0]); + + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_STRRB, NULL); if (tgt) log_target_destroy(tgt); @@ -840,14 +854,14 @@ if (!tgt) { vty_out(vty, "%% Unable to create osmo_strrb (size %u)%s", rbsize, VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_add_target(tgt); vty->index = tgt; vty->node = CFG_LOG_NODE; - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } DEFUN(cfg_no_log_alarms, cfg_no_log_alarms_cmd, @@ -856,15 +870,16 @@ { struct log_target *tgt; + log_tgt_mutex_lock(); tgt = log_target_find(LOG_TGT_TYPE_STRRB, NULL); if (!tgt) { vty_out(vty, "%% No osmo_strrb target found%s", VTY_NEWLINE); - return CMD_WARNING; + RET_WITH_UNLOCK(CMD_WARNING); } log_target_destroy(tgt); - return CMD_SUCCESS; + RET_WITH_UNLOCK(CMD_SUCCESS); } static int config_write_log_single(struct vty *vty, struct log_target *tgt) @@ -962,11 +977,13 @@ static int config_write_log(struct vty *vty) { + log_tgt_mutex_lock(); struct log_target *dbg = vty->index; llist_for_each_entry(dbg, &osmo_log_target_list, entry) config_write_log_single(vty, dbg); + log_tgt_mutex_unlock(); return 1; } diff --git a/tests/logging/logging_vty_test.c b/tests/logging/logging_vty_test.c index 30426f3..e7019f6 100644 --- a/tests/logging/logging_vty_test.c +++ b/tests/logging/logging_vty_test.c @@ -241,6 +241,7 @@ vty_init(&vty_info); osmo_init_logging2(root_ctx, &log_info); + log_enable_multithread(); vty_commands_init(); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:29:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:29:32 +0000 Subject: Change in ...osmo-trx[master]: Use new libosmocore logging lock API Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15561 Change subject: Use new libosmocore logging lock API ...................................................................... Use new libosmocore logging lock API Since libosmocore Id7711893b34263baacac6caf4d489467053131bb, a new API log_enable_multithread() is available which takes care of protecting logging infrastructure from us (and actually does it correctly since we cannot protect internal libosmocore structures from osmo-trx). Let's drop all mutex related code from osmo-trx logging infra and simply rely on libosmocore's. Related: OS#4088 Change-Id: I519d0f30bce871005ca26b90177ea4aa4839360a --- M CommonLibs/Logger.cpp M CommonLibs/debug.c M CommonLibs/debug.h M Transceiver52M/osmo-trx.cpp 4 files changed, 5 insertions(+), 63 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/61/15561/1 diff --git a/CommonLibs/Logger.cpp b/CommonLibs/Logger.cpp index 5db7f87..89e13e5 100644 --- a/CommonLibs/Logger.cpp +++ b/CommonLibs/Logger.cpp @@ -48,9 +48,11 @@ int neednl = (mlen==0 || mStream.str()[mlen-1] != '\n'); const char *fmt = neednl ? "%s\n" : "%s"; - log_mutex_lock_canceldisable(&old_state); + /* print related function called inside a C++ destructor, use pthread_setcancelstate() APIs. + See osmo-trx commit 86be40b4eb762d5c12e8e3f7388ca9f254e77b36 for more information */ + pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_state); LOGPSRC(mCategory, mPriority, filename, line, fmt, mStream.str().c_str()); - log_mutex_unlock_canceldisable(old_state); + pthread_setcancelstate(old_state, NULL); } ostringstream& Log::get() diff --git a/CommonLibs/debug.c b/CommonLibs/debug.c index 48d4981..09dab2b 100644 --- a/CommonLibs/debug.c +++ b/CommonLibs/debug.c @@ -59,49 +59,3 @@ .cat = default_categories, .num_cat = ARRAY_SIZE(default_categories), }; - -pthread_mutex_t log_mutex; - -bool log_mutex_init() { - int rc; - pthread_mutexattr_t attr; - - if ((rc = pthread_mutexattr_init(&attr))) { - fprintf(stderr, "pthread_mutexattr_init() failed: %d\n", rc); - return false; - } - if ((rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE))) { - fprintf(stderr, "pthread_mutexattr_settype() failed: %d\n", rc); - return false; - } - if ((rc = pthread_mutex_init(&log_mutex, &attr))) { - fprintf(stderr, "pthread_mutex_init() failed: %d\n", rc); - return false; - } - if ((rc = pthread_mutexattr_destroy(&attr))) { - fprintf(stderr, "pthread_mutexattr_destroy() failed: %d\n", rc); - return false; - } - return true; - /* FIXME: do we need to call pthread_mutex_destroy() during process exit? */ -} - -/* If called inside a C++ destructor, use log_mutex_(un)lock_canceldisable() APIs instead. - See osmo-trx commit 86be40b4eb762d5c12e8e3f7388ca9f254e77b36 for more information */ -void log_mutex_lock() { - OSMO_ASSERT(!pthread_mutex_lock(&log_mutex)); -} - -void log_mutex_unlock() { - OSMO_ASSERT(!pthread_mutex_unlock(&log_mutex)); -} - -void log_mutex_lock_canceldisable(int *st) { - pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, st); - log_mutex_lock(); -} - -void log_mutex_unlock_canceldisable(int st) { - log_mutex_unlock(); - pthread_setcancelstate(st, NULL); -} diff --git a/CommonLibs/debug.h b/CommonLibs/debug.h index 760ab32..ad12bb8 100644 --- a/CommonLibs/debug.h +++ b/CommonLibs/debug.h @@ -15,21 +15,10 @@ DLMS, }; - -bool log_mutex_init(); -void log_mutex_lock(); -void log_mutex_unlock(); -void log_mutex_lock_canceldisable(int *st); -void log_mutex_unlock_canceldisable(int st); - #define CLOGC(category, level, fmt, args...) do { \ - log_mutex_lock(); \ LOGP(category, level, "[tid=%lu] " fmt, pthread_self(), ##args); \ - log_mutex_unlock(); \ } while(0) #define CLOGCHAN(chan, category, level, fmt, args...) do { \ - log_mutex_lock(); \ LOGP(category, level, "[tid=%lu][chan=%lu] " fmt, pthread_self(), chan, ##args); \ - log_mutex_unlock(); \ } while(0) diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index ab0b631..0612a94 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -571,14 +571,11 @@ #endif #endif - if (!log_mutex_init()) { - fprintf(stderr, "Failed to initialize log mutex!\n"); - exit(2); - } convolve_init(); convert_init(); osmo_init_logging2(tall_trx_ctx, &log_info); + log_enable_multithread(); osmo_stats_init(tall_trx_ctx); vty_init(&g_vty_info); ctrl_vty_init(tall_trx_ctx); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I519d0f30bce871005ca26b90177ea4aa4839360a Gerrit-Change-Number: 15561 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:43:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:43:16 +0000 Subject: Change in ...osmo-trx[master]: Log RACH burst detection In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15536 ) Change subject: Log RACH burst detection ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8adea88ac6f1d9e712352cf1ac374d5bb68e12 Gerrit-Change-Number: 15536 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 18:58:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 17 Sep 2019 18:58:16 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15560 to look at the new patch set (#2). Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs * log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M include/osmocom/core/logging.h M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/logging/logging_vty_test.c 6 files changed, 210 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:05:36 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 17 Sep 2019 23:05:36 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/#/c/15481/6/include/osmocom/sgsn/gprs_ranap.h File include/osmocom/sgsn/gprs_ranap.h: https://gerrit.osmocom.org/#/c/15481/6/include/osmocom/sgsn/gprs_ranap.h at 25 PS6, Line 25: inline static void sgsn_ranap_iu_free(void *ctx) {}; > Why do you need this? the code calling this functions should be always inside BUILD_IU afaiu. i like it this way to define them as no-op instead of using a ifdef multiple times. E.g. when using it in gprs_mm_state_iu_fsm.h I would need to add ifdef BUILD_IU around it. Same in gmm_attach.c if we release the Iu connection of RAU where we don't have any context -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 23:05:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:33:29 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:33:29 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: Code-Review-1 (7 comments) All in all very nice. Please also add range tests to all of the *.vty transcript tests, see tests/tdef/tdef_vty*, so that we can also verify the VTY behavior. BTW, in order to benefit from the range checks, all tdef users need to be changed to use osmo_tdef_set() instead of osmo_tdef_get_entry()? Do you have related patches? ... just realizing that this only needs to be done as soon as an application actually sets min and max values, so that should be fine. But this should be mentioned in the API doc of the new min and max members. https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c at 137 PS1, Line 137: Set all osmo_tdef values to the default_val. > Please update documentation too as you're introducing additional functionality. IMHO this doesn't need a doc update... https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c at 235 PS1, Line 235: EINVAL > How about ERANGE? also prefer -ERANGE. Does a cfg file with out-of-range value cause a proper errmsg and stop the program from starting? https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c File src/vty/tdef_vty.c: https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c at 127 PS1, Line 127: Invalid T timer value %lu (should be %lu <= val <= %lu) > This message could be more concrete: [?] I also prefer fixeria's errmsg, and please also output the T number (using OSMO_T_FMT and OSMO_T_FMT_ARGS like in line 90). The reason is that otherwise it is really really hard to figure out which .cfg line was responsible for the error. https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c at 128 PS1, Line 128: new_val, t->min_val, t->max_val ? : (unsigned long) -1 , VTY_NEWLINE); rather ULONG_MAX from limits.h https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c at 188 PS1, Line 188: vty_out(vty, ", range: [%lu,%lu]", t->min_val, t->max_val ? : (unsigned long) -1); ULONG_MAX https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c File tests/tdef/tdef_test.c: https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c at 164 PS1, Line 164: printf("setting 7 = 10 (EINVAL)\n"); (also -ERANGE) https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c at 183 PS1, Line 183: OSMO_ASSERT(osmo_tdef_set(tdefs, 23, 50, OSMO_TDEF_S) == -EEXIST); this is a nice test to add, but seems unrelated to this patch? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 23:33:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:38:09 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:38:09 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... Patch Set 6: almost forgot about this one. will do. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Sep 2019 23:38:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:47:07 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:47:07 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 to look at the new patch set (#7). Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... fix error on BSSMAP Cipher Mode Complete L3 msg IE When an MS returns the IMEISV in the BSSMAP Cipher Mode Complete message in the Layer 3 Message Contents IE, do not re-invoke the decode_cb() a second time, but instead point to it from the ran_msg.cipher_mode_complete struct. When the MSC-A decodes the Ciphering Mode Complete message, it always wants to also decode the enclosed DTAP from the Layer 3 Message Contents IE. However, when the MSC-I preliminarily decodes messages, it often just wants to identify specific messages without fully acting on them, let alone dispatching RAN_UP_L2 events more than once. So leave it up to the supplied decode_cb passed to ran_dec_l2() implementations to decide whether to decode the DTAP. In msc_a.c hence evaluate the DTAP by passing a non-allocated msgb instance to msc_a_up_l3(), which will evaluate the RR Ciphering Mode Complete message found in the BSSMAP Cipher Mode Complete's Layer 3 Message Contents IE. Particularly, the previous choice of calling the decode_cb a second time for the enclosed DTAP caused a header/length parsing error: the second decode_cb call tried to mimick DTAP by overwriting the l3h pointer and truncating the length of the msgb, but subsequently ran_a_decode_l2() would again derive the l3h from the l2h, obliterating the intended re-interpretation as DTAP, and hence the previous truncation caused error messages on each and every Cipher Mode Complete message, like: DBSSAP ERROR libmsc/ran_msg_a.c:764 msc_a(IMSI-26242340300XXXX:MSISDN-XXXX:TMSI-0xA73E055A:GERAN-A-77923:LU)[0x5563947521e0]{MSC_A_ST_AUTH_CIPH}: RAN decode: BSSMAP: BSSMAP data truncated, discarding message This error was seen a lot at CCCamp2019. Modifying the msgb was a bad idea to begin with, the approach taken in this patch is much cleaner. Note that apparently many phones include the IMEISV in the Cipher Mode Complete message even though the BSSMAP Cipher Mode Command did not include the Cipher Response Mode IE. So, even though we did not specifically ask for the Cipher Mode Complete to include any identity, many MS default to including the IMEISV of their own accord. Reproduce: attach to osmo-msc with ciphering enabled using a Samsung Galaxy S4mini. Related: OS#4168 Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d --- M include/osmocom/msc/ran_msg.h M src/libmsc/msc_a.c M src/libmsc/ran_msg_a.c 3 files changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/17/15317/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:49:43 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:49:43 +0000 Subject: Change in ...osmo-msc[master]: catch GSUP auth result without auth_fsm In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15544 ) Change subject: catch GSUP auth result without auth_fsm ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15544/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/15544/1/src/libvlr/vlr.c at 760 PS1, Line 760: if (!auth_fi) { > Is it clear how can this happen? How it comes the subscriber has no fi? or it is fixing an unknown s [?] See the referenced issue -- I asked the submitter for more details, but until then I'm at a loss. All I know at this point is that it makes a lot of sense to not assume an auth_fsm is present just because some external program sent a specific GSUP message. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e Gerrit-Change-Number: 15544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 23:49:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:50:30 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:50:30 +0000 Subject: Change in ...libosmocore[master]: sanity: make vty buffer_* API NULL safe In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15265 ) Change subject: sanity: make vty buffer_* API NULL safe ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idca3f54dc986abf6784790c12e69e02bdf77cb41 Gerrit-Change-Number: 15265 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 17 23:55:07 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Sep 2019 23:55:07 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Patch Set 6: Code-Review-1 Atomic patches are good, but IMHO this one is sub-atomic: it is hard to tell whether these functions are well designed when there are no callers. Please don't add dead code, i.e. squash this patch into the other patch that actually calls these functions? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Sep 2019 23:55:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:01:36 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:01:36 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 ) Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... Patch Set 6: Code-Review+1 (1 comment) would prefer if this patch included the other one defining the new release/free functions https://gerrit.osmocom.org/#/c/15482/6/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15482/6/src/sgsn/gprs_ranap.c at 138 PS6, Line 138: if (mm->iu.mm_state_fsm->state == ST_PMM_CONNECTED) (could mm_state_fsm ever be NULL for some mm in a weird state?) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:01:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:05:20 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:05:20 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 7: Code-Review+1 should be able to easily fix the failing transcript test like this: cd osmo-sgsn/tests make vty-transcript-test U=-u which automagically updates the *.vty file in the source tree. Then make sure that the git diff simply adds the new timer. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:06:27 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:06:27 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/#/c/15483/7/src/sgsn/gprs_mm_state_iu_fsm.c File src/sgsn/gprs_mm_state_iu_fsm.c: https://gerrit.osmocom.org/#/c/15483/7/src/sgsn/gprs_mm_state_iu_fsm.c at 113 PS7, Line 113: .in_event_mask = X(E_PMM_PS_CONN_RELEASE) | X(E_PMM_RA_UPDATE) | X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_USER_INACTIVITY), (>120?) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:06:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:07:31 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:07:31 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: on Iu release, stop the attach fsm if running In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 ) Change subject: gprs_ranap: on Iu release, stop the attach fsm if running ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee Gerrit-Change-Number: 15485 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:37:02 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:37:02 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 ) Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... Patch Set 2: (14 comments) https://bholley.net/images/posts/thistall.jpg Looks sane to me, but I'm not seeing the bigger picture really. Have never written multithreaded osmo code. Just some style comments... https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h File include/osmocom/core/logging.h: https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h at 383 PS2, Line 383: #define LOG_MTX_DEBUG 0 would be nicer if using programs could somehow set LOG_MTX_DEBUG 1 without re-installing entire libosmocore. That would be a bool then evaluated at runtime. Would be ok, no? https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h at 392 PS2, Line 392: void log_tgt_mutex_unlock(void); I guess it would be cleaner if both cases created symbols of the same kind. i.e. not either #defines or actual functions (bin symbols) depending on the #define value. So that the list of function names in the resulting library remain unchanged. https://gerrit.osmocom.org/#/c/15560/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/15560/2/src/logging.c at 67 PS2, Line 67: /*! This mutex must be hold while using osmo_log_target_list or any of its "must be held" add "in multithreaded programs" https://gerrit.osmocom.org/#/c/15560/2/src/logging.c at 71 PS2, Line 71: #if (!EMBEDDED) rather put this #if above the API comment, not sure if doxygen picks it up properly otherwise https://gerrit.osmocom.org/#/c/15560/2/src/logging.c at 88 PS2, Line 88: #if LOG_MTX_DEBUG (IMHO quite ugly, a plain bool would be much easier to read) https://gerrit.osmocom.org/#/c/15560/2/src/logging.c at 93 PS2, Line 93: /* These lines are useful to debug scenarios where there's only 1 thread and a wrong indent missing ' *' each line https://gerrit.osmocom.org/#/c/15560/2/src/logging.c at 930 PS2, Line 930: /*! Find a registered log target. Must be called with mutex locked. plz explicitly name the mutex for easier code grepping https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c File src/vty/logging_vty.c: https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 105 PS2, Line 105: Lock must be released later with log_tgt_mutex_unlock() */ API doc comment '/*!' missing ' *' https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 106 PS2, Line 106: #define ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt) do { \ (maybe "LOCK_LOG_TGT_OR_RET_WARNING()" to also highlight the enclosed return?) https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 113 PS2, Line 113: } while (0) (IMHO last line should have one less indent) https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 115 PS2, Line 115: #define RET_WITH_UNLOCK(ret) do { \ (maybe "UNLOCK_LOG_TGT_AND_RET()" to also have "LOG_TGT" in the name and be similar to above name?) https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 118 PS2, Line 118: } while (0) (IMHO middle two lines should have one more indent) https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 244 PS2, Line 244: ACQUIRE_VTY_LOG_TGT_WITH_LOCK(vty, tgt); -- gerrit displays this diff wrong for me, silently swallows >200 lines -- -- gosh, those lines appear further down, at around line 1000 instead... o_O -- https://gerrit.osmocom.org/#/c/15560/2/src/vty/logging_vty.c at 930 PS2, Line 930: if (tgt->print_ext_timestamp) explicitly name the mutex for easier grepping -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 00:37:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:38:03 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:38:03 +0000 Subject: Change in ...libosmocore[master]: logging: Move osmo_log_target_list from logging.h to logging_internal.h In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15559 ) Change subject: logging: Move osmo_log_target_list from logging.h to logging_internal.h ...................................................................... Patch Set 1: though, once the cat is out of the bag... could just leave it there? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 00:38:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:40:36 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:40:36 +0000 Subject: Change in ...libosmocore[master]: logging_internal.h: Fix osmo_log_info definition In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15558 ) Change subject: logging_internal.h: Fix osmo_log_info definition ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 Gerrit-Change-Number: 15558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 00:40:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:44:08 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:44:08 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... Patch Set 3: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15408/3/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/#/c/15408/3/src/osmo-bsc/bsc_subscr_conn_fsm.c at 340 PS3, Line 340: * simply drop the connection */ (use full line width) https://gerrit.osmocom.org/#/c/15408/3/src/osmo-bsc/bsc_subscr_conn_fsm.c at 670 PS3, Line 670: yet so we cannot release it. First wait for the CC, and release in gscon_fsm_wait_cc(). */ (a '*' missing) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:44:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:45:29 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:45:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP: fix pattern warning In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/12237 ) Change subject: MGCP: fix pattern warning ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/12237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99948e4b82b5b4bd5b8f7c1a4c60a97fcab3c0eb Gerrit-Change-Number: 12237 Gerrit-PatchSet: 3 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:45:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:45:35 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:45:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MGCP: fix pattern warning In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/12237 ) Change subject: MGCP: fix pattern warning ...................................................................... MGCP: fix pattern warning Remove implied \r to fix following warnings: "Duplicate character `\r' in the character set. Please note the \n includes the \r implicitly. Use \q{0,0,0,10} if you would like to match the LF only." Change-Id: I99948e4b82b5b4bd5b8f7c1a4c60a97fcab3c0eb --- M library/MGCP_Types.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/MGCP_Types.ttcn b/library/MGCP_Types.ttcn index b56734c..6febc51 100644 --- a/library/MGCP_Types.ttcn +++ b/library/MGCP_Types.ttcn @@ -54,7 +54,7 @@ MgcpVersion ver } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\r\n', '([\r\n])|(\r\n)')" + variant "END('\n', '([\n])|(\n)')" } type record MgcpParameter { @@ -63,7 +63,7 @@ } with { variant "BEGIN('')" variant "SEPARATOR(': ', ':[\t ]+')" - variant "END('\r\n', '([\r\n])|(\r\n)')" + variant "END('\n', '([\n])|(\n)')" } type set of MgcpParameter MgcpParameterList with { @@ -76,7 +76,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" + variant (sdp) "BEGIN('\n','([\n])|(\n)')" } external function enc_MgcpCommand(in MgcpCommand id) return charstring @@ -90,7 +90,7 @@ charstring string optional } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\r\n', '([\r\n])|(\r\n)')" + variant "END('\n', '([\n])|(\n)')" } type record MgcpResponse { @@ -99,7 +99,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" + variant (sdp) "BEGIN('\n','([\n])|(\n)')" } external function enc_MgcpResponse(in MgcpResponse id) return charstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/12237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99948e4b82b5b4bd5b8f7c1a4c60a97fcab3c0eb Gerrit-Change-Number: 12237 Gerrit-PatchSet: 4 Gerrit-Owner: Max Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 00:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 00:49:01 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15538/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15538/2//COMMIT_MSG at 7 PS2, Line 7: logging.h: add L1 SAPI related context and filter would be nice to mention the program that is going to be the first user of this, maybe even a change-id with a patch using this -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 00:49:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:04:59 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:04:59 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c at 1607 PS1, Line 1607: uint16_t parse_l1_sapi_str(const char *sapi) { > Looks like you want a value_string here instead of this if+else. there is a sapi_string[] in pcu_sock.c ... it is uppercase though. So you need a new value_string array and then use get_string_value() to get the value for a string. An unknown string will return -EINVAL; to be sure it can't hurt to wrap the get_string_value() and OSMO_ASSERT(val != -EINVAL) https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c at 1640 PS1, Line 1640: *sapi_mask = talloc(tgt, uint16_t); initially I was sure that this was a memleak; instead: kudos for getting this right. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 01:04:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:18:37 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:18:37 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 3: Code-Review-1 (2 comments) This change is ready for review. https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c File src/common/logging.c: https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c at 148 PS3, Line 148: static int filter_fn(const struct log_context *ctx, struct log_target *tgt) (personally would prefer "osmo_bts_filter_fn()" to not overload other generally named filter_fn()s for easier grepping) https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c at 158 PS3, Line 158: return 1; > In OsmoBSC, and even in a libosmocore test, the return values are inverted... [?] Looking at osmo_bsc_main.c filter_fn(), it seems that the intention is this: "Normally", we set 'logging set filter all 1' to see all logging, so should_log_to_target() exits with true before even asking filter_fn()s. But in case of 'filter all 0', then everything is considered switched off. >From this baseline, specific filters can explicitly enable logging to "re-appear": If no filter is set, then you should return 0 -- it remains off. If a filter is set and it matches, return 1: if ((tgt->filter_map & (1 << LOG_FLT_L1_SAPI)) != 0 && sapi_mask && sapi && (*sapi_mask & (1 << *sapi)) != 0) return 1; return 0; Again, compare osmo_bsc_main.c filter_fn(). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 01:18:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:21:30 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:21:30 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use braces around print calls In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15502 ) Change subject: python3 conversion: Use braces around print calls ...................................................................... Patch Set 2: Code-Review+1 also +1 when that missing quote is fixed (what fixeria said) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia472baa8c14b87fe917ea52a998d5ccda66d20d1 Gerrit-Change-Number: 15502 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 01:21:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:23:01 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:23:01 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15505 ) Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 01:23:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:24:56 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15503 ) Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15503/4/pySim/exceptions.py File pySim/exceptions.py: https://gerrit.osmocom.org/#/c/15503/4/pySim/exceptions.py at 27 PS4, Line 27: # This if for compatibility with python 2 and 3 typo: "This is for"? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 4 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 01:24:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:26:02 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:26:02 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: switch to python3 ...................................................................... Patch Set 4: A considerable part of python3 migration is the encoding on I/O. Are you sure this is not reading from files or handling user input that is now lacking a .decode('utf-8') or similar? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 4 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 01:26:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 01:26:49 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 01:26:49 +0000 Subject: Change in ...pysim[master]: switch to python3 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: switch to python3 ...................................................................... Patch Set 4: Code-Review-1 (marking -1 until gnutoo replied about encodings) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 4 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 01:26:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 18 02:04:27 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 18 Sep 2019 02:04:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8190b07b495_79fe2ab2b61805f41998d4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 673s] ar: `u' modifier ignored since `D' is the default (see `U') [ 673s] libtool: link: ranlib .libs/libtransceiver_common.a [ 674s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 674s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 674s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 674s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 674s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 674s] collect2: error: ld returned 1 exit status [ 674s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 674s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 674s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 674s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 674s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 674s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 674s] make[1]: *** [Makefile:444: all] Error 2 [ 674s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 674s] dh_auto_build: make -j1 returned exit code 2 [ 674s] make: *** [debian/rules:6: build] Error 255 [ 674s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 674s] [ 674s] lamb60 failed "build osmo-trx_1.1.1.15.923b.dsc" at Wed Sep 18 02:04:22 UTC 2019. [ 674s] [ 674s] ### VM INTERACTION START ### [ 677s] [ 657.833218] sysrq: SysRq : Power Off [ 677s] [ 657.840218] reboot: Power down [ 678s] ### VM INTERACTION END ### [ 678s] [ 678s] lamb60 failed "build osmo-trx_1.1.1.15.923b.dsc" at Wed Sep 18 02:04:26 UTC 2019. [ 678s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 18 03:53:18 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 18 Sep 2019 03:53:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5d81aa3a25678_79fe2ab2b61805f42147a8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_10/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: rpc timeout (worker was lamb51:5) -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 18 05:13:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 05:13:56 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 05:13:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:42:16 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:42:16 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: Hello pespin, fixeria, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15538 to look at the new patch set (#3). Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... logging.h: add L1 SAPI related context and filter First user is osmo-bts in I6b7bb2e1d61502b61214f854a4ec5cbb7267545b. Related: OS#2356 Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d --- M include/osmocom/core/logging.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/15538/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:42:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:42:24 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: Hello fixeria, pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 to look at the new patch set (#4). Change subject: log: set L1 SAPI context ...................................................................... log: set L1 SAPI context The next commit adds related VTY commands. I've decided to use the global variable sapi_log_ctx instead of directly pointing at pcu_prim->...sapi, because pcu_prim is part of a msgb, which gets deallocated before the log context gets reset. Related: OS#2356 Depends: (libosmocore) I814cb3328d99faca9220adb5a80ffb934f219d7d Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b --- M src/common/pcu_sock.c 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:42:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:42:24 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 to look at the new patch set (#2). Change subject: vty: add "logging filter l1-sapi" ...................................................................... vty: add "logging filter l1-sapi" Add VTY commands to filter by L1 SAPI. Allow to filter by multiple SAPIs by running the filter command multiple times: OsmoBTS> logging filter l1-sapi agch OsmoBTS> logging filter l1-sapi pch Related: OS#2356 Test: (osmo-ttcn3-hacks) I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 --- M src/common/logging.c M src/common/vty.c 2 files changed, 78 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/15550/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:42:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:42:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 to look at the new patch set (#4). Change subject: bts: test for "logging filter l1-sapi" ...................................................................... bts: test for "logging filter l1-sapi" Related: OS#2356 Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 --- M bts/BTS_Tests.ttcn 1 file changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/15540/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:44:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:44:15 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15538/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15538/2//COMMIT_MSG at 7 PS2, Line 7: logging.h: add L1 SAPI related context and filter > would be nice to mention the program that is going to be the first user of this, maybe even a change [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 07:44:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:47:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:47:47 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: (2 comments) As I've read through both osmo-bts patches, I realized that it makes more sense to put the osmo_bts_filter_fn() function into the other patch. That way, this first patch only sets the log context. So I've moved it. https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c File src/common/logging.c: https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c at 148 PS3, Line 148: static int filter_fn(const struct log_context *ctx, struct log_target *tgt) > (personally would prefer "osmo_bts_filter_fn()" to not overload other generally named filter_fn()s f [?] Done. https://gerrit.osmocom.org/#/c/15539/3/src/common/logging.c at 158 PS3, Line 158: return 1; > Looking at osmo_bsc_main.c filter_fn(), it seems that the intention is this: [?] Thank you very much for explaining, updated this code and the test to properly use "logging set filter". -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 07:47:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 07:48:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 07:48:36 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c at 1607 PS1, Line 1607: uint16_t parse_l1_sapi_str(const char *sapi) { > there is a sapi_string[] in pcu_sock.c ... it is uppercase though. [?] Done https://gerrit.osmocom.org/#/c/15550/1/src/common/vty.c at 1640 PS1, Line 1640: *sapi_mask = talloc(tgt, uint16_t); > initially I was sure that this was a memleak; instead: kudos for getting this right. yay, thanks :D -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 07:48:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:10:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:10:26 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 08:10:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:11:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:11:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter l1-sapi" ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 08:11:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:13:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:13:18 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15550/2/src/common/logging.c File src/common/logging.c: https://gerrit.osmocom.org/#/c/15550/2/src/common/logging.c at 32 PS2, Line 32: #include do we need this include? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 08:13:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:19:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 08:19:02 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 to look at the new patch set (#3). Change subject: vty: add "logging filter l1-sapi" ...................................................................... vty: add "logging filter l1-sapi" Add VTY commands to filter by L1 SAPI. Allow to filter by multiple SAPIs by running the filter command multiple times: OsmoBTS> logging filter l1-sapi agch OsmoBTS> logging filter l1-sapi pch Related: OS#2356 Test: (osmo-ttcn3-hacks) I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 --- M src/common/logging.c M src/common/vty.c 2 files changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/15550/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:19:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 08:19:12 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15550/2/src/common/logging.c File src/common/logging.c: https://gerrit.osmocom.org/#/c/15550/2/src/common/logging.c at 32 PS2, Line 32: #include > do we need this include? We don't, removed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 08:19:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:26:03 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 08:26:03 +0000 Subject: Change in ...osmo-pcu[master]: [DO NOT MERGE] jenkins gerrit-verifications test commit Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15562 Change subject: [DO NOT MERGE] jenkins gerrit-verifications test commit ...................................................................... [DO NOT MERGE] jenkins gerrit-verifications test commit Related: OS#4204 Change-Id: I219b68fc3e866bdd065200ed662b10134e2ce106 --- A do_not_merge 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/62/15562/1 diff --git a/do_not_merge b/do_not_merge new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/do_not_merge -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I219b68fc3e866bdd065200ed662b10134e2ce106 Gerrit-Change-Number: 15562 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:52:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:52:28 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 08:52:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:53:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:53:49 +0000 Subject: Change in ...libosmocore[master]: logging_internal.h: Fix osmo_log_info definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15558 ) Change subject: logging_internal.h: Fix osmo_log_info definition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 Gerrit-Change-Number: 15558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 08:53:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:53:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:53:51 +0000 Subject: Change in ...libosmocore[master]: logging_internal.h: Fix osmo_log_info definition In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15558 ) Change subject: logging_internal.h: Fix osmo_log_info definition ...................................................................... logging_internal.h: Fix osmo_log_info definition Global symbol osmo_log_info is declared in logging.c as non-const, because it is modified. As soon as logging_internal.h is included into logging.c, the compiler warns about osmo_log_info being declared twice differently. Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 --- M include/osmocom/core/logging_internal.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/core/logging_internal.h b/include/osmocom/core/logging_internal.h index a510f83..01c96ce 100644 --- a/include/osmocom/core/logging_internal.h +++ b/include/osmocom/core/logging_internal.h @@ -7,7 +7,7 @@ #include extern void *tall_log_ctx; -extern const struct log_info *osmo_log_info; +extern struct log_info *osmo_log_info; extern const struct value_string loglevel_strs[]; void assert_loginfo(const char *src); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iea961c3caeb12ddf60c99d4dca644bb9ab538767 Gerrit-Change-Number: 15558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 08:55:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 08:55:01 +0000 Subject: Change in ...libosmocore[master]: logging: Move osmo_log_target_list from logging.h to logging_internal.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15559 ) Change subject: logging: Move osmo_log_target_list from logging.h to logging_internal.h ...................................................................... Patch Set 1: the commit log message indicates a list is moved. In reality, it's just the forward declaration that is moved; the location of the actual list remains the same. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 08:55:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 09:58:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 09:58:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: test for "logging filter l1-sapi" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 ) Change subject: bts: test for "logging filter l1-sapi" ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c7f113eae7a93c6d4943cac9e3f49f153b323b1 Gerrit-Change-Number: 15540 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 09:58:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 09:58:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 09:58:41 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 09:58:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 10:33:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 10:33:56 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 ) Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h File include/osmocom/core/logging.h: https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h at 383 PS2, Line 383: #define LOG_MTX_DEBUG 0 > would be nicer if using programs could somehow set LOG_MTX_DEBUG 1 without re-installing entire libo [?] I prefer to keep it compile-time only, I don't want to introduce more unneeded performance penalties. This feature is more a handy development/debugging tool in case a deadlock is detected somewhere during development (for instance, adding/changing a logging vty command and forgetting an unlock()). https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h at 392 PS2, Line 392: void log_tgt_mutex_unlock(void); > I guess it would be cleaner if both cases created symbols of the same kind. i.e. [?] Same as explained above. The LOG_MTX_DEBUG case is not intended to be ever deployed in normal cases, simply some code easy to enable and rebuild which can help in some specific cases. Converting the symbol to a define and rebuilding libosmocore (+ possibly app) allows for prints to be executed without changing any other code and avoid performance penalties in 99.99999% of the times this function is going to ever be called. I could have kept this privat eto myself but it was useful to debug an issue I introduced while writing the patch, and I thought it'd be nice to have feature if someone have a similar issue in the future or wants to understand better how locking works here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 10:33:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 10:35:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 10:35:09 +0000 Subject: Change in ...libosmocore[master]: logging: Move extern declaration of osmo_log_target_list from logging... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15559 to look at the new patch set (#2). Change subject: logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h ...................................................................... logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h This list is really not needed by applications and currently only used internally in logging.c and logging_vty.c. Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 --- M include/osmocom/core/logging.h M include/osmocom/core/logging_internal.h 2 files changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/59/15559/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 10:35:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 10:35:09 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15560 to look at the new patch set (#3). Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs * log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M include/osmocom/core/logging.h M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/logging/logging_vty_test.c 6 files changed, 219 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 10:45:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 10:45:21 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: Hello fixeria, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 to look at the new patch set (#4). Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC TTCN3 BSC_Tests.TC_ms_rel_ind_does_not_cause_bssmap_reset seems to sometimes run into a race condition on the order of messages received by osmo-bsc comming from MSC and BTS. Usual (expected) scenario): BTS->BSC EST IND BSC->MSC CL3 Info BSC<-MSC CC BTS->BSC REL IND BTS<-BSC DEACT SACCH BSC->MSC ClearRequest BSC<-MSC ClearCommand BSC->MSC ClearComplete BTS<-BSC RF Chan Release BTS->BSC RF Chan Release ACK Sometimes CC message and REL IND message are received swapped (because they are sent by different components asynchronously in TTCN3). As a result, osmo-bsc was failing to go into CLEARING state and was unable to send the ClearRequest because CC was still not received. So the idea is to stay in WAIT_CC until CC is received, then check if the lchan was dropped and in that case go into clearing state. Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/15408/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 10:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 10:49:29 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > (7 comments) > > All in all very nice. > > Please also add range tests to all of the *.vty transcript tests, see tests/tdef/tdef_vty*, so that we can also verify the VTY behavior. > > BTW, in order to benefit from the range checks, all tdef users need to be changed to use osmo_tdef_set() instead of osmo_tdef_get_entry()? Do you have related patches? ... just realizing that this only needs to be done as soon as an application actually sets min and max values, so that should be fine. But this should be mentioned in the API doc of the new min and max members. Most tdef users actually set the values through VTY, and that one is already checking for ranges (done in this patch). I recently introduced osmo_tdef_set myself in osmo-pcu for timers whose values are coming from osmo-bts, so those are working already. I still need to check if there are other users os osmo_tdef setting tdef->val manually. But in any case it doesn't hurt because they don't have min_val or max_val set, so range check is not applied there. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 10:49:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:06:10 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 18 Sep 2019 11:06:10 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Rename mRadio to mDevice In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15514 ) Change subject: radioInterface: Rename mRadio to mDevice ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/15514/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15514/1//COMMIT_MSG at 9 PS1, Line 9: ready really? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e Gerrit-Change-Number: 15514 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 11:06:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:18:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:18:41 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c at 235 PS1, Line 235: EINVAL > also prefer -ERANGE. [?] Yes it should, see tdef_vty.c -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 11:18:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:21:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:21:04 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Rename mRadio to mDevice In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15514 ) Change subject: radioInterface: Rename mRadio to mDevice ...................................................................... radioInterface: Rename mRadio to mDevice Previous naming is ready confusing, because "Radio" is actually the common term between radioInterface and radioDevice, and it looks like it's referring to radioInterface rather than radioDevice. On the other hand, mDevice cleary states it refers to the radioDevice item. Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp 4 files changed, 37 insertions(+), 37 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 0d33f22..bd19b24 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -32,10 +32,10 @@ #define CHUNK 625 #define NUMCHUNKS 4 -RadioInterface::RadioInterface(RadioDevice *wRadio, size_t tx_sps, +RadioInterface::RadioInterface(RadioDevice *wDevice, size_t tx_sps, size_t rx_sps, size_t chans, int wReceiveOffset, GSM::Time wStartTime) - : mRadio(wRadio), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), + : mDevice(wDevice), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), underrun(false), overrun(false), writeTimestamp(0), readTimestamp(0), receiveOffset(wReceiveOffset), mOn(false) { @@ -93,11 +93,11 @@ } double RadioInterface::fullScaleInputValue(void) { - return mRadio->fullScaleInputValue(); + return mDevice->fullScaleInputValue(); } double RadioInterface::fullScaleOutputValue(void) { - return mRadio->fullScaleOutputValue(); + return mDevice->fullScaleOutputValue(); } int RadioInterface::setPowerAttenuation(int atten, size_t chan) @@ -112,8 +112,8 @@ if (atten < 0.0) atten = 0.0; - rfGain = mRadio->setTxGain(mRadio->maxTxGain() - (double) atten, chan); - digAtten = (double) atten - mRadio->maxTxGain() + rfGain; + rfGain = mDevice->setTxGain(mDevice->maxTxGain() - (double) atten, chan); + digAtten = (double) atten - mDevice->maxTxGain() + rfGain; if (digAtten < 1.0) powerScaling[chan] = 1.0; @@ -148,12 +148,12 @@ bool RadioInterface::tuneTx(double freq, size_t chan) { - return mRadio->setTxFreq(freq, chan); + return mDevice->setTxFreq(freq, chan); } bool RadioInterface::tuneRx(double freq, size_t chan) { - return mRadio->setRxFreq(freq, chan); + return mDevice->setRxFreq(freq, chan); } /** synchronization thread loop */ @@ -169,7 +169,7 @@ } void RadioInterface::alignRadio() { - mRadio->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000); + mDevice->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000); } bool RadioInterface::start() @@ -178,12 +178,12 @@ return true; LOG(INFO) << "Starting radio device"; - if (mRadio->requiresRadioAlign()) + if (mDevice->requiresRadioAlign()) mAlignRadioServiceLoopThread.start( (void * (*)(void*))AlignRadioServiceLoopAdapter, (void*)this); - if (!mRadio->start()) + if (!mDevice->start()) return false; for (size_t i = 0; i < mChans; i++) { @@ -191,11 +191,11 @@ recvBuffer[i]->reset(); } - writeTimestamp = mRadio->initialWriteTimestamp(); - readTimestamp = mRadio->initialReadTimestamp(); + writeTimestamp = mDevice->initialWriteTimestamp(); + readTimestamp = mDevice->initialReadTimestamp(); - mRadio->updateAlignment(writeTimestamp-10000); - mRadio->updateAlignment(writeTimestamp-10000); + mDevice->updateAlignment(writeTimestamp-10000); + mDevice->updateAlignment(writeTimestamp-10000); mOn = true; LOG(INFO) << "Radio started"; @@ -211,7 +211,7 @@ */ bool RadioInterface::stop() { - if (!mOn || !mRadio->stop()) + if (!mOn || !mDevice->stop()) return false; mOn = false; @@ -304,12 +304,12 @@ double RadioInterface::setRxGain(double dB, size_t chan) { - return mRadio->setRxGain(dB, chan); + return mDevice->setRxGain(dB, chan); } double RadioInterface::getRxGain(size_t chan) { - return mRadio->getRxGain(chan); + return mDevice->getRxGain(chan); } /* Receive a timestamped chunk from the device */ @@ -323,7 +323,7 @@ return -1; /* Outer buffer access size is fixed */ - numRecv = mRadio->readSamples(convertRecvBuffer, + numRecv = mDevice->readSamples(convertRecvBuffer, segmentLen, &overrun, readTimestamp, @@ -362,7 +362,7 @@ } /* Send the all samples in the send buffer */ - numSent = mRadio->writeSamples(convertSendBuffer, + numSent = mDevice->writeSamples(convertSendBuffer, segmentLen, &local_underrun, writeTimestamp); diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index dcfb67f..235d888 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -36,7 +36,7 @@ std::vector mReceiveFIFO; ///< FIFO that holds receive bursts - RadioDevice *mRadio; ///< the USRP object + RadioDevice *mDevice; ///< the USRP object size_t mSPSTx; size_t mSPSRx; @@ -84,7 +84,7 @@ virtual void close(); /** constructor */ - RadioInterface(RadioDevice* wRadio, size_t tx_sps, size_t rx_sps, + RadioInterface(RadioDevice* wDevice, size_t tx_sps, size_t rx_sps, size_t chans = 1, int receiveOffset = 3, GSM::Time wStartTime = GSM::Time(0)); @@ -128,10 +128,10 @@ double fullScaleOutputValue(); /** get transport window type of attached device */ - enum RadioDevice::TxWindowType getWindowType() { return mRadio->getWindowType(); } + enum RadioDevice::TxWindowType getWindowType() { return mDevice->getWindowType(); } /** Minimum latency that the device can achieve */ - GSM::Time minLatency() { return mRadio->minLatency(); } + GSM::Time minLatency() { return mDevice->minLatency(); } protected: /** drive synchronization of Tx/Rx of USRP */ @@ -149,7 +149,7 @@ int pullBuffer(); public: - RadioInterfaceResamp(RadioDevice* wRadio, size_t tx_sps, size_t rx_sps); + RadioInterfaceResamp(RadioDevice* wDevice, size_t tx_sps, size_t rx_sps); ~RadioInterfaceResamp(); bool init(int type); diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 0208e82..7c1ee74 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -238,7 +238,7 @@ return -1; /* Outer buffer access size is fixed */ - num = mRadio->readSamples(convertRecvBuffer, + num = mDevice->readSamples(convertRecvBuffer, outerRecvBuffer->size(), &overrun, readTimestamp, @@ -339,7 +339,7 @@ (float *) outerSendBuffer->begin(), 1.0 / (float) mChans, 2 * outerSendBuffer->size()); - size_t num = mRadio->writeSamples(convertSendBuffer, + size_t num = mDevice->writeSamples(convertSendBuffer, outerSendBuffer->size(), &underrun, writeTimestamp); @@ -368,9 +368,9 @@ double shift = (double) getFreqShift(mChans); if (!chan) - return mRadio->setTxFreq(freq + shift * MCBTS_SPACING); + return mDevice->setTxFreq(freq + shift * MCBTS_SPACING); - double center = mRadio->getTxFreq(); + double center = mDevice->getTxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " << freq / 1e6 << " MHz"; @@ -387,9 +387,9 @@ double shift = (double) getFreqShift(mChans); if (!chan) - return mRadio->setRxFreq(freq + shift * MCBTS_SPACING); + return mDevice->setRxFreq(freq + shift * MCBTS_SPACING); - double center = mRadio->getRxFreq(); + double center = mDevice->getRxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " << freq / 1e6 << " MHz"; @@ -401,7 +401,7 @@ double RadioInterfaceMulti::setRxGain(double db, size_t chan) { if (!chan) - return mRadio->setRxGain(db); + return mDevice->setRxGain(db); else - return mRadio->getRxGain(); + return mDevice->getRxGain(); } diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index e2f69f2..d6dc52c 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -59,9 +59,9 @@ static size_t resamp_outrate = 0; static size_t resamp_outchunk = 0; -RadioInterfaceResamp::RadioInterfaceResamp(RadioDevice *wRadio, +RadioInterfaceResamp::RadioInterfaceResamp(RadioDevice *wDevice, size_t tx_sps, size_t rx_sps) - : RadioInterface(wRadio, tx_sps, rx_sps, 1), + : RadioInterface(wDevice, tx_sps, rx_sps, 1), outerSendBuffer(NULL), outerRecvBuffer(NULL) { } @@ -171,7 +171,7 @@ return -1; /* Outer buffer access size is fixed */ - num_recv = mRadio->readSamples(convertRecvBuffer, + num_recv = mDevice->readSamples(convertRecvBuffer, resamp_outchunk, &overrun, readTimestamp, @@ -223,7 +223,7 @@ (float *) outerSendBuffer->begin(), powerScaling[0], 2 * resamp_outchunk); - numSent = mRadio->writeSamples(convertSendBuffer, + numSent = mDevice->writeSamples(convertSendBuffer, resamp_outchunk, &underrun, writeTimestamp); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I708bb1992a156fb63334f5590f2c6648ca27495e Gerrit-Change-Number: 15514 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:21:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:21:05 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Check equals zero explicitly In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15515 ) Change subject: radioInterfaceMulti: Check equals zero explicitly ...................................................................... radioInterfaceMulti: Check equals zero explicitly It's not a pointer check or a boolean expression, in here we really check chan index is 0, so it's more clear doing so this way like it's done in all other places. Change-Id: I83b14487d14ba8272f58796f640f58a88891e532 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 7c1ee74..c41ec22 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -400,7 +400,7 @@ double RadioInterfaceMulti::setRxGain(double db, size_t chan) { - if (!chan) + if (chan == 0) return mDevice->setRxGain(db); else return mDevice->getRxGain(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I83b14487d14ba8272f58796f640f58a88891e532 Gerrit-Change-Number: 15515 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:21:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:21:06 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Fix setRxGain return on error and getRxGain() returning a... In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15516 ) Change subject: USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0 ...................................................................... USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0 field rxGain is set to 0 during constructor and never set after that point. Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469 --- M Transceiver52M/device/usrp1/USRPDevice.cpp 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 63debee..ef3f92a 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -305,10 +305,11 @@ if (!m_dbRx->set_gain(dB)) LOGC(DDEV, ERR) << "Error setting RX gain"; - + else + rxGain = dB; writeLock.unlock(); - return dB; + return rxGain; } bool USRPDevice::setRxAntenna(const std::string &ant, size_t chan) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7fae7a315e5ab98a15c27628a88a92226ef89469 Gerrit-Change-Number: 15516 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:21:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:21:06 +0000 Subject: Change in ...osmo-trx[master]: USRPDevice: Return previous txGain if setting value failed In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15517 ) Change subject: USRPDevice: Return previous txGain if setting value failed ...................................................................... USRPDevice: Return previous txGain if setting value failed Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8 --- M Transceiver52M/device/usrp1/USRPDevice.cpp M Transceiver52M/device/usrp1/USRPDevice.h 2 files changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index ef3f92a..03a4f80 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -71,6 +71,7 @@ decimRate = (unsigned int) round(masterClockRate/((GSMRATE) * (double) tx_sps)); actualSampleRate = masterClockRate/decimRate; rxGain = 0; + txGain = 0; /* * Undetermined delay b/w ping response timestamp and true @@ -279,10 +280,11 @@ if (!m_dbTx->set_gain(dB)) LOGC(DDEV, ERR) << "Error setting TX gain"; - + else + txGain = dB; writeLock.unlock(); - return dB; + return txGain; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 4123c7d..734b361 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -80,6 +80,7 @@ unsigned long lastPktTimestamp; double rxGain; + double txGain; #ifdef SWLOOPBACK short loopbackBuffer[1000000]; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0d8fd51586ef01141d4e5896f0fc3029a22743f8 Gerrit-Change-Number: 15517 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:21:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:21:07 +0000 Subject: Change in ...osmo-trx[master]: LMSDevice: Return previous txGain/rxGain if setting value failed In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15518 ) Change subject: LMSDevice: Return previous txGain/rxGain if setting value failed ...................................................................... LMSDevice: Return previous txGain/rxGain if setting value failed Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398 --- M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index b7cb31d..feeb646 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -55,6 +55,8 @@ m_lms_stream_rx.resize(chans); m_lms_stream_tx.resize(chans); + rx_gains.resize(chans); + tx_gains.resize(chans); rx_buffers.resize(chans); } @@ -412,8 +414,9 @@ if (LMS_SetGaindB(m_lms_dev, LMS_CH_TX, chan, dB) < 0) LOGCHAN(chan, DDEV, ERR) << "Error setting TX gain to " << dB << " dB"; - - return dB; + else + tx_gains[chan] = dB; + return tx_gains[chan]; } double LMSDevice::setRxGain(double dB, size_t chan) @@ -427,8 +430,9 @@ if (LMS_SetGaindB(m_lms_dev, LMS_CH_RX, chan, dB) < 0) LOGCHAN(chan, DDEV, ERR) << "Error setting RX gain to " << dB << " dB"; - - return dB; + else + rx_gains[chan] = dB; + return rx_gains[chan]; } void LMSDevice::log_ant_list(bool dir_tx, size_t chan, std::ostringstream& os) diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index ab45b08..71a706c 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -58,7 +58,7 @@ TIMESTAMP ts_initial, ts_offset; - double rxGain; + std::vector tx_gains, rx_gains; double maxTxGainClamp; bool do_calib(size_t chan); @@ -150,7 +150,7 @@ /** get the current receive gain */ double getRxGain(size_t chan = 0) { - return rxGain; + return rx_gains[chan]; } /** return maximum Rx Gain **/ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I11e853e11bec99fc88e81642f9b2cd87d5815398 Gerrit-Change-Number: 15518 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:23:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 11:23:50 +0000 Subject: Change in ...libosmocore[master]: logging.h: add L1 SAPI related context and filter In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15538 ) Change subject: logging.h: add L1 SAPI related context and filter ...................................................................... logging.h: add L1 SAPI related context and filter First user is osmo-bts in I6b7bb2e1d61502b61214f854a4ec5cbb7267545b. Related: OS#2356 Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d --- M include/osmocom/core/logging.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 803b4a9..e56d3a5 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -154,6 +154,7 @@ LOG_CTX_GB_BVC, LOG_CTX_BSC_SUBSCR, LOG_CTX_VLR_SUBSCR, + LOG_CTX_L1_SAPI, _LOG_CTX_COUNT }; @@ -166,6 +167,7 @@ LOG_FLT_GB_BVC, LOG_FLT_BSC_SUBSCR, LOG_FLT_VLR_SUBSCR, + LOG_FLT_L1_SAPI, _LOG_FLT_COUNT }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I814cb3328d99faca9220adb5a80ffb934f219d7d Gerrit-Change-Number: 15538 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:47:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:47:28 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: Hello fixeria, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15546 to look at the new patch set (#2). Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_vty_test_config_root.c M tests/tdef/tdef_vty_test_config_root.vty 7 files changed, 138 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 11:47:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 11:47:32 +0000 Subject: Change in ...libosmocore[master]: tdef_test: verify case where osmo_tdef_set returns -EEXIST Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15563 Change subject: tdef_test: verify case where osmo_tdef_set returns -EEXIST ...................................................................... tdef_test: verify case where osmo_tdef_set returns -EEXIST Change-Id: I436daa804aac11622fde24afe9ea35193d9e9beb --- M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/15563/1 diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c index 60066b1..276330a 100644 --- a/tests/tdef/tdef_test.c +++ b/tests/tdef/tdef_test.c @@ -179,6 +179,9 @@ print_tdef_get_short(tdefs, 7, OSMO_TDEF_M); print_tdef_get_short(tdefs, 7, OSMO_TDEF_CUSTOM); + printf("setting 23 = 50 (EEXIST)\n"); + OSMO_ASSERT(osmo_tdef_set(tdefs, 23, 50, OSMO_TDEF_S) == -EEXIST); + printf("resetting\n"); osmo_tdefs_reset(tdefs); print_tdef_info(7); diff --git a/tests/tdef/tdef_test.ok b/tests/tdef/tdef_test.ok index 2a3617e..3c4a093 100644 --- a/tests/tdef/tdef_test.ok +++ b/tests/tdef/tdef_test.ok @@ -117,6 +117,7 @@ osmo_tdef_get(7, s) = 420 osmo_tdef_get(7, m) = 7 osmo_tdef_get(7, custom-unit) = 420 +setting 23 = 50 (EEXIST) resetting T7=50s osmo_tdef_get(7, s) = 50 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436daa804aac11622fde24afe9ea35193d9e9beb Gerrit-Change-Number: 15563 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:19:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 12:19:01 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 ) Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 12:19:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:19:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 12:19:04 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15489 ) Change subject: osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() ...................................................................... osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out() Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Fixes: CID#204005 (CID#204007), CID#204006 (CID#204004) --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 45fc701..8b0c761 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1272,7 +1272,8 @@ /* If there is an ECU active on this channel, use its output */ if (lchan->ecu_state) { rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); - goto compose_l1sap; + if (rc >= 0) /* Otherwise we send a BFI */ + goto compose_l1sap; } switch (tch_mode) { @@ -1485,7 +1486,8 @@ /* If there is an ECU active on this channel, use its output */ if (lchan->ecu_state) { rc = osmo_ecu_frame_out(lchan->ecu_state, tch_data); - goto compose_l1sap; + if (rc >= 0) /* Otherwise we send a BFI */ + goto compose_l1sap; } switch (tch_mode) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d244f5ddef46c8b8719f5ec27b7456514d407a Gerrit-Change-Number: 15489 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:21:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 18 Sep 2019 12:21:27 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: I still don't get why this has any mention of PCU in it. the L1 SAPI value can have many other values that have nothing to do with the PCU. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 12:21:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:25:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 12:25:33 +0000 Subject: Change in ...osmo-pcu[master]: tests/app_info: fix compiling with older g++ Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15564 Change subject: tests/app_info: fix compiling with older g++ ...................................................................... tests/app_info: fix compiling with older g++ Do not use C++11 extended initializers to prevent the following error. AppInfoTest.cpp:109:54: error: extended initializer lists only available with -std=c++11 or -std=gnu++11 pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; I ran into this when modifying the gerrit build verification job to build with docker (which still uses GCC-4.9). Related: OS#4204 Change-Id: I307cd87af88e86804a90d6466e9cc3909bfe701f --- M tests/app_info/AppInfoTest.cpp 1 file changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/64/15564/1 diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index c4cf548..ca2c59e 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -47,14 +47,14 @@ fprintf(stderr, "\n"); } -void test_enc() { - struct gsm_pcu_if_app_info_req req = {0, 15, {0xff, 0x00, 0xff}}; +void test_enc(const struct gsm_pcu_if_app_info_req *req) +{ const char *exp = "03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 "; /* shifted by two bits to the right */ struct msgb *msg; char *msg_dump; fprintf(stderr, "--- %s ---\n", __func__); - msg = gprs_rlcmac_app_info_msg(&req); + msg = gprs_rlcmac_app_info_msg(req); msg_dump = msgb_hexdump_c(tall_pcu_ctx, msg); fprintf(stderr, "exp: %s\n", exp); @@ -100,13 +100,13 @@ fprintf(stderr, "\n"); } -void test_sched_app_info_ok() +void test_sched_app_info_ok(const struct gsm_pcu_if_app_info_req *req) { struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; struct msgb *msg; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); msg = sched_app_info(tbf1); @@ -120,13 +120,13 @@ fprintf(stderr, "\n"); } -void test_sched_app_info_missing_app_info_in_bts() +void test_sched_app_info_missing_app_info_in_bts(const struct gsm_pcu_if_app_info_req *req) { struct gprs_rlcmac_bts *bts_data = BTS::main_bts()->bts_data(); struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); msgb_free(bts_data->app_info); @@ -137,12 +137,12 @@ fprintf(stderr, "\n"); } -void test_pcu_rx_overwrite_app_info() +void test_pcu_rx_overwrite_app_info(const struct gsm_pcu_if_app_info_req *req) { struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); fprintf(stderr, "\n"); @@ -162,6 +162,10 @@ int main(int argc, char *argv[]) { + struct gsm_pcu_if_app_info_req req = {0, 15, {0}}; + const uint8_t req_data[] = {0xff, 0x00, 0xff}; + memcpy(req.data, req_data, 3); + tall_pcu_ctx = talloc_named_const(NULL, 1, "AppInfoTest"); osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); log_set_use_color(osmo_stderr_target, 0); @@ -169,13 +173,13 @@ log_parse_category_mask(osmo_stderr_target, "DL1IF,1:DRLCMAC,3:DRLCMACSCHED,1"); test_enc_zero_len(); - test_enc(); + test_enc(&req); test_pcu_rx_no_subscr_with_active_tbf(); prepare_bts_with_two_dl_tbf_subscr(); - test_sched_app_info_ok(); - test_sched_app_info_missing_app_info_in_bts(); - test_pcu_rx_overwrite_app_info(); + test_sched_app_info_ok(&req); + test_sched_app_info_missing_app_info_in_bts(&req); + test_pcu_rx_overwrite_app_info(&req); cleanup(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I307cd87af88e86804a90d6466e9cc3909bfe701f Gerrit-Change-Number: 15564 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:25:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 12:25:33 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 Change subject: configure.ac: set C and C++ dialects ...................................................................... configure.ac: set C and C++ dialects Make sure that the compiler always assumes the same C dialect, to prevent unexpected compiler errors when building with older compilers (on other Linux distrubtions like in OBS, or in docker). Use gnu89 and gnu++03, because that is what the code currently compiles with. Related: OS#3598 Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 --- M configure.ac 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/15565/1 diff --git a/configure.ac b/configure.ac index 5ecd133..2f29047 100644 --- a/configure.ac +++ b/configure.ac @@ -9,6 +9,9 @@ AM_INIT_AUTOMAKE([dist-bzip2]) AC_CONFIG_TESTDIR(tests) +CXXFLAGS="$CXXFLAGS -std=gnu++03" +CFLAGS="$CFLAGS -std=gnu89" + dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 12:28:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 12:28:58 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 ) Change subject: configure.ac: set C and C++ dialects ...................................................................... configure.ac: set C and C++ dialects Make sure that the compiler always assumes the same C dialect, to prevent unexpected compiler errors when building with older compilers (on other Linux distrubtions like in OBS, or in docker). Use gnu89 and gnu++03, because that is what the code currently compiles with. Related: https://lists.osmocom.org/pipermail/openbsc/2019-September/013030.html Related: OS#3598 Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 --- M configure.ac 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/15565/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:10:57 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 18 Sep 2019 13:10:57 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Remove unusued getRxGain() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15519 ) Change subject: radioInterface: Remove unusued getRxGain() ...................................................................... Patch Set 1: Code-Review+1 I don't know why you want to remove it, but the changes look good. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a Gerrit-Change-Number: 15519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:10:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:17:23 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 18 Sep 2019 13:17:23 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Mark setRxGain as virtual In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15541 ) Change subject: radioInterface: Mark setRxGain as virtual ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a Gerrit-Change-Number: 15541 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 18 Sep 2019 13:17:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:19:24 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 18 Sep 2019 13:19:24 +0000 Subject: Change in ...osmo-trx[master]: radioDevice: Introduce getTxGain() API In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15520 ) Change subject: radioDevice: Introduce getTxGain() API ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 Gerrit-Change-Number: 15520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 13:19:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:21:13 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 18 Sep 2019 13:21:13 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... Patch Set 1: I don't know how the inheritance looks like, but aren't you actually adding the setTxGain() method to both RadioInterface and *Multi? So you're overriding the RadioDevice setTxGain method in RadioInterface(Multi)? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:21:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:32:27 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 13:32:27 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 to look at the new patch set (#8). Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... fix error on BSSMAP Cipher Mode Complete L3 msg IE When an MS returns the IMEISV in the BSSMAP Cipher Mode Complete message in the Layer 3 Message Contents IE, do not re-invoke the decode_cb() a second time, but instead point to it from the ran_msg.cipher_mode_complete struct. When the MSC-A decodes the Ciphering Mode Complete message, it always wants to also decode the enclosed DTAP from the Layer 3 Message Contents IE. However, when the MSC-I preliminarily decodes messages, it often just wants to identify specific messages without fully acting on them, let alone dispatching RAN_UP_L2 events more than once. So leave it up to the supplied decode_cb passed to ran_dec_l2() implementations to decide whether to decode the DTAP. In msc_a.c hence evaluate the DTAP by passing a msgb to msc_a_up_l3(), which will evaluate the RR Ciphering Mode Complete message found in the BSSMAP Cipher Mode Complete's Layer 3 Message Contents IE. Particularly, the previous choice of calling the decode_cb a second time for the enclosed DTAP caused a header/length parsing error: the second decode_cb call tried to mimick DTAP by overwriting the l3h pointer and truncating the length of the msgb, but subsequently ran_a_decode_l2() would again derive the l3h from the l2h, obliterating the intended re-interpretation as DTAP, and hence the previous truncation caused error messages on each and every Cipher Mode Complete message, like: DBSSAP ERROR libmsc/ran_msg_a.c:764 msc_a(IMSI-26242340300XXXX:MSISDN-XXXX:TMSI-0xA73E055A:GERAN-A-77923:LU)[0x5563947521e0]{MSC_A_ST_AUTH_CIPH}: RAN decode: BSSMAP: BSSMAP data truncated, discarding message This error was seen a lot at CCCamp2019. Modifying the msgb was a bad idea to begin with, the approach taken in this patch is much cleaner. Note that apparently many phones include the IMEISV in the Cipher Mode Complete message even though the BSSMAP Cipher Mode Command did not include the Cipher Response Mode IE. So, even though we did not specifically ask for the Cipher Mode Complete to include any identity, many MS default to including the IMEISV of their own accord. Reproduce: attach to osmo-msc with ciphering enabled using a Samsung Galaxy S4mini. Related: OS#4168 Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d --- M include/osmocom/msc/ran_msg.h M src/libmsc/msc_a.c M src/libmsc/ran_msg_a.c 3 files changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/17/15317/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:32:30 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 13:32:30 +0000 Subject: Change in ...osmo-msc[master]: fix error on BSSMAP Cipher Mode Complete L3 msg IE In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15317 ) Change subject: fix error on BSSMAP Cipher Mode Complete L3 msg IE ...................................................................... fix error on BSSMAP Cipher Mode Complete L3 msg IE When an MS returns the IMEISV in the BSSMAP Cipher Mode Complete message in the Layer 3 Message Contents IE, do not re-invoke the decode_cb() a second time, but instead point to it from the ran_msg.cipher_mode_complete struct. When the MSC-A decodes the Ciphering Mode Complete message, it always wants to also decode the enclosed DTAP from the Layer 3 Message Contents IE. However, when the MSC-I preliminarily decodes messages, it often just wants to identify specific messages without fully acting on them, let alone dispatching RAN_UP_L2 events more than once. So leave it up to the supplied decode_cb passed to ran_dec_l2() implementations to decide whether to decode the DTAP. In msc_a.c hence evaluate the DTAP by passing a msgb to msc_a_up_l3(), which will evaluate the RR Ciphering Mode Complete message found in the BSSMAP Cipher Mode Complete's Layer 3 Message Contents IE. Particularly, the previous choice of calling the decode_cb a second time for the enclosed DTAP caused a header/length parsing error: the second decode_cb call tried to mimick DTAP by overwriting the l3h pointer and truncating the length of the msgb, but subsequently ran_a_decode_l2() would again derive the l3h from the l2h, obliterating the intended re-interpretation as DTAP, and hence the previous truncation caused error messages on each and every Cipher Mode Complete message, like: DBSSAP ERROR libmsc/ran_msg_a.c:764 msc_a(IMSI-26242340300XXXX:MSISDN-XXXX:TMSI-0xA73E055A:GERAN-A-77923:LU)[0x5563947521e0]{MSC_A_ST_AUTH_CIPH}: RAN decode: BSSMAP: BSSMAP data truncated, discarding message This error was seen a lot at CCCamp2019. Modifying the msgb was a bad idea to begin with, the approach taken in this patch is much cleaner. Note that apparently many phones include the IMEISV in the Cipher Mode Complete message even though the BSSMAP Cipher Mode Command did not include the Cipher Response Mode IE. So, even though we did not specifically ask for the Cipher Mode Complete to include any identity, many MS default to including the IMEISV of their own accord. Reproduce: attach to osmo-msc with ciphering enabled using a Samsung Galaxy S4mini. Related: OS#4168 Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d --- M include/osmocom/msc/ran_msg.h M src/libmsc/msc_a.c M src/libmsc/ran_msg_a.c 3 files changed, 16 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified diff --git a/include/osmocom/msc/ran_msg.h b/include/osmocom/msc/ran_msg.h index af0822b..081c7ad 100644 --- a/include/osmocom/msc/ran_msg.h +++ b/include/osmocom/msc/ran_msg.h @@ -210,6 +210,7 @@ * alg_id == 0 means no such IE was present. */ uint8_t alg_id; const char *imeisv; + const struct tlv_p_entry *l3_msg; } cipher_mode_complete; struct { enum gsm0808_cause bssap_cause; diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b414574..344b442 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1407,6 +1407,18 @@ }; vlr_subscr_rx_ciph_res(vsub, VLR_CIPH_COMPL); rc = 0; + + /* Evaluate enclosed L3 message, typically Identity Response (IMEISV) */ + if (msg->cipher_mode_complete.l3_msg) { + unsigned char *data = (unsigned char*)(msg->cipher_mode_complete.l3_msg->val); + uint16_t len = msg->cipher_mode_complete.l3_msg->len; + struct msgb *dtap = msgb_alloc(len, "DTAP from Cipher Mode Complete"); + unsigned char *pos = msgb_put(dtap, len); + memcpy(pos, data, len); + dtap->l3h = pos; + rc = msc_a_up_l3(msc_a, dtap); + msgb_free(dtap); + } break; case RAN_MSG_CIPHER_MODE_REJECT: diff --git a/src/libmsc/ran_msg_a.c b/src/libmsc/ran_msg_a.c index 43e27f6..7672d86 100644 --- a/src/libmsc/ran_msg_a.c +++ b/src/libmsc/ran_msg_a.c @@ -194,18 +194,10 @@ ran_dec_msg.cipher_mode_complete.alg_id = ie_chosen_encr_alg->val[0]; } - rc = ran_decoded(ran_dec, &ran_dec_msg); + if (ie_l3_msg) + ran_dec_msg.cipher_mode_complete.l3_msg = ie_l3_msg; - if (ie_l3_msg) { - msg->l3h = (uint8_t*)ie_l3_msg->val; - msgb_l3trim(msg, ie_l3_msg->len); - ran_dec_msg = (struct ran_msg){ - .msg_type = RAN_MSG_DTAP, - .msg_name = "BSSMAP Ciphering Mode Complete (L3 Message Contents)", - .dtap = msg, - }; - ran_decoded(ran_dec, &ran_dec_msg); - } + rc = ran_decoded(ran_dec, &ran_dec_msg); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icd8dad18d6dda24d075dd8da72c3d6db1302090d Gerrit-Change-Number: 15317 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:36:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 13:36:32 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: > I still don't get why this has any mention of PCU in it. Well, I'm reading out the L1 SAPI from the "struct gsm_pcu_if", so I can set the L1 SAPI log context for all incoming and outgoing L1 messages from BTS<-->PCU. > the L1 SAPI value can have many other values that have nothing to do with the PCU. Sorry, I had assumed, that in OsmoBTS, this L1 SAPI logging would only be relevant for the BTS<-->PCU socket, and therefore thought the appropriate log context would be what is defined with PCU_IF_SAPI_*. >From what I understand now, instead I need to do this: * create a new enum in libosmocore that holds all kinds of L1 SAPI values * don't use "pcu_prim->...sapi" directly to set the filter context, but translate it to the enum first * set the log context in other places in OSmoBTS, that are not related to the PCU (that must be the other side, when talking to hardware backends) Is this correct? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 13:36:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:48:57 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 13:48:57 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 ) Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... Patch Set 3: (1 comment) I hope this isn't annoying you -- but... https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h File include/osmocom/core/logging.h: https://gerrit.osmocom.org/#/c/15560/2/include/osmocom/core/logging.h at 392 PS2, Line 392: void log_tgt_mutex_unlock(void); > Same as explained above. [?] I understand. Yet, even easier would be without recompile. Evaluating a bool is not a performance penalty. In an environment like a sysmoBTS, or maybe even just if users installed deb packages and are working on that, it can be really cumbersome to have to recompile libosmocore (and everything else) just to switch on debugging. We have similar debugging bools, see for example osmo_fsm_log_addr(). No reply on the use of different kinds of symbols? I know you can do better ;) Not sure if it's worth spending time and discussing, but I believe my two points are valid... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 13:48:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:49:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 13:49:44 +0000 Subject: Change in ...osmo-pcu[master]: tests/app_info: fix compiling with older g++ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15564 ) Change subject: tests/app_info: fix compiling with older g++ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I307cd87af88e86804a90d6466e9cc3909bfe701f Gerrit-Change-Number: 15564 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:49:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:52:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 13:52:34 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 ) Change subject: configure.ac: set C and C++ dialects ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:52:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:53:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 13:53:22 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Remove unusued getRxGain() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15519 ) Change subject: radioInterface: Remove unusued getRxGain() ...................................................................... Patch Set 1: Code-Review+2 To simplify code. If it's not used, it's not needed in there :) +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a Gerrit-Change-Number: 15519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:53:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:55:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 13:55:28 +0000 Subject: Change in ...osmo-pcu[master]: tests/app_info: fix compiling with older g++ In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15564 ) Change subject: tests/app_info: fix compiling with older g++ ...................................................................... tests/app_info: fix compiling with older g++ Do not use C++11 extended initializers to prevent the following error. AppInfoTest.cpp:109:54: error: extended initializer lists only available with -std=c++11 or -std=gnu++11 pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; I ran into this when modifying the gerrit build verification job to build with docker (which still uses GCC-4.9). Related: OS#4204 Change-Id: I307cd87af88e86804a90d6466e9cc3909bfe701f --- M tests/app_info/AppInfoTest.cpp 1 file changed, 17 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index c4cf548..ca2c59e 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -47,14 +47,14 @@ fprintf(stderr, "\n"); } -void test_enc() { - struct gsm_pcu_if_app_info_req req = {0, 15, {0xff, 0x00, 0xff}}; +void test_enc(const struct gsm_pcu_if_app_info_req *req) +{ const char *exp = "03 fc 03 fc 00 00 00 00 00 00 00 00 00 00 00 00 "; /* shifted by two bits to the right */ struct msgb *msg; char *msg_dump; fprintf(stderr, "--- %s ---\n", __func__); - msg = gprs_rlcmac_app_info_msg(&req); + msg = gprs_rlcmac_app_info_msg(req); msg_dump = msgb_hexdump_c(tall_pcu_ctx, msg); fprintf(stderr, "exp: %s\n", exp); @@ -100,13 +100,13 @@ fprintf(stderr, "\n"); } -void test_sched_app_info_ok() +void test_sched_app_info_ok(const struct gsm_pcu_if_app_info_req *req) { struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; struct msgb *msg; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); msg = sched_app_info(tbf1); @@ -120,13 +120,13 @@ fprintf(stderr, "\n"); } -void test_sched_app_info_missing_app_info_in_bts() +void test_sched_app_info_missing_app_info_in_bts(const struct gsm_pcu_if_app_info_req *req) { struct gprs_rlcmac_bts *bts_data = BTS::main_bts()->bts_data(); struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); msgb_free(bts_data->app_info); @@ -137,12 +137,12 @@ fprintf(stderr, "\n"); } -void test_pcu_rx_overwrite_app_info() +void test_pcu_rx_overwrite_app_info(const struct gsm_pcu_if_app_info_req *req) { struct gsm_pcu_if pcu_prim = {PCU_IF_MSG_APP_INFO_REQ, }; fprintf(stderr, "--- %s ---\n", __func__); - pcu_prim.u.app_info_req = {0, 15, {0xff, 0x00, 0xff}}; + pcu_prim.u.app_info_req = *req; pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); pcu_rx(PCU_IF_MSG_APP_INFO_REQ, &pcu_prim); fprintf(stderr, "\n"); @@ -162,6 +162,10 @@ int main(int argc, char *argv[]) { + struct gsm_pcu_if_app_info_req req = {0, 15, {0}}; + const uint8_t req_data[] = {0xff, 0x00, 0xff}; + memcpy(req.data, req_data, 3); + tall_pcu_ctx = talloc_named_const(NULL, 1, "AppInfoTest"); osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); log_set_use_color(osmo_stderr_target, 0); @@ -169,13 +173,13 @@ log_parse_category_mask(osmo_stderr_target, "DL1IF,1:DRLCMAC,3:DRLCMACSCHED,1"); test_enc_zero_len(); - test_enc(); + test_enc(&req); test_pcu_rx_no_subscr_with_active_tbf(); prepare_bts_with_two_dl_tbf_subscr(); - test_sched_app_info_ok(); - test_sched_app_info_missing_app_info_in_bts(); - test_pcu_rx_overwrite_app_info(); + test_sched_app_info_ok(&req); + test_sched_app_info_missing_app_info_in_bts(&req); + test_pcu_rx_overwrite_app_info(&req); cleanup(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I307cd87af88e86804a90d6466e9cc3909bfe701f Gerrit-Change-Number: 15564 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 13:59:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 13:59:37 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... Patch Set 1: > Patch Set 1: > > I don't know how the inheritance looks like, but aren't you actually adding the setTxGain() method to both RadioInterface and *Multi? > > So you're overriding the RadioDevice setTxGain method in RadioInterface(Multi)? radioInterface class is the base and usual radio interface class (and it's not abstract, it's instantiable since it's the "simple usual" one). Then, there are 2 child class extending and overriding some parts of the radioInterface base class: -radioInterfaceResamp -radioInterfaceMult radioInterface{,Resamp,Mult} interact with its mDevice (radioDevice), which is an abstract class extended by LMSDevice, UHDDevice, USRPDevice. In this commit I'm overriding radioInterface::setTxGain() in radioInterfaceMult to avoid calling radioDevice::setTxGain() on chans != 0 since it doesn't make sense to do so, because radioInterfaceMult is used when logical channels are multiplexed in one SDR physical channel, so in that scenario the radioDevice is going to be expecting to manage 1 physical channel. This way we simplify the logic of each radioDevice implementation and keep it as much as possible inside radioInterfaceMult, responsible of muxing the multiple channels into one. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 13:59:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 14:08:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Sep 2019 14:08:35 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: concurrent OsmoPCU builds Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15566 Change subject: gerrit, master builds: concurrent OsmoPCU builds ...................................................................... gerrit, master builds: concurrent OsmoPCU builds Re-enable concurrent builds for OsmoPCU, and run all builds in docker. This should prevent previous problems with VTY/CTRL test collisions, which lead to the concurrent builds being disabled in I23d5b75825a667e4f043d16a12b841cd8f01af5e. Related: OS#4204 Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 32 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/66/15566/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index abd8090..c5aae68 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -200,7 +200,7 @@ a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - sequential: true + concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || @@ -208,6 +208,20 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") + cmd: | + docker run --rm=true \ + -e HOME=/build \ + -e MAKE=make \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e with_vty="$with_vty" \ + -e with_dsp="$with_dsp" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + -e PATH="$PATH:/build_bin" \ + -w /build -i -u build \ + -v "$PWD:/build" \ + -v "$HOME/bin:/build_bin" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-python-tests: repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/python/{repos}' diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index ed180a4..9358d82 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -302,14 +302,29 @@ a3: !!python/tuple [sysmo, lc15, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - sequential: true + concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") - cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: | + docker run --rm=true \ + -e HOME=/build \ + -e MAKE=make \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e with_vty="$with_vty" \ + -e with_dsp="$with_dsp" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + -e PATH="$PATH:/build_bin" \ + -e PUBLISH="1" \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -w /build -i -u build \ + -v "$PWD:/build" \ + -v "$HOME/bin:/build_bin" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-sgsn: a1_name: IU -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 Gerrit-Change-Number: 15566 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 14:14:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 14:14:37 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15560 to look at the new patch set (#4). Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M include/osmocom/core/logging.h M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/logging/logging_vty_test.c 6 files changed, 213 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 14:26:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 14:26:12 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15560 to look at the new patch set (#5). Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M include/osmocom/core/logging.h M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/logging/logging_vty_test.c 6 files changed, 213 insertions(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 14:28:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 14:28:09 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Remove unusued getRxGain() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15519 ) Change subject: radioInterface: Remove unusued getRxGain() ...................................................................... radioInterface: Remove unusued getRxGain() Only the radioDevice->getRxGain() is called from inside radioInterfaceMulti, so the API in radioInterface is not used at all. Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h 2 files changed, 0 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index bd19b24..9c7c044 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -307,11 +307,6 @@ return mDevice->setRxGain(dB, chan); } -double RadioInterface::getRxGain(size_t chan) -{ - return mDevice->getRxGain(chan); -} - /* Receive a timestamped chunk from the device */ int RadioInterface::pullBuffer() { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 235d888..945624a 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -109,9 +109,6 @@ /** set receive gain */ double setRxGain(double dB, size_t chan = 0); - /** get receive gain */ - double getRxGain(size_t chan = 0); - /** drive transmission of GSM bursts */ void driveTransmitRadio(std::vector &bursts, std::vector &zeros); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Icc4e9a7ebfdafe7c72c535752a5e379d12592c9a Gerrit-Change-Number: 15519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 14:32:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 14:32:48 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: Hello fixeria, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15546 to look at the new patch set (#3). Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M TODO-RELEASE M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_vty_test_config_root.c M tests/tdef/tdef_vty_test_config_root.vty 8 files changed, 139 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 15:06:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 15:06:00 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add a per-test log file Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 Change subject: Add a per-test log file ...................................................................... Add a per-test log file This way there's no need to go over hours of logging in the main log to find information of a failing test. Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed --- M src/osmo_gsm_tester/test.py 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/15567/1 diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 6f141f1..4d4353a 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -42,6 +42,7 @@ self.duration = 0 self.fail_type = None self.fail_message = None + self.log_target = None def get_run_dir(self): if self._run_dir is None: @@ -50,6 +51,7 @@ def run(self): try: + self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() @@ -81,6 +83,10 @@ # when the program is aborted by a signal (like Ctrl-C), escalate to abort all. self.err('TEST RUN ABORTED: %s' % type(e).__name__) raise + finally: + if self.log_target: + self.log_target.remove() + self.log_target = None def name(self): l = log.get_line_for_src(self.path) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed Gerrit-Change-Number: 15567 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 15:06:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 15:06:47 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add a per-test log file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 ) Change subject: Add a per-test log file ...................................................................... Patch Set 1: Tested manually it works fine with a suite with several tests. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed Gerrit-Change-Number: 15567 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 15:06:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 15:27:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 15:27:41 +0000 Subject: Change in ...osmocom-bb[master]: host/trxcon: add optional GSMTAP frame logging support Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15568 Change subject: host/trxcon: add optional GSMTAP frame logging support ...................................................................... host/trxcon: add optional GSMTAP frame logging support Change-Id: Iab4128fee5f18d816830fdca6c5ebebaf7451902 --- M src/host/trxcon/sched_lchan_common.c M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trxcon.c M src/host/trxcon/trxcon.h 7 files changed, 149 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/68/15568/1 diff --git a/src/host/trxcon/sched_lchan_common.c b/src/host/trxcon/sched_lchan_common.c index 615d81c..d8d9ee1 100644 --- a/src/host/trxcon/sched_lchan_common.c +++ b/src/host/trxcon/sched_lchan_common.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: common routines for lchan handlers * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2019 by Vadim Yanitskiy * * All Rights Reserved * @@ -32,15 +32,19 @@ #include #include +#include +#include #include #include +#include #include "l1ctl_proto.h" #include "scheduler.h" #include "sched_trx.h" #include "logging.h" +#include "trxcon.h" #include "trx_if.h" #include "l1ctl.h" @@ -80,13 +84,32 @@ }, }; +int sched_gsmtap_send(enum trx_lchan_type lchan_type, uint32_t fn, uint8_t tn, + uint16_t band_arfcn, int8_t signal_dbm, uint8_t snr, + const uint8_t *data, size_t data_len) +{ + const struct trx_lchan_desc *lchan_desc = &trx_lchan_desc[lchan_type]; + + /* GSMTAP logging may not be enabled */ + if (gsmtap == NULL) + return 0; + + /* Omit frames with unknown channel type */ + if (lchan_desc->gsmtap_chan_type == GSMTAP_CHANNEL_UNKNOWN) + return 0; + + /* TODO: distinguish GSMTAP_CHANNEL_PCH and GSMTAP_CHANNEL_AGCH */ + return gsmtap_send(gsmtap, band_arfcn, tn, lchan_desc->gsmtap_chan_type, + lchan_desc->ss_nr, fn, signal_dbm, snr, data, data_len); +} + int sched_send_dt_ind(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint8_t *l2, size_t l2_len, int bit_error_count, bool dec_failed, bool traffic) { const struct trx_lchan_desc *lchan_desc; struct l1ctl_info_dl dl_hdr; - int dbm_avg; + int dbm_avg = 0; /* Set up pointers */ lchan_desc = &trx_lchan_desc[lchan->type]; @@ -117,6 +140,12 @@ /* Put a packet to higher layers */ l1ctl_tx_dt_ind(trx->l1l, &dl_hdr, l2, l2_len, traffic); + /* Optional GSMTAP logging */ + if (l2_len > 0 && (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH)) { + sched_gsmtap_send(lchan->type, lchan->rx_first_fn, ts->index, + trx->band_arfcn, dbm_avg, 0, l2, l2_len); + } + return 0; } @@ -140,6 +169,14 @@ l1ctl_tx_dt_conf(trx->l1l, &dl_hdr, traffic); + /* Optional GSMTAP logging */ + if (!traffic || lchan_desc->chan_nr == RSL_CHAN_OSMO_PDCH) { + sched_gsmtap_send(lchan->type, fn, ts->index, + trx->band_arfcn | ARFCN_UPLINK, + 0, 0, lchan->prim->payload, + lchan->prim->payload_len); + } + return 0; } diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 667a88d..a9d89ea 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -24,6 +24,8 @@ */ #include +#include + #include "sched_trx.h" /* Forward declaration of handlers */ @@ -86,6 +88,7 @@ [TRXC_BCCH] = { .name = "BCCH", /* 3GPP TS 05.02, section 3.3.2.3 */ .desc = "Broadcast control channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_BCCH, .chan_nr = RSL_CHAN_BCCH, /* Rx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), @@ -98,6 +101,7 @@ [TRXC_RACH] = { .name = "RACH", /* 3GPP TS 05.02, section 3.3.3.1 */ .desc = "Random access channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_RACH, .chan_nr = RSL_CHAN_RACH, /* Tx only, RACH convolutional coding (3GPP TS 05.03, section 4.6). */ @@ -107,6 +111,7 @@ [TRXC_CCCH] = { .name = "CCCH", /* 3GPP TS 05.02, section 3.3.3.1 */ .desc = "Common control channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_CCCH, .chan_nr = RSL_CHAN_PCH_AGCH, /* Rx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), @@ -119,6 +124,7 @@ [TRXC_TCHF] = { .name = "TCH/F", /* 3GPP TS 05.02, section 3.2 */ .desc = "Full Rate traffic channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_F, .chan_nr = RSL_CHAN_Bm_ACCHs, .link_id = TRX_CH_LID_DEDIC, @@ -141,8 +147,10 @@ [TRXC_TCHH_0] = { .name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */ .desc = "Half Rate traffic channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_H, .chan_nr = RSL_CHAN_Lm_ACCHs + (0 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 0, /* Rx and Tx, multiple convolutional coding types (3GPP TS 05.03, * chapter 3), block diagonal interleaving (3GPP TS 05.02, clause 7): @@ -165,8 +173,10 @@ [TRXC_TCHH_1] = { .name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */ .desc = "Half Rate traffic channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_H, .chan_nr = RSL_CHAN_Lm_ACCHs + (1 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 1, /* Same as for TRXC_TCHH_0, see above. */ .burst_buf_size = 6 * GSM_BURST_PL_LEN, @@ -177,8 +187,10 @@ [TRXC_SDCCH4_0] = { .name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (0 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 0, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -189,8 +201,10 @@ [TRXC_SDCCH4_1] = { .name = "SDCCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (1 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 1, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -201,8 +215,10 @@ [TRXC_SDCCH4_2] = { .name = "SDCCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 2)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (2 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 2, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -213,8 +229,10 @@ [TRXC_SDCCH4_3] = { .name = "SDCCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 3)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (3 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 3, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -225,8 +243,10 @@ [TRXC_SDCCH8_0] = { .name = "SDCCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (0 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 0, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -237,8 +257,10 @@ [TRXC_SDCCH8_1] = { .name = "SDCCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (1 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 1, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -249,8 +271,10 @@ [TRXC_SDCCH8_2] = { .name = "SDCCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 2)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (2 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 2, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -261,8 +285,10 @@ [TRXC_SDCCH8_3] = { .name = "SDCCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 3)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (3 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 3, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -273,8 +299,10 @@ [TRXC_SDCCH8_4] = { .name = "SDCCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 4)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (4 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 4, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -285,8 +313,10 @@ [TRXC_SDCCH8_5] = { .name = "SDCCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 5)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (5 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 5, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -297,8 +327,10 @@ [TRXC_SDCCH8_6] = { .name = "SDCCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 6)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (6 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 6, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -309,8 +341,10 @@ [TRXC_SDCCH8_7] = { .name = "SDCCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Stand-alone dedicated control channel (sub-channel 7)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (7 << 3), .link_id = TRX_CH_LID_DEDIC, + .ss_nr = 7, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -321,6 +355,7 @@ [TRXC_SACCHTF] = { .name = "SACCH/TF", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow TCH/F associated control channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_F | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_Bm_ACCHs, .link_id = TRX_CH_LID_SACCH, @@ -333,8 +368,10 @@ [TRXC_SACCHTH_0] = { .name = "SACCH/TH(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow TCH/H associated control channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_H | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_Lm_ACCHs + (0 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 0, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -345,8 +382,10 @@ [TRXC_SACCHTH_1] = { .name = "SACCH/TH(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow TCH/H associated control channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_TCH_H | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_Lm_ACCHs + (1 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 1, /* Same as for TRXC_BCCH (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -357,8 +396,10 @@ [TRXC_SACCH4_0] = { .name = "SACCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/4 associated control channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (0 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 0, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -369,8 +410,10 @@ [TRXC_SACCH4_1] = { .name = "SACCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/4 associated control channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (1 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 1, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -381,8 +424,10 @@ [TRXC_SACCH4_2] = { .name = "SACCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/4 associated control channel (sub-channel 2)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (2 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 2, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -393,8 +438,10 @@ [TRXC_SACCH4_3] = { .name = "SACCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/4 associated control channel (sub-channel 3)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH4 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH4_ACCH + (3 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 3, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -405,8 +452,10 @@ [TRXC_SACCH8_0] = { .name = "SACCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 0)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (0 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 0, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -417,8 +466,10 @@ [TRXC_SACCH8_1] = { .name = "SACCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 1)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (1 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 1, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -429,8 +480,10 @@ [TRXC_SACCH8_2] = { .name = "SACCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 2)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (2 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 2, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -441,8 +494,10 @@ [TRXC_SACCH8_3] = { .name = "SACCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 3)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (3 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 3, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -455,6 +510,7 @@ .desc = "Slow SDCCH/8 associated control channel (sub-channel 4)", .chan_nr = RSL_CHAN_SDCCH8_ACCH + (4 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 4, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -465,8 +521,10 @@ [TRXC_SACCH8_5] = { .name = "SACCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 5)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (5 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 5, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -477,8 +535,10 @@ [TRXC_SACCH8_6] = { .name = "SACCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 6)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (6 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 6, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -489,8 +549,10 @@ [TRXC_SACCH8_7] = { .name = "SACCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ .desc = "Slow SDCCH/8 associated control channel (sub-channel 7)", + .gsmtap_chan_type = GSMTAP_CHANNEL_SDCCH8 | GSMTAP_CHANNEL_ACCH, .chan_nr = RSL_CHAN_SDCCH8_ACCH + (7 << 3), .link_id = TRX_CH_LID_SACCH, + .ss_nr = 7, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -501,6 +563,7 @@ [TRXC_PDTCH] = { .name = "PDTCH", /* 3GPP TS 05.02, sections 3.2.4, 3.3.2.4 */ .desc = "Packet data traffic & control channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_PDTCH, .chan_nr = RSL_CHAN_OSMO_PDCH, /* Rx and Tx, multiple coding schemes: CS-2..4 and MCS-1..9 (3GPP TS @@ -515,6 +578,7 @@ [TRXC_PTCCH] = { .name = "PTCCH", /* 3GPP TS 05.02, section 3.3.4.2 */ .desc = "Packet Timing advance control channel", + .gsmtap_chan_type = GSMTAP_CHANNEL_PTCCH, .chan_nr = RSL_CHAN_OSMO_PDCH, /* Same as for TRXC_BCCH (xCCH), see above. */ @@ -526,7 +590,9 @@ [TRXC_SDCCH4_CBCH] = { .name = "SDCCH/4(CBCH)", /* 3GPP TS 05.02, section 3.3.5 */ .desc = "Cell Broadcast channel on SDCCH/4", + .gsmtap_chan_type = GSMTAP_CHANNEL_CBCH51, .chan_nr = RSL_CHAN_OSMO_CBCH4, + .ss_nr = 2, /* Same as for TRXC_BCCH (xCCH), but Rx only. See above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, @@ -536,7 +602,9 @@ [TRXC_SDCCH8_CBCH] = { .name = "SDCCH/8(CBCH)", /* 3GPP TS 05.02, section 3.3.5 */ .desc = "Cell Broadcast channel on SDCCH/8", + .gsmtap_chan_type = GSMTAP_CHANNEL_CBCH52, .chan_nr = RSL_CHAN_OSMO_CBCH8, + .ss_nr = 2, /* Same as for TRXC_BCCH (xCCH), but Rx only. See above. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index 5d1f3ab..fe5821b 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -2,7 +2,7 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2017 by Vadim Yanitskiy + * (C) 2017-2019 by Vadim Yanitskiy * * All Rights Reserved * @@ -174,6 +174,12 @@ /* Confirm RACH request */ l1ctl_tx_rach_conf(trx->l1l, trx->band_arfcn, fn); + /* Optional GSMTAP logging */ + sched_gsmtap_send(lchan->type, fn, ts->index, + trx->band_arfcn | ARFCN_UPLINK, 0, 0, + PRIM_IS_RACH11(lchan->prim) ? (uint8_t *) &ext_req->ra11 : &req->ra, + PRIM_IS_RACH11(lchan->prim) ? 2 : 1); + /* Forget processed primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 196f949..d341646 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -199,14 +199,14 @@ /* If we have sent the last (4/4) burst */ if ((*mask & 0x0f) == 0x0f) { + /* Confirm data sending */ + sched_send_dt_conf(trx, ts, lchan, fn, false); + /* Forget processed primitive */ sched_prim_drop(lchan); /* Reset mask */ *mask = 0x00; - - /* Confirm data sending */ - sched_send_dt_conf(trx, ts, lchan, fn, false); } return 0; diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 6ef9ce4..311a67c 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -110,6 +110,10 @@ uint8_t chan_nr; /*! \brief Link ID (like in RSL) */ uint8_t link_id; + /*! \brief Sub-slot number (for SDCCH and TCH/H) */ + uint8_t ss_nr; + /*! \brief GSMTAP channel type (see GSMTAP_CHANNEL_*) */ + uint8_t gsmtap_chan_type; /*! \brief How much memory do we need to store bursts */ size_t burst_buf_size; @@ -347,6 +351,9 @@ int bit_error_count, bool dec_failed, bool traffic); int sched_send_dt_conf(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, bool traffic); +int sched_gsmtap_send(enum trx_lchan_type lchan_type, uint32_t fn, uint8_t tn, + uint16_t band_arfcn, int8_t signal_dbm, uint8_t snr, + const uint8_t *data, size_t data_len); /* Interleaved TCH/H block TDMA frame mapping */ uint32_t sched_tchh_block_dl_first_fn(enum trx_lchan_type chan, diff --git a/src/host/trxcon/trxcon.c b/src/host/trxcon/trxcon.c index 8e371df..d49b71f 100644 --- a/src/host/trxcon/trxcon.c +++ b/src/host/trxcon/trxcon.c @@ -1,7 +1,7 @@ /* * OsmocomBB <-> SDR connection bridge * - * (C) 2016-2017 by Vadim Yanitskiy + * (C) 2016-2019 by Vadim Yanitskiy * * All Rights Reserved * @@ -38,6 +38,8 @@ #include #include #include +#include +#include #include @@ -51,7 +53,7 @@ #include "sched_trx.h" #define COPYRIGHT \ - "Copyright (C) 2016-2017 by Vadim Yanitskiy \n" \ + "Copyright (C) 2016-2019 by Vadim Yanitskiy \n" \ "License GPLv2+: GNU GPL version 2 or later " \ "\n" \ "This is free software: you are free to change and redistribute it.\n" \ @@ -72,9 +74,11 @@ const char *trx_remote_ip; uint16_t trx_base_port; uint32_t trx_fn_advance; + const char *gsmtap_ip; } app_data; static void *tall_trxcon_ctx = NULL; +struct gsmtap_inst *gsmtap = NULL; struct osmo_fsm_inst *trxcon_fsm; static void trxcon_fsm_idle_action(struct osmo_fsm_inst *fi, @@ -158,6 +162,7 @@ printf(" -p --trx-port Base port of TRX instance (default 6700)\n"); printf(" -f --trx-advance Scheduler clock advance (default 20)\n"); printf(" -s --socket Listening socket for layer23 (default /tmp/osmocom_l2)\n"); + printf(" -g --gsmtap-ip The destination IP used for GSMTAP (disabled by default)\n"); printf(" -D --daemonize Run as daemon\n"); } @@ -176,11 +181,12 @@ {"trx-remote", 1, 0, 'i'}, {"trx-port", 1, 0, 'p'}, {"trx-advance", 1, 0, 'f'}, + {"gsmtap-ip", 1, 0, 'g'}, {"daemonize", 0, 0, 'D'}, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "d:b:i:p:f:s:Dh", + c = getopt_long(argc, argv, "d:b:i:p:f:s:g:Dh", long_options, &option_index); if (c == -1) break; @@ -209,6 +215,9 @@ case 's': app_data.bind_socket = optarg; break; + case 'g': + app_data.gsmtap_ip = optarg; + break; case 'D': app_data.daemonize = 1; break; @@ -227,6 +236,7 @@ app_data.trx_fn_advance = 20; app_data.debug_mask = NULL; + app_data.gsmtap_ip = NULL; app_data.daemonize = 0; app_data.quit = 0; } @@ -273,6 +283,17 @@ /* Init logging system */ trx_log_init(tall_trxcon_ctx, app_data.debug_mask); + /* Optional GSMTAP */ + if (app_data.gsmtap_ip != NULL) { + gsmtap = gsmtap_source_init(app_data.gsmtap_ip, GSMTAP_UDP_PORT, 1); + if (!gsmtap) { + LOGP(DAPP, LOGL_ERROR, "Failed to init GSMTAP\n"); + goto exit; + } + /* Suppress ICMP "destination unreachable" errors */ + gsmtap_source_add_sink(gsmtap); + } + /* Allocate the application state machine */ osmo_fsm_register(&trxcon_fsm_def); trxcon_fsm = osmo_fsm_inst_alloc(&trxcon_fsm_def, tall_trxcon_ctx, diff --git a/src/host/trxcon/trxcon.h b/src/host/trxcon/trxcon.h index f66a628..9a0792b 100644 --- a/src/host/trxcon/trxcon.h +++ b/src/host/trxcon/trxcon.h @@ -3,6 +3,7 @@ #define GEN_MASK(state) (0x01 << state) extern struct osmo_fsm_inst *trxcon_fsm; +extern struct gsmtap_inst *gsmtap; enum trxcon_fsm_states { TRXCON_STATE_IDLE = 0, -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iab4128fee5f18d816830fdca6c5ebebaf7451902 Gerrit-Change-Number: 15568 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 16:57:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 16:57:21 +0000 Subject: Change in ...osmo-gsm-tester[master]: suite_test: suite requires the fake trial to implement get_run_dir() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 Change subject: suite_test: suite requires the fake trial to implement get_run_dir() ...................................................................... suite_test: suite requires the fake trial to implement get_run_dir() If class Test calls get_run_dir(), it will generate the run dir from Suite.get_run_dir() + append, and Suite.get_run_dir() in turn will do the same with Trial.get_run_dir(). In suite_test.py, however, we are passing a plain log.Origin object (parent of Trial), which doesn't implement this function. We need to add it since tests will start using get_run_dir() to write their own log files. Generated tmp files are deleted on success and left there on error, in order to be able to debug stuff easily. Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a --- M selftest/suite_test.py 1 file changed, 24 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/15569/1 diff --git a/selftest/suite_test.py b/selftest/suite_test.py index db19ccc..115d76e 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -1,10 +1,26 @@ #!/usr/bin/env python3 import os import _prep -from osmo_gsm_tester import log, suite, config, report +import shutil +from osmo_gsm_tester import log, suite, config, report, util config.ENV_CONF = './suite_test' +example_trial_dir = os.path.join('test_trial_tmp') + +class FakeTrial(log.Origin): + def __init__(self): + super().__init__(log.C_TST, 'trial') + self.dir = util.Dir(example_trial_dir) + self._run_dir = None + + def get_run_dir(self): + if self._run_dir is not None: + return self._run_dir + self._run_dir = util.Dir(self.dir.new_child('test_run')) + self._run_dir.mkdir() + return self._run_dir + #log.style_change(trace=True) print('- non-existing suite dir') @@ -20,7 +36,7 @@ print(config.tostr(s_def.conf)) print('- run hello world test') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() s = suite.SuiteRun(trial, 'test_suite', s_def) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) @@ -43,7 +59,7 @@ print(output) print('- test with half empty scenario') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) @@ -51,7 +67,7 @@ print(report.suite_to_text(s)) print('- test with scenario') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) @@ -59,7 +75,7 @@ print(report.suite_to_text(s)) print('- test with scenario and modifiers') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } scenario['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } @@ -70,4 +86,7 @@ print(report.suite_to_text(s)) print('\n- graceful exit.') +#deleting generated tmp trial dir: +shutil.rmtree(example_trial_dir, ignore_errors=True) + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a Gerrit-Change-Number: 15569 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:29:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:29:39 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/#/c/15546/3/src/vty/tdef_vty.c File src/vty/tdef_vty.c: https://gerrit.osmocom.org/#/c/15546/3/src/vty/tdef_vty.c at 188 PS3, Line 188: ULONG_MAX Are you sure it's safe to print this macro? Maybe rather print "INF" as string? Or print min/max values separately? vty_out(vty, ", min %lu", ...); if (t->max_val) vty_out(vty, ", max %lu", ...); https://gerrit.osmocom.org/#/c/15546/3/tests/tdef/tdef_vty_test_config_root.vty File tests/tdef/tdef_vty_test_config_root.vty: https://gerrit.osmocom.org/#/c/15546/3/tests/tdef/tdef_vty_test_config_root.vty at 25 PS3, Line 25: 18446744073709551615 This value may be different on some architectures, so this test will fail. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 17:29:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:30:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:30:21 +0000 Subject: Change in ...libosmocore[master]: tdef_test: verify case where osmo_tdef_set returns -EEXIST In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15563 ) Change subject: tdef_test: verify case where osmo_tdef_set returns -EEXIST ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436daa804aac11622fde24afe9ea35193d9e9beb Gerrit-Change-Number: 15563 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 17:30:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:39:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:39:14 +0000 Subject: Change in ...osmo-trx[master]: radioDevice: Introduce getTxGain() API In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15520 ) Change subject: radioDevice: Introduce getTxGain() API ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 Gerrit-Change-Number: 15520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 17:39:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 18 17:40:44 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 18 Sep 2019 17:40:44 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d826c25c2416_1c842ab7120fc5f0131127@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 486s] ar: `u' modifier ignored since `D' is the default (see `U') [ 486s] libtool: link: ranlib .libs/libtransceiver_common.a [ 487s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 487s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 487s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 487s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 487s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 487s] collect2: error: ld returned 1 exit status [ 487s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 487s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 487s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 487s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 487s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 487s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 487s] make[1]: *** [Makefile:444: all] Error 2 [ 487s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 487s] dh_auto_build: make -j1 returned exit code 2 [ 487s] make: *** [debian/rules:6: build] Error 255 [ 487s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 487s] [ 487s] lamb11 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 18 17:40:35 UTC 2019. [ 487s] [ 487s] ### VM INTERACTION START ### [ 490s] [ 470.891508] sysrq: SysRq : Power Off [ 490s] [ 470.899260] reboot: Power down [ 490s] ### VM INTERACTION END ### [ 490s] [ 490s] lamb11 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 18 17:40:38 UTC 2019. [ 490s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:43:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:43:14 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15521/1/Transceiver52M/radioInterfaceMulti.cpp File Transceiver52M/radioInterfaceMulti.cpp: https://gerrit.osmocom.org/#/c/15521/1/Transceiver52M/radioInterfaceMulti.cpp at 411 PS1, Line 411: Cosmetic: other functions in this file are using two spaces as tab, so would be good to be consistent (neither I like tabs, but mixing is worse). -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 17:43:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:44:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:44:01 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 ) Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 17:44:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:45:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:45:05 +0000 Subject: Change in ...osmo-trx[master]: radioInterface{Multi, Resamp}: Fix successful writeSamples() masking u... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15523 ) Change subject: radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff Gerrit-Change-Number: 15523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 18 Sep 2019 17:45:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Sep 18 17:45:36 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 18 Sep 2019 17:45:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d826d4f1fc38_1c842ab7120fc5f0132061@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 1262s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1262s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1262s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1262s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 1263s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 1263s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1263s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1263s] collect2: error: ld returned 1 exit status [ 1263s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1263s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1263s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1263s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1263s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1263s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1263s] make[1]: *** [Makefile:444: all] Error 2 [ 1263s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1263s] dh_auto_build: make -j1 returned exit code 2 [ 1263s] make: *** [debian/rules:6: build] Error 255 [ 1263s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1264s] [ 1264s] cloud120 failed "build osmo-trx_1.1.1.15.923b.dsc" at Wed Sep 18 17:45:16 UTC 2019. [ 1264s] [ 1264s] ### VM INTERACTION START ### [ 1267s] [ 1208.012914] sysrq: SysRq : Power Off [ 1267s] [ 1208.030705] reboot: Power down [ 1268s] ### VM INTERACTION END ### [ 1268s] [ 1268s] cloud120 failed "build osmo-trx_1.1.1.15.923b.dsc" at Wed Sep 18 17:45:21 UTC 2019. [ 1268s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:46:38 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 17:46:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "MGCP: fix pattern warning" Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 Change subject: Revert "MGCP: fix pattern warning" ...................................................................... Revert "MGCP: fix pattern warning" For me this change causes MGCP parsing errors: setverdict(fail): pass -> fail reason: "Could not extract parameters for code "C"" Apparently the \r is after all necessary to parse MGCP. Maybe the '\r' is implicit when an '\n' occurs, but the non-SDP part of MGCP has *only* '\r' line breaks. This reverts commit a9a52fff15227710e1a3a2e6222a388a3da11168. Change-Id: I81d105b951590310c67f14f0b5d0c2777e206c5e --- M library/MGCP_Types.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/15570/1 diff --git a/library/MGCP_Types.ttcn b/library/MGCP_Types.ttcn index 6febc51..b56734c 100644 --- a/library/MGCP_Types.ttcn +++ b/library/MGCP_Types.ttcn @@ -54,7 +54,7 @@ MgcpVersion ver } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type record MgcpParameter { @@ -63,7 +63,7 @@ } with { variant "BEGIN('')" variant "SEPARATOR(': ', ':[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type set of MgcpParameter MgcpParameterList with { @@ -76,7 +76,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\n','([\n])|(\n)')" + variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" } external function enc_MgcpCommand(in MgcpCommand id) return charstring @@ -90,7 +90,7 @@ charstring string optional } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type record MgcpResponse { @@ -99,7 +99,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\n','([\n])|(\n)')" + variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" } external function enc_MgcpResponse(in MgcpResponse id) return charstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I81d105b951590310c67f14f0b5d0c2777e206c5e Gerrit-Change-Number: 15570 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:47:23 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 17:47:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "MGCP: fix pattern warning" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 ) Change subject: Revert "MGCP: fix pattern warning" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I81d105b951590310c67f14f0b5d0c2777e206c5e Gerrit-Change-Number: 15570 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 18 Sep 2019 17:47:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:47:29 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Sep 2019 17:47:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Revert "MGCP: fix pattern warning" In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 ) Change subject: Revert "MGCP: fix pattern warning" ...................................................................... Revert "MGCP: fix pattern warning" For me this change causes MGCP parsing errors: setverdict(fail): pass -> fail reason: "Could not extract parameters for code "C"" Apparently the \r is after all necessary to parse MGCP. Maybe the '\r' is implicit when an '\n' occurs, but the non-SDP part of MGCP has *only* '\r' line breaks. This reverts commit a9a52fff15227710e1a3a2e6222a388a3da11168. Change-Id: I81d105b951590310c67f14f0b5d0c2777e206c5e --- M library/MGCP_Types.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/library/MGCP_Types.ttcn b/library/MGCP_Types.ttcn index 6febc51..b56734c 100644 --- a/library/MGCP_Types.ttcn +++ b/library/MGCP_Types.ttcn @@ -54,7 +54,7 @@ MgcpVersion ver } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type record MgcpParameter { @@ -63,7 +63,7 @@ } with { variant "BEGIN('')" variant "SEPARATOR(': ', ':[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type set of MgcpParameter MgcpParameterList with { @@ -76,7 +76,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\n','([\n])|(\n)')" + variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" } external function enc_MgcpCommand(in MgcpCommand id) return charstring @@ -90,7 +90,7 @@ charstring string optional } with { variant "SEPARATOR(' ', '[\t ]+')" - variant "END('\n', '([\n])|(\n)')" + variant "END('\r\n', '([\r\n])|(\r\n)')" } type record MgcpResponse { @@ -99,7 +99,7 @@ SDP_Message sdp optional } with { variant "BEGIN('')" - variant (sdp) "BEGIN('\n','([\n])|(\n)')" + variant (sdp) "BEGIN('\r\n','([\r\n])|(\r\n)')" } external function enc_MgcpResponse(in MgcpResponse id) return charstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I81d105b951590310c67f14f0b5d0c2777e206c5e Gerrit-Change-Number: 15570 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:48:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:48:49 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15524/1/Transceiver52M/radioInterface.cpp File Transceiver52M/radioInterface.cpp: https://gerrit.osmocom.org/#/c/15524/1/Transceiver52M/radioInterface.cpp at 293 PS1, Line 293: __sync_fetch_and_and Is it a compiler-specific (non-standard) feature? If so, configure.ac needs to be updated with the related checks. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 17:48:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:49:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:49:47 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 2 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Reviewer: timojacobus Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 18 Sep 2019 17:49:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:50:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:50:12 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Mark setRxGain as virtual In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15541 ) Change subject: radioInterface: Mark setRxGain as virtual ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a Gerrit-Change-Number: 15541 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 17:50:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:51:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:51:18 +0000 Subject: Change in ...osmo-trx[master]: Move multi-ARFCN chan amount modification from UHDDevice to parent class In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15542 ) Change subject: Move multi-ARFCN chan amount modification from UHDDevice to parent class ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d Gerrit-Change-Number: 15542 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 18 Sep 2019 17:51:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 17:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 17:51:37 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 ) Change subject: configure.ac: set C and C++ dialects ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 17:51:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:06 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 19:16:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:20 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 ) Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... Patch Set 1: +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 19:16:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:24 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 ) Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 19:16:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:34 +0000 Subject: Change in ...osmo-trx[master]: radioInterface{Multi, Resamp}: Fix successful writeSamples() masking u... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15523 ) Change subject: radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() ...................................................................... Patch Set 1: Code-Review+2 +1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff Gerrit-Change-Number: 15523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 19:16:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:46 +0000 Subject: Change in ...osmo-trx[master]: radioDevice: Introduce getTxGain() API In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15520 ) Change subject: radioDevice: Introduce getTxGain() API ...................................................................... radioDevice: Introduce getTxGain() API It will be used in later commits by radioInterfaceMulti. Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 --- M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M Transceiver52M/device/usrp1/USRPDevice.h 5 files changed, 25 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index b4928f2..1d85204 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -131,6 +131,9 @@ /** sets the transmit chan gain, returns the gain setting **/ virtual double setTxGain(double dB, size_t chan = 0) = 0; + /** get transmit gain */ + virtual double getTxGain(size_t chan = 0) = 0; + /** return maximum Tx Gain **/ virtual double maxTxGain(void) = 0; diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 71a706c..1464c53 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -162,6 +162,11 @@ /** sets the transmit chan gain, returns the gain setting **/ double setTxGain(double dB, size_t chan = 0); + /** get transmit gain */ + double getTxGain(size_t chan = 0) { + return tx_gains[chan]; + } + /** return maximum Tx Gain **/ double maxTxGain(void); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 5b38df4..3b59291 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -310,6 +310,19 @@ return rx_gains[chan]; } +double uhd_device::getTxGain(size_t chan) +{ + if (iface == MULTI_ARFCN) + chan = 0; + + if (chan >= tx_gains.size()) { + LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; + return 0.0f; + } + + return tx_gains[chan]; +} + /* Parse the UHD device tree and mboard name to find out what device we're dealing with. We need the window type so that the transceiver knows how to diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 944578a..44f7ebb 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -96,6 +96,7 @@ double minRxGain(void) { return rx_gain_min; } double setTxGain(double db, size_t chan); + double getTxGain(size_t chan = 0); double maxTxGain(void) { return tx_gain_max; } double minTxGain(void) { return tx_gain_min; } diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index 734b361..bb70648 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -171,6 +171,9 @@ /** sets the transmit chan gain, returns the gain setting **/ double setTxGain(double dB, size_t chan = 0); + /** get transmit gain */ + double getTxGain(size_t chan = 0) { return txGain; } + /** return maximum Tx Gain **/ double maxTxGain(void); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie3caca8971ed1e5370dfed6fb60716a24e7d82a5 Gerrit-Change-Number: 15520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:49 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15521 ) Change subject: radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls ...................................................................... radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 --- M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp 3 files changed, 19 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 9c7c044..6e49a75 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -112,7 +112,7 @@ if (atten < 0.0) atten = 0.0; - rfGain = mDevice->setTxGain(mDevice->maxTxGain() - (double) atten, chan); + rfGain = setTxGain(mDevice->maxTxGain() - (double) atten, chan); digAtten = (double) atten - mDevice->maxTxGain() + rfGain; if (digAtten < 1.0) @@ -307,6 +307,11 @@ return mDevice->setRxGain(dB, chan); } +double RadioInterface::setTxGain(double dB, size_t chan) +{ + return mDevice->setTxGain(dB, chan); +} + /* Receive a timestamped chunk from the device */ int RadioInterface::pullBuffer() { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 945624a..83e00b9 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -134,6 +134,9 @@ /** drive synchronization of Tx/Rx of USRP */ void alignRadio(); + /** set transmit gain */ + virtual double setTxGain(double dB, size_t chan = 0); + friend void *AlignRadioServiceLoopAdapter(RadioInterface*); }; @@ -157,6 +160,7 @@ private: bool pushBuffer(); int pullBuffer(); + virtual double setTxGain(double dB, size_t chan); signalVector *outerSendBuffer; signalVector *outerRecvBuffer; diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index c41ec22..4022d3a 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -405,3 +405,12 @@ else return mDevice->getRxGain(); } + +double RadioInterfaceMulti::setTxGain(double dB, size_t chan) +{ + if (chan == 0) + return mDevice->setTxGain(dB); + else + return mDevice->getTxGain(); + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e67f660c3b0b009db59b405de603f6058021802 Gerrit-Change-Number: 15521 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:50 +0000 Subject: Change in ...osmo-trx[master]: UHDDevice: Drop unneeded MULTI_ARFCN checks In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15522 ) Change subject: UHDDevice: Drop unneeded MULTI_ARFCN checks ...................................................................... UHDDevice: Drop unneeded MULTI_ARFCN checks After previous changes, radioInterfaceMulti is expected to handle channel conversion correctly, so it will always use chan 0 for all these functions. This simplifies code in radioDevice avoiding need to add checks to all devices supporting multi-arfcn in the future. Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba --- M Transceiver52M/device/uhd/UHDDevice.cpp 1 file changed, 0 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 3b59291..809bade 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -247,9 +247,6 @@ double uhd_device::setTxGain(double db, size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= tx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel" << chan; return 0.0f; @@ -281,9 +278,6 @@ double uhd_device::setRxGain(double db, size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= rx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; @@ -299,9 +293,6 @@ double uhd_device::getRxGain(size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= rx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; @@ -312,9 +303,6 @@ double uhd_device::getTxGain(size_t chan) { - if (iface == MULTI_ARFCN) - chan = 0; - if (chan >= tx_gains.size()) { LOGC(DDEV, ALERT) << "Requested non-existent channel " << chan; return 0.0f; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ib2cd50a6ceaeedc6aaf3e1bb51d33b52911b6eba Gerrit-Change-Number: 15522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 19:16:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 18 Sep 2019 19:16:51 +0000 Subject: Change in ...osmo-trx[master]: radioInterface{Multi, Resamp}: Fix successful writeSamples() masking u... In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15523 ) Change subject: radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() ...................................................................... radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples() The only who should be setting class instance value "underrun" to false is isUnderrun(). Similar fixes were already applied lately to radioInterface.cpp. Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff --- M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp 2 files changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 4022d3a..99f6231 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -309,6 +309,7 @@ /* Send a timestamped chunk to the device */ bool RadioInterfaceMulti::pushBuffer() { + bool local_underrun; if (sendBuffer[0]->getAvailSegments() <= 0) return false; @@ -341,12 +342,13 @@ size_t num = mDevice->writeSamples(convertSendBuffer, outerSendBuffer->size(), - &underrun, + &local_underrun, writeTimestamp); if (num != outerSendBuffer->size()) { LOG(ALERT) << "Transmit error " << num; } + underrun |= local_underrun; writeTimestamp += num; return true; diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index d6dc52c..864cdee 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -204,6 +204,7 @@ /* Send a timestamped chunk to the device */ bool RadioInterfaceResamp::pushBuffer() { + bool local_underrun; int rc; size_t numSent; @@ -225,12 +226,13 @@ numSent = mDevice->writeSamples(convertSendBuffer, resamp_outchunk, - &underrun, + &local_underrun, writeTimestamp); if (numSent != resamp_outchunk) { LOG(ALERT) << "Transmit error " << numSent; } + underrun |= local_underrun; writeTimestamp += resamp_outchunk; return true; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I3239b1df4536c080365106b3e4daa523b57f5dff Gerrit-Change-Number: 15523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 20:22:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 20:22:12 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15537 ) Change subject: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG ...................................................................... Patch Set 1: Code-Review+2 Huh, so OsmoTRX somehow started to send them, and it did not before? o_O -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 Gerrit-Change-Number: 15537 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 20:22:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 21:16:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 21:16:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 to look at the new patch set (#8). Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases The problem of existing test cases is that they mix IUT (i.e. OsmoPCU) with OsmoBTS (osmo-bts-virtual) and OsmocomBB (virt_phy). This approach allows to avoid dealing with TDMA clock indications and RTS requests on the PCU interface - this is done by OsmoBTS. On the other hand, our test scenarios may be potentially affected by undiscovered bugs in OsmoBTS and the virt_phy. In order to solve that problem, this change introduces a set of new components and the corresponding handler functions: - RAW_PCUIF_CT / f_PCUIF_CT_handler() - PCU interface (UNIX domain socket) handler. Creates a server listening for incoming connections on a given 'pcu_sock_path', handles connection establishment and message forwarding between connected BTS components (see below) and OsmoPCU. - RAW_PCU_BTS_CT / f_BTS_CT_handler() - represents a single BTS entity, connected to OsmoPCU through the RAW_PCUIF_CT. Takes care about sending System Information 13 to OsmoPCU, forwarding TDMA clock indications from a dedicated ClckGen component (see below), and filtering the received messages by the BTS number. - RAW_PCU_ClckGen_CT / f_ClckGen_CT_handler() - TDMA frame clock counter built on top of a timer. Sends clock indications to the BTS component. All components communicate using TTCN-3 ports and explicitly defined sets of messages (see RAW_PCU_Clock_PT and RAW_PCU_MSG_PT). One noticeable kind of such messages is events (see RAW_PCU_EVENT). That's how e.g. the PCUIF component can notify the BTS component that OsmoPCU has just connected, or the BTS component can notify the MTC that SI13 negotiation is completed. Furthermore, the proposed set of components allows to have more than one BTS entity, so we can also test multi-BTS operation in the future. +-----+ +----------+ +---------+ | MTC +---------------+ PCUIF_CT +------+ OsmoPCU | +--+--+ +----+-----+ +---------+ | | | | | | | +-----------+ | +---------------+ +----+ BTS_CT #1 +------+ | ClckGen_CT #1 | | +-----+-----+ | +-------+-------+ | | | | | +---------------------------+ | | | +-----------+ | +---------------+ +----+ BTS_CT #2 +------+ | ClckGen_CT #2 | | +-----+-----+ | +-------+-------+ | | | | | +---------------------------+ | | | +-----------+ | +---------------+ +----+ BTS_CT #N +------+ | ClckGen_CT #N | +-----+-----+ +-------+-------+ | | +---------------------------+ Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 --- M library/PCUIF_Types.ttcn A pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 3 files changed, 319 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/15430/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 21:16:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 21:16:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 to look at the new patch set (#2). Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation This change introduces a new test case TC_cs_lqual_ul_tbf, which is aimed to test the feedback of OsmoPCU on changing link quality measurements in Uplink Data blocks during an active TBF. Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Related: SYS#4607 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 127 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/15526/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 21:16:23 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 21:16:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In Ieefa61232eb215a19a02e490255332e28e23b8f8, I had to revert I5808954b5c67c3239e795e43ae77035152d359ef, because that change broke encoding of messages on the PCU interface. Since we cannot use 'PADDING' attribute until its implementation is fixed in TITAN, let's work this around by stripping padding bytes manually in UD_to_PCUIF(). Change-Id: Ibd698094c897d395208e80189457444a91018beb --- M library/PCUIF_CodecPort.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15571/1 diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 3d6ceac..caeceb2 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -26,9 +26,25 @@ pout.data := enc_PCUIF_Message(pin.data); } with { extension "prototype(fast)" }; +private function fix_padding(inout PCUIF_data data) { + var octetstring res; + + for (var integer i := 0; i < data.len; i := i + 1) { + res[i] := data.data[i]; + } + + data.data := res; +} + private function UD_to_PCUIF(in UD_send_data pin, out PCUIF_send_data pout) { pout.id := pin.id; pout.data := dec_PCUIF_Message(pin.data); + + /* HACK: fix padding in decoded message. Due to a bug in TITAN, we + * cannot just use its 'PADDING' attribute because it breaks decoding. */ + if (ischosen(pout.data.u.data_req)) { fix_padding(pout.data.u.data_req); } + if (ischosen(pout.data.u.data_cnf)) { fix_padding(pout.data.u.data_cnf); } + if (ischosen(pout.data.u.data_ind)) { fix_padding(pout.data.u.data_ind); } } with { extension "prototype(fast)" }; type port PCUIF_CODEC_PT message { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 18 21:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 18 Sep 2019 21:17:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA ...................................................................... Patch Set 9: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Sep 2019 21:17:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 19 01:07:27 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 01:07:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d82d649c6d8d_1c842ab7120fc5f020061c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 244s] ar: `u' modifier ignored since `D' is the default (see `U') [ 244s] libtool: link: ranlib .libs/libtransceiver_common.a [ 244s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 244s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 245s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 245s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 245s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 245s] collect2: error: ld returned 1 exit status [ 245s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 245s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 245s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 245s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 245s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 245s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 245s] make[1]: *** [Makefile:444: all] Error 2 [ 245s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 245s] dh_auto_build: make -j1 returned exit code 2 [ 245s] make: *** [debian/rules:6: build] Error 255 [ 245s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 245s] [ 245s] build85 failed "build osmo-trx_1.1.1.15.923b.dsc" at Thu Sep 19 01:07:18 UTC 2019. [ 245s] [ 245s] ### VM INTERACTION START ### [ 248s] [ 235.570474] sysrq: SysRq : Power Off [ 248s] [ 235.572474] reboot: Power down [ 248s] ### VM INTERACTION END ### [ 248s] [ 248s] build85 failed "build osmo-trx_1.1.1.15.923b.dsc" at Thu Sep 19 01:07:22 UTC 2019. [ 248s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 19 01:12:53 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 01:12:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d82d6553808_1c842ab7120fc5f0201270@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 584s] ar: `u' modifier ignored since `D' is the default (see `U') [ 584s] libtool: link: ranlib .libs/libtransceiver_common.a [ 584s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 584s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 584s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 584s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 584s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 584s] collect2: error: ld returned 1 exit status [ 584s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 584s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 584s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 584s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 584s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 584s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 584s] make[1]: *** [Makefile:444: all] Error 2 [ 584s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 584s] dh_auto_build: make -j1 returned exit code 2 [ 584s] make: *** [debian/rules:6: build] Error 255 [ 584s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 584s] [ 584s] cloud107 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 19 01:12:32 UTC 2019. [ 584s] [ 584s] ### VM INTERACTION START ### [ 587s] [ 544.354334] sysrq: SysRq : Power Off [ 587s] [ 544.370847] reboot: Power down [ 589s] ### VM INTERACTION END ### [ 589s] [ 589s] cloud107 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 19 01:12:38 UTC 2019. [ 589s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 19 01:44:40 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 01:44:40 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5d82dd946696d_1c842ab7120fc5f020369d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 124s] autoreconnecting test step 3 [client OK, server OK], FD reg 1 [ 124s] [ 124s] autoreconnecting test step 2 [client OK, server OK], FD reg 0 [ 124s] + [ 124s] +autoreconnecting test step 1 [client OK, server OK], FD reg 0 [ 124s] connection closed with srv [ 124s] [ 124s] -autoreconnecting test step 1 [client OK, server NA], FD reg 0 [ 124s] +autoreconnecting test step 0 [client OK, server NA], FD reg 0 [ 124s] [ 124s] non-reconnecting test step 7 [client NA, server OK], FD reg 1 [ 124s] [ 124s] 1. testsuite.at:4: 1. stream_test (testsuite.at:4): FAILED (testsuite.at:8) [ 124s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 124s] make[1]: *** [override_dh_auto_test] Error 1 [ 124s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 124s] debian/rules:13: recipe for target 'build' failed [ 124s] make: *** [build] Error 2 [ 124s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 124s] [ 124s] build30 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Thu Sep 19 01:44:36 UTC 2019. [ 124s] [ 124s] ### VM INTERACTION START ### [ 125s] Powering off. [ 125s] [ 106.236806] reboot: Power down [ 125s] ### VM INTERACTION END ### [ 125s] [ 125s] build30 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Thu Sep 19 01:44:38 UTC 2019. [ 125s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 19 01:48:57 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 01:48:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d82de9eac4af_1c842ab7120fc5f02041b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 428s] ar: `u' modifier ignored since `D' is the default (see `U') [ 428s] libtool: link: ranlib .libs/libtransceiver_common.a [ 428s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 428s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 429s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 429s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 429s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 429s] collect2: error: ld returned 1 exit status [ 429s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 429s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 429s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 429s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 429s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 429s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 429s] make[1]: *** [Makefile:444: all] Error 2 [ 429s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 429s] dh_auto_build: make -j1 returned exit code 2 [ 429s] make: *** [debian/rules:6: build] Error 255 [ 429s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 429s] [ 429s] lamb60 failed "build osmo-trx_1.1.1.25.2538.dsc" at Thu Sep 19 01:48:40 UTC 2019. [ 429s] [ 429s] ### VM INTERACTION START ### [ 432s] [ 413.516550] sysrq: SysRq : Power Off [ 432s] [ 413.526935] reboot: Power down [ 432s] ### VM INTERACTION END ### [ 432s] [ 432s] lamb60 failed "build osmo-trx_1.1.1.25.2538.dsc" at Thu Sep 19 01:48:43 UTC 2019. [ 432s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 19 02:08:23 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 02:08:23 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5d82e33385755_1c842ab7120fc5f02062c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_9.0/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 259s] | ac_cv_env_CPP_set= [ 259s] | ac_cv_env_CPP_value= [ 259s] | ac_cv_env_LDFLAGS_set=set [ 259s] | ac_cv_env_LDFLAGS_value='-Wl,-z,relro -Wl,-z,now' [ 259s] | ac_cv_env_LIBOSMOABIS_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOABIS_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOABIS_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOABIS_LIBS_value= [ 259s] | ac_cv_env_LIBOSMOCORE_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOCORE_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOCORE_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOCORE_LIBS_value= [ 259s] | ac_cv_env_LIBOSMOGSM_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOGSM_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOGSM_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOGSM_LIBS_value= [ 259s] | ac_cv_env_LIBS_set= [ 259s] | ac_cv_env_LIBS_value= [ 259s] | ac_cv_env_LT_SYS_LIBRARY_PATH_set= [ 259s] | ac_cv_env_LT_SYS_LIBRARY_PATH_value= [ 259s] | ac_cv_env_PKG_CONFIG_LIBDIR_set= [ 259s] | ac_cv_env_PKG_CONFIG_LIBDIR_value= [ 259s] | ac_cv_env_PKG_CONFIG_PATH_set= [ 261s] | ac_cv_env_[ 220.959085] sysrq: SysRq : Power Off [ 261s] [ 220.961539] reboot: Power down [ 261s] ### VM INTERACTION END ### [ 261s] [ 261s] armbuild10 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Thu Sep 19 02:08:12 UTC 2019. [ 261s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 19 07:46:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 07:46:06 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 ) Change subject: configure.ac: set C and C++ dialects ...................................................................... Patch Set 2: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 07:46:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 07:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 07:46:22 +0000 Subject: Change in ...osmo-pcu[master]: configure.ac: set C and C++ dialects In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15565 ) Change subject: configure.ac: set C and C++ dialects ...................................................................... configure.ac: set C and C++ dialects Make sure that the compiler always assumes the same C dialect, to prevent unexpected compiler errors when building with older compilers (on other Linux distrubtions like in OBS, or in docker). Use gnu89 and gnu++03, because that is what the code currently compiles with. Related: https://lists.osmocom.org/pipermail/openbsc/2019-September/013030.html Related: OS#3598 Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 --- M configure.ac 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index 5ecd133..2f29047 100644 --- a/configure.ac +++ b/configure.ac @@ -9,6 +9,9 @@ AM_INIT_AUTOMAKE([dist-bzip2]) AC_CONFIG_TESTDIR(tests) +CXXFLAGS="$CXXFLAGS -std=gnu++03" +CFLAGS="$CFLAGS -std=gnu89" + dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960 Gerrit-Change-Number: 15565 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 07:48:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 07:48:26 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15537 ) Change subject: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 Gerrit-Change-Number: 15537 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 07:48:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:08:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Sep 2019 08:08:50 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Move comment to the right place Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15572 Change subject: cosmetic: Move comment to the right place ...................................................................... cosmetic: Move comment to the right place Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad --- M include/osmocom/codec/ecu.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/15572/1 diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index ec94670..f3b34c9 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -5,7 +5,6 @@ #include -/* Codec independent ECU state */ struct osmo_ecu_fr_state { bool subsequent_lost_frame; uint8_t frame_backup[GSM_FR_BYTES]; @@ -40,6 +39,7 @@ * -- Harald Welte on August 1, 2019. */ +/* Codec independent ECU state */ struct osmo_ecu_state { enum osmo_ecu_codec codec; uint8_t data[0]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad Gerrit-Change-Number: 15572 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:08:50 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Sep 2019 08:08:50 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Add comment on GSM-FR ECU struct Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15573 Change subject: cosmetic: Add comment on GSM-FR ECU struct ...................................................................... cosmetic: Add comment on GSM-FR ECU struct Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b --- M include/osmocom/codec/ecu.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/15573/1 diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index f3b34c9..927ca0d 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -5,6 +5,7 @@ #include +/* ECU state for GSM-FR */ struct osmo_ecu_fr_state { bool subsequent_lost_frame; uint8_t frame_backup[GSM_FR_BYTES]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b Gerrit-Change-Number: 15573 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:19:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:19:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 8: Code-Review+1 (3 comments) https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 33 PS8, Line 33: Genetic "Generic"? ;) https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 85 PS8, Line 85: // port RAW_PCU_MSG_PT CCCH; /* SAPI: PCU_IF_SAPI_{BCCH,PCH,RACH,AGCH} */ These commented out ports look like leftovers. Are they still userful? EDIT: ah, you intend to use it later as indicated by "TODO: implement message (de)muxing by SAPI" below https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 136 PS8, Line 136: if (pcu_msg.bts_nr != bts_nr) { Why can't we always set the correct bts nr in the test case sending the pcu_msg? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 08:19:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:24:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:24:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e Gerrit-Change-Number: 15525 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 08:24:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:27:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:27:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Sep 2019 08:27:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:32:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:32:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 08:32:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Sep 2019 08:43:03 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h The specific ECU implementation should not be reachable from outside. Remove those prototypes from ecu.h and use the ecu abstration api to carry out the unit-tests Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 --- M include/osmocom/codec/ecu.h M tests/codec/codec_ecu_fr_test.c 2 files changed, 6 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/15574/1 diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index 927ca0d..15f2ccb 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -11,9 +11,6 @@ uint8_t frame_backup[GSM_FR_BYTES]; }; -void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame); -int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame); - enum osmo_ecu_codec { OSMO_ECU_CODEC_HR, OSMO_ECU_CODEC_FR, diff --git a/tests/codec/codec_ecu_fr_test.c b/tests/codec/codec_ecu_fr_test.c index 7ebc558..ff57902 100644 --- a/tests/codec/codec_ecu_fr_test.c +++ b/tests/codec/codec_ecu_fr_test.c @@ -145,7 +145,7 @@ /* Simulate a real life situation: voice frames with a few dropouts */ void test_fr_concealment_realistic() { - struct osmo_ecu_fr_state state; + struct osmo_ecu_state *state = osmo_ecu_init(NULL, OSMO_ECU_CODEC_FR); uint8_t frame[GSM_FR_BYTES]; unsigned int frame_len; int rc, i = 0; @@ -161,12 +161,12 @@ if (frame_len == GSM_FR_BYTES) { printf(" * input: %s\n", fr_frames_hex[i]); osmo_hexparse(fr_frames_hex[i], frame, GSM_FR_BYTES); - osmo_ecu_fr_reset(&state, frame); + osmo_ecu_frame_in(state, false, frame, GSM_FR_BYTES); } else { printf(" * input: (bad)\n"); memset(frame, 0x00, GSM_FR_BYTES); - rc = osmo_ecu_fr_conceal(&state, frame); - OSMO_ASSERT(rc == 0); + rc = osmo_ecu_frame_out(state, frame); + OSMO_ASSERT(rc == GSM_FR_BYTES); } /* Print result */ @@ -176,6 +176,8 @@ /* Go to the next frame */ i++; } + + osmo_ecu_destroy(state); } /* Simulate a real life situation: voice frames with a few dropouts, using generic core */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:43:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:43:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Sep 2019 08:43:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:51:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:51:34 +0000 Subject: Change in ...osmo-pcu[master]: [DO NOT MERGE] jenkins gerrit-verifications test commit In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15562 ) Change subject: [DO NOT MERGE] jenkins gerrit-verifications test commit ...................................................................... Abandoned got it working -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I219b68fc3e866bdd065200ed662b10134e2ce106 Gerrit-Change-Number: 15562 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 08:55:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 08:55:01 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: concurrent OsmoPCU builds In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15566 ) Change subject: gerrit, master builds: concurrent OsmoPCU builds ...................................................................... Patch Set 2: Verified+1 Fixed for master, verified that it works with both gerrit and master builds. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 Gerrit-Change-Number: 15566 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 08:55:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 09:00:53 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Sep 2019 09:00:53 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15574 to look at the new patch set (#2). Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h The specific ECU implementation should not be reachable from outside. Remove those prototypes from ecu.h and use the ecu abstration api to carry out the unit-tests Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 --- M include/osmocom/codec/ecu.h M tests/codec/codec_ecu_fr_test.c 2 files changed, 10 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/15574/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 09:15:51 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Sep 2019 09:15:51 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15574 to look at the new patch set (#3). Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h The specific ECU implementation should not be reachable from outside. Remove those prototypes from ecu.h and use the ecu abstration api to carry out the unit-tests Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 --- M include/osmocom/codec/ecu.h M tests/codec/codec_ecu_fr_test.c 2 files changed, 12 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/15574/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:07:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:07:33 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15537 ) Change subject: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG ...................................................................... bts-trx: Change super verbose IDLE ind not-supported line to DEBUG It's impossible to see other logging otherwise. Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 6c6d5ad..166cfe6 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1007,7 +1007,7 @@ * TDMA frames, and properly drive scheduler if nothing has been * detected on non-IDLE channels. */ if (bi.flags & TRX_BI_F_NOPE_IND) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "IDLE / NOPE indications are not (yet) supported\n"); return -ENOTSUP; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 Gerrit-Change-Number: 15537 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:07:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:07:33 +0000 Subject: Change in ...osmo-bts[master]: doc: bts-models.adoc: Fix typos in rts-advance section In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15543 ) Change subject: doc: bts-models.adoc: Fix typos in rts-advance section ...................................................................... doc: bts-models.adoc: Fix typos in rts-advance section Change-Id: I37ba104ec0538f8eb9345ff880660aefbdaa44ca --- M doc/manuals/chapters/bts-models.adoc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index e1f8d9a..31c5147 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -282,11 +282,11 @@ number as reported by OsmoTRX *and* the `osmotrx fn-advance` in order to generate the PH-RTS.ind (ready to send indications) across the L1SAP interface inside osmo-bts. This will trigger the Layer 2 (LAPDm for -the ocntrol plane, RTP for the voice plane, and OsmoPCU for GPRS) to +the control plane, RTP for the voice plane, and OsmoPCU for GPRS) to generate a MAC block and input it into the osmo-bts-trx TDMA scheduler. If OsmoTRX reported N as the current frame number, the actual frame number -reported on L1SAP to higher layes will be computed as follows: +reported on L1SAP to higher layers will be computed as follows: N + fn-advance + rts-advance -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I37ba104ec0538f8eb9345ff880660aefbdaa44ca Gerrit-Change-Number: 15543 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:09:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:09:08 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15537 ) Change subject: bts-trx: Change super verbose IDLE ind not-supported line to DEBUG ...................................................................... Patch Set 2: fixeria: it started sending them with this patch: https://git.osmocom.org/osmo-trx/commit/?id=4e6ec4554da612eaf04339fe515a77535a104302 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I64ee83b734ecff593ff2a1cf97b192db93228e22 Gerrit-Change-Number: 15537 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:09:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:09:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:09:33 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Add comment on GSM-FR ECU struct In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15573 ) Change subject: cosmetic: Add comment on GSM-FR ECU struct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b Gerrit-Change-Number: 15573 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:09:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:12:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:12:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 8: (3 comments) https://gerrit.osmocom.org/#/c/15430/8//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15430/8//COMMIT_MSG at 42 PS8, Line 42: +-----+ +----------+ +---------+ May make sense moving this to the tests .ttcn file to have it always available easily. https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 182 PS8, Line 182: MTC.send(RAW_PCU_EVENT:PCU_EV_CONNECT); Should we be sending message to either MTC or BTS, but not both at the same time? and then test defines where it wants it to be sent (eg by registering a BTS). https://gerrit.osmocom.org/#/c/15430/8/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCU_Tests_RAW.ttcn at 472 PS8, Line 472: connect(vc_PCUIF:MTC, self:PCUIF); Are you sure you need to connect A->B and B->A two times? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:12:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:13:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:13:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:14:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:14:45 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: concurrent OsmoPCU builds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15566 ) Change subject: gerrit, master builds: concurrent OsmoPCU builds ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 Gerrit-Change-Number: 15566 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:14:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:15:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:15:18 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Move comment to the right place In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15572 ) Change subject: cosmetic: Move comment to the right place ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad Gerrit-Change-Number: 15572 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:15:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:16:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 10:16:50 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:16:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:20:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 10:20:22 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: concurrent OsmoPCU builds In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15566 ) Change subject: gerrit, master builds: concurrent OsmoPCU builds ...................................................................... Patch Set 2: This is rather trivial and also tested, merging with just one review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 Gerrit-Change-Number: 15566 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 10:20:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 10:20:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 10:20:27 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: concurrent OsmoPCU builds In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/15566 ) Change subject: gerrit, master builds: concurrent OsmoPCU builds ...................................................................... gerrit, master builds: concurrent OsmoPCU builds Re-enable concurrent builds for OsmoPCU, and run all builds in docker. This should prevent previous problems with VTY/CTRL test collisions, which lead to the concurrent builds being disabled in I23d5b75825a667e4f043d16a12b841cd8f01af5e. Related: OS#4204 Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 33 insertions(+), 3 deletions(-) Approvals: osmith: Verified pespin: Looks good to me, approved diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index abd8090..c5aae68 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -200,7 +200,7 @@ a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - sequential: true + concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || @@ -208,6 +208,20 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") + cmd: | + docker run --rm=true \ + -e HOME=/build \ + -e MAKE=make \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e with_vty="$with_vty" \ + -e with_dsp="$with_dsp" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + -e PATH="$PATH:/build_bin" \ + -w /build -i -u build \ + -v "$PWD:/build" \ + -v "$HOME/bin:/build_bin" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-python-tests: repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/python/{repos}' diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index ed180a4..9374391 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -302,14 +302,30 @@ a3: !!python/tuple [sysmo, lc15, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - sequential: true + concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") - cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: | + docker run --rm=true \ + -e HOME=/build \ + -e MAKE=make \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e with_vty="$with_vty" \ + -e with_dsp="$with_dsp" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + -e PATH="$PATH:/build_bin" \ + -e PUBLISH="1" \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -w /build -i -u build \ + -v "$PWD:/build" \ + -v "$HOME/bin:/build_bin" \ + -v "$HOME/.ssh:/home/build/.ssh:ro" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-sgsn: a1_name: IU -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353 Gerrit-Change-Number: 15566 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 11:11:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 11:11:16 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: Hello fixeria, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15546 to look at the new patch set (#4). Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M TODO-RELEASE M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_vty_test_config_root.c M tests/tdef/tdef_vty_test_config_root.vty 8 files changed, 172 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 11:15:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 11:15:25 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add a per-test log file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 ) Change subject: Add a per-test log file ...................................................................... Patch Set 2: I'll merge this one later today if no important comment is provided. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed Gerrit-Change-Number: 15567 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 11:15:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 11:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Sep 2019 11:23:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 8: (6 comments) https://gerrit.osmocom.org/#/c/15430/8//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15430/8//COMMIT_MSG at 42 PS8, Line 42: +-----+ +----------+ +---------+ > May make sense moving this to the tests .ttcn file to have it always available easily. ACK, I will add this diagram to PCUIF_RAW_Components.ttcn. https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 33 PS8, Line 33: Genetic > "Generic"? ;) :D https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 85 PS8, Line 85: // port RAW_PCU_MSG_PT CCCH; /* SAPI: PCU_IF_SAPI_{BCCH,PCH,RACH,AGCH} */ > These commented out ports look like leftovers. Are they still userful? [?] Yep, maybe some day one would find this idea useful. While trying to implement it, I realized that we're getting more complication than benefits :/ https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 136 PS8, Line 136: if (pcu_msg.bts_nr != bts_nr) { > Why can't we always set the correct bts nr in the test case sending the pcu_msg? It may be useful for multi-BTS tests to send a single message to a single MTC:BTS port, so every BTS component will resend it to the PCU as its own (with proper bts_nr). But then we're loosing a possibility to send a message to particular BTS component, so I'll better remove this. https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 182 PS8, Line 182: MTC.send(RAW_PCU_EVENT:PCU_EV_CONNECT); > but not both at the same time? Why not? One may still want to receive this (or any other) event in the MTC (test case). I don't see any problem with sending to both MTC and all connected BTS components. https://gerrit.osmocom.org/#/c/15430/8/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCU_Tests_RAW.ttcn at 472 PS8, Line 472: connect(vc_PCUIF:MTC, self:PCUIF); > Are you sure you need to connect A->B and B->A two times? Right, this is redundant. To be removed in the next patch set. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 11:23:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 11:29:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 11:29:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 182 PS8, Line 182: MTC.send(RAW_PCU_EVENT:PCU_EV_CONNECT); > > but not both at the same time? [?] Well I have the feeling it's going to be messy handling same messages duplicated in different components and the test should specify whether the BTS should take care or itself is taking care (or have the BTS forward only the messages test is interested into, perhaps add callbacks that the test can override.) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 11:29:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 19 12:20:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 12:20:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d83728b9aff5_306b2ae0e42e65f4491cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 471s] ar: `u' modifier ignored since `D' is the default (see `U') [ 471s] libtool: link: ranlib .libs/libtransceiver_common.a [ 471s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 471s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 472s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 472s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 472s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 472s] collect2: error: ld returned 1 exit status [ 472s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 472s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 472s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 472s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 472s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 472s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 472s] make[1]: *** [Makefile:444: all] Error 2 [ 472s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 472s] dh_auto_build: make -j1 returned exit code 2 [ 472s] make: *** [debian/rules:6: build] Error 255 [ 472s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 472s] [ 472s] lamb08 failed "build osmo-trx_1.1.1.25.2538.dsc" at Thu Sep 19 12:19:52 UTC 2019. [ 472s] [ 472s] ### VM INTERACTION START ### [ 475s] [ 455.923800] sysrq: SysRq : Power Off [ 475s] [ 455.935587] reboot: Power down [ 475s] ### VM INTERACTION END ### [ 475s] [ 475s] lamb08 failed "build osmo-trx_1.1.1.25.2538.dsc" at Thu Sep 19 12:19:56 UTC 2019. [ 475s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 19 12:22:00 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 19 Sep 2019 12:22:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d83730313120_306b2ae0e42e65f44986@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 475s] ar: `u' modifier ignored since `D' is the default (see `U') [ 475s] libtool: link: ranlib .libs/libtransceiver_common.a [ 475s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 475s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 475s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 476s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 476s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 476s] collect2: error: ld returned 1 exit status [ 476s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 476s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 476s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 476s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 476s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 476s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 476s] make[1]: *** [Makefile:444: all] Error 2 [ 476s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 476s] dh_auto_build: make -j1 returned exit code 2 [ 476s] make: *** [debian/rules:6: build] Error 255 [ 476s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 476s] [ 476s] morla5 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 19 12:21:53 UTC 2019. [ 476s] [ 476s] ### VM INTERACTION START ### [ 479s] [ 458.636437] sysrq: SysRq : Power Off [ 479s] [ 458.646635] reboot: Power down [ 479s] ### VM INTERACTION END ### [ 479s] [ 479s] morla5 failed "build osmo-trx_1.1.1.dsc" at Thu Sep 19 12:21:57 UTC 2019. [ 479s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 19 12:39:17 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 12:39:17 +0000 Subject: Change in ...libosmocore[master]: vty: osmo_stats_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15055 ) Change subject: vty: osmo_stats_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: Code-Review-1 My understanding is, that it must be possible to build old releases against newer libosmocore (or other Osmocom libraries). We even have a CI job that makes sure we don't introduce incompatibilities by accident: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/ See also: https://osmocom.org/issues/3765 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I29b27824b83c2caad901cc910d77e634ed5562d6 Gerrit-Change-Number: 15055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 19 Sep 2019 12:39:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 12:45:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Sep 2019 12:45:55 +0000 Subject: Change in ...libosmocore[master]: vty: osmo_stats_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15055 ) Change subject: vty: osmo_stats_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: Maybe it makes sense to add a "#define OSMO_STRICT_MODE", where it enforces no parameters, and set that when building in jenkins? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I29b27824b83c2caad901cc910d77e634ed5562d6 Gerrit-Change-Number: 15055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 19 Sep 2019 12:45:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:36:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:36:26 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Use fake time Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15575 Change subject: stream_test: Use fake time ...................................................................... stream_test: Use fake time By using fake own-controlled time we get two benefits: * Test doesn't take 9 seconds to run anymore * More fine-grade control of different events happening (and associated race conditions). Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 --- M tests/stream/stream_test.c 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/75/15575/1 diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 439ea1a..4fd8573 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -19,9 +19,12 @@ #include #include #include +#include #include +#define RECONNECT_TIMEOUT_SECS 9 + #define DSTREAMTEST 0 struct log_info_cat osmo_stream_test_cat[] = { [DSTREAMTEST] = { @@ -100,6 +103,7 @@ /* N. B: normally receiving 0 bytes means that we should close the connection and re-establish it but to test autoreconnection logic we ignore it in here to let the test run till completion */ LOGCLI(cli, "0-byte read, auto-reconnect will be triggered if enabled\n"); + osmo_gettimeofday_override_add(RECONNECT_TIMEOUT_SECS, 0); } if (!cli_data) { @@ -116,7 +120,7 @@ static struct osmo_stream_cli *init_client_reconnection(struct osmo_stream_cli *cli, bool autoreconnect) { /* setting negative timeout ensures that we disable reconnection logic */ - osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 9 : -1); + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? RECONNECT_TIMEOUT_SECS : -1); if (osmo_stream_cli_open(cli) < 0) { LOGCLI(cli, "unable to open client\n"); @@ -352,6 +356,9 @@ char *host = "127.0.0.11"; unsigned port = 1111; void *tall_test = talloc_named_const(NULL, 1, "osmo_stream_test"); + + osmo_gettimeofday_override = true; + msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_INFO); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 Gerrit-Change-Number: 15575 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:36:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:36:27 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Log fake time Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15576 Change subject: stream_test: Log fake time ...................................................................... stream_test: Log fake time It allows easy verification that timing is correct and makes it easier to debug time related race conditions. Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c --- M tests/stream/stream_test.c M tests/stream/stream_test.err M tests/stream/stream_test.ok 3 files changed, 76 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/76/15576/1 diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 4fd8573..a558e2e 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -57,8 +57,12 @@ #define ASTR(rec) ((rec) ? "autoreconnecting" : "non-reconnecting") /* client defs */ -#define LOGCLI(cli, fmt, args...) \ - printf("[%s] Client's %s(): " fmt, osmo_stream_cli_get_data(cli) ? "OK" : "NA", __func__, ##args) +#define LOGCLI(cli, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s] Client's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_cli_get_data(cli) ? "OK" : "NA", __func__, ##args); \ + } while (0) #define CLI_SND(cli, m) do { \ struct msgb *msg = make_msgb(m); \ @@ -228,9 +232,14 @@ #define LOGLNK(lnk, fmt, args...) \ printf("[%s] Server's %s(): " fmt, osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", __func__, ##args) -#define LOGSRV(srv, fmt, args...) \ - printf("[%s|%s] Server's %s(): " fmt, osmo_stream_srv_get_data(srv) ? "OK" : "NA", \ - osmo_stream_srv_link_get_data(osmo_stream_srv_get_master(srv)) ? "OK" : "NA", __func__, ##args) +#define LOGSRV(srv, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s|%s] Server's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_srv_get_data(srv) ? "OK" : "NA", \ + osmo_stream_srv_link_get_data(osmo_stream_srv_get_master(srv)) ? "OK" : "NA", \ + __func__, ##args); \ + } while (0) #define SRV_SND(srv, m) do { \ struct msgb *msg = make_msgb(m); \ @@ -322,6 +331,7 @@ static void test_recon(void *ctx, const char *host, unsigned port, unsigned steps, struct osmo_stream_srv_link *lnk, bool autoreconnect) { + struct timeval tv; struct osmo_stream_cli *cli = make_client(ctx, host, port, autoreconnect); if (!cli) return; @@ -333,8 +343,11 @@ osmo_stream_srv_link_set_data(lnk, ctx); while(steps--) { + osmo_gettimeofday_override_add(0, 1); /* small increment to easily spot iterations */ osmo_select_main(0); - fprintf(stderr, "\n%s test step %u [client %s, server %s], FD reg %u\n", ASTR(autoreconnect), steps, + osmo_gettimeofday(&tv, NULL); + fprintf(stderr, "\n{%lu.%06lu} %s test step %u [client %s, server %s], FD reg %u\n", + tv.tv_sec, tv.tv_usec, ASTR(autoreconnect), steps, osmo_stream_cli_get_data(cli) ? "OK" : "NA", osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", osmo_fd_is_registered(osmo_stream_cli_get_ofd(cli))); @@ -358,6 +371,8 @@ void *tall_test = talloc_named_const(NULL, 1, "osmo_stream_test"); osmo_gettimeofday_override = true; + osmo_gettimeofday_override_time.tv_sec = 2; + osmo_gettimeofday_override_time.tv_usec = 0; msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_test_log_info); diff --git a/tests/stream/stream_test.err b/tests/stream/stream_test.err index 07cc7b0..04bfcfe 100644 --- a/tests/stream/stream_test.err +++ b/tests/stream/stream_test.err @@ -1,43 +1,43 @@ -autoreconnecting test step 11 [client NA, server OK], FD reg 1 +{2.000001} autoreconnecting test step 11 [client NA, server OK], FD reg 1 -autoreconnecting test step 10 [client NA, server OK], FD reg 1 +{2.000002} autoreconnecting test step 10 [client NA, server OK], FD reg 1 -autoreconnecting test step 9 [client NA, server OK], FD reg 1 +{2.000003} autoreconnecting test step 9 [client NA, server OK], FD reg 1 -autoreconnecting test step 8 [client NA, server OK], FD reg 1 +{2.000004} autoreconnecting test step 8 [client NA, server OK], FD reg 1 -autoreconnecting test step 7 [client OK, server OK], FD reg 1 +{2.000005} autoreconnecting test step 7 [client OK, server OK], FD reg 1 -autoreconnecting test step 6 [client OK, server OK], FD reg 1 +{2.000006} autoreconnecting test step 6 [client OK, server OK], FD reg 1 -autoreconnecting test step 5 [client OK, server OK], FD reg 1 +{2.000007} autoreconnecting test step 5 [client OK, server OK], FD reg 1 [ CONNECTED] osmo_stream_cli_recv(): connection closed with srv [ NONE] osmo_stream_cli_reconnect(): retrying in 9 seconds... -autoreconnecting test step 4 [client OK, server OK], FD reg 0 +{11.000008} autoreconnecting test step 4 [client OK, server OK], FD reg 0 -autoreconnecting test step 3 [client OK, server OK], FD reg 1 +{11.000009} autoreconnecting test step 3 [client OK, server OK], FD reg 1 -autoreconnecting test step 2 [client OK, server OK], FD reg 0 +{11.000010} autoreconnecting test step 2 [client OK, server OK], FD reg 0 connection closed with srv -autoreconnecting test step 1 [client OK, server NA], FD reg 0 +{11.000011} autoreconnecting test step 1 [client OK, server NA], FD reg 0 -non-reconnecting test step 7 [client NA, server OK], FD reg 1 +{11.000012} non-reconnecting test step 7 [client NA, server OK], FD reg 1 -non-reconnecting test step 6 [client NA, server OK], FD reg 1 +{11.000013} non-reconnecting test step 6 [client NA, server OK], FD reg 1 -non-reconnecting test step 5 [client NA, server OK], FD reg 1 +{11.000014} non-reconnecting test step 5 [client NA, server OK], FD reg 1 -non-reconnecting test step 4 [client NA, server OK], FD reg 1 +{11.000015} non-reconnecting test step 4 [client NA, server OK], FD reg 1 -non-reconnecting test step 3 [client OK, server OK], FD reg 1 +{11.000016} non-reconnecting test step 3 [client OK, server OK], FD reg 1 -non-reconnecting test step 2 [client OK, server OK], FD reg 1 +{11.000017} non-reconnecting test step 2 [client OK, server OK], FD reg 1 -non-reconnecting test step 1 [client OK, server OK], FD reg 1 +{11.000018} non-reconnecting test step 1 [client OK, server OK], FD reg 1 [ CONNECTED] osmo_stream_cli_recv(): connection closed with srv [ NONE] osmo_stream_cli_reconnect(): not reconnecting, disabled. -non-reconnecting test step 0 [client OK, server OK], FD reg 0 +{20.000019} non-reconnecting test step 0 [client OK, server OK], FD reg 0 diff --git a/tests/stream/stream_test.ok b/tests/stream/stream_test.ok index 7b6fb95..bccf386 100644 --- a/tests/stream/stream_test.ok +++ b/tests/stream/stream_test.ok @@ -3,26 +3,26 @@ ======================================= Client/Server entering autoreconnecting event loop... ======================================= -[NA] Client's connect_cb_cli(): callback triggered -[NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): keep initial client connection -[NA] Client's read_cb_cli(): callback triggered -[NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 -[NA] Client's read_cb_cli(): initial read, contacting server -[OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): callback triggered -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call -[OK] Client's read_cb_cli(): callback triggered -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled -[OK] Client's connect_cb_cli(): callback triggered -[OK] Client's connect_cb_cli(): closing connection -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): client have already closed connection +{2.000001} [NA] Client's connect_cb_cli(): callback triggered +{2.000001} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): callback triggered +{2.000003} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000003} [OK|OK] Server's read_cb_srv(): keep initial client connection +{2.000005} [NA] Client's read_cb_cli(): callback triggered +{2.000005} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000005} [NA] Client's read_cb_cli(): initial read, contacting server +{2.000005} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): callback triggered +{2.000007} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000007} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{2.000008} [OK] Client's read_cb_cli(): callback triggered +{2.000008} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{11.000010} [OK] Client's connect_cb_cli(): callback triggered +{11.000010} [OK] Client's connect_cb_cli(): closing connection +{11.000011} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000011} [NA|OK] Server's read_cb_srv(): client have already closed connection Server requested test termination autoreconnecting test complete. @@ -30,22 +30,22 @@ ======================================= Client/Server entering non-reconnecting event loop... ======================================= -[NA] Client's connect_cb_cli(): callback triggered -[NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): keep initial client connection -[NA] Client's read_cb_cli(): callback triggered -[NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 -[NA] Client's read_cb_cli(): initial read, contacting server -[OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): callback triggered -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call -[OK] Client's read_cb_cli(): callback triggered -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{11.000012} [NA] Client's connect_cb_cli(): callback triggered +{11.000012} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000014} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000014} [OK|OK] Server's read_cb_srv(): keep initial client connection +{11.000016} [NA] Client's read_cb_cli(): callback triggered +{11.000016} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000016} [NA] Client's read_cb_cli(): initial read, contacting server +{11.000016} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): callback triggered +{11.000018} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000018} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{11.000019} [OK] Client's read_cb_cli(): callback triggered +{11.000019} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled non-reconnecting test complete. Stream tests completed -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c Gerrit-Change-Number: 15576 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:42:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:42:34 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Log fake time In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 to look at the new patch set (#2). Change subject: stream_test: Log fake time ...................................................................... stream_test: Log fake time It allows easy verification that timing is correct and makes it easier to debug time related race conditions. Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c --- M tests/stream/stream_test.c M tests/stream/stream_test.err M tests/stream/stream_test.ok 3 files changed, 82 insertions(+), 66 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/76/15576/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c Gerrit-Change-Number: 15576 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:44:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:44:50 +0000 Subject: Change in ...osmo-gsm-tester[master]: suite_test: suite requires the fake trial to implement get_run_dir() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 ) Change subject: suite_test: suite requires the fake trial to implement get_run_dir() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a Gerrit-Change-Number: 15569 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 13:44:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:44:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:44:55 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add a per-test log file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 ) Change subject: Add a per-test log file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed Gerrit-Change-Number: 15567 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 13:44:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:44:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:44:57 +0000 Subject: Change in ...osmo-gsm-tester[master]: suite_test: suite requires the fake trial to implement get_run_dir() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 ) Change subject: suite_test: suite requires the fake trial to implement get_run_dir() ...................................................................... suite_test: suite requires the fake trial to implement get_run_dir() If class Test calls get_run_dir(), it will generate the run dir from Suite.get_run_dir() + append, and Suite.get_run_dir() in turn will do the same with Trial.get_run_dir(). In suite_test.py, however, we are passing a plain log.Origin object (parent of Trial), which doesn't implement this function. We need to add it since tests will start using get_run_dir() to write their own log files. Generated tmp files are deleted on success and left there on error, in order to be able to debug stuff easily. Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a --- M selftest/suite_test.py 1 file changed, 24 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/suite_test.py b/selftest/suite_test.py index db19ccc..115d76e 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -1,10 +1,26 @@ #!/usr/bin/env python3 import os import _prep -from osmo_gsm_tester import log, suite, config, report +import shutil +from osmo_gsm_tester import log, suite, config, report, util config.ENV_CONF = './suite_test' +example_trial_dir = os.path.join('test_trial_tmp') + +class FakeTrial(log.Origin): + def __init__(self): + super().__init__(log.C_TST, 'trial') + self.dir = util.Dir(example_trial_dir) + self._run_dir = None + + def get_run_dir(self): + if self._run_dir is not None: + return self._run_dir + self._run_dir = util.Dir(self.dir.new_child('test_run')) + self._run_dir.mkdir() + return self._run_dir + #log.style_change(trace=True) print('- non-existing suite dir') @@ -20,7 +36,7 @@ print(config.tostr(s_def.conf)) print('- run hello world test') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() s = suite.SuiteRun(trial, 'test_suite', s_def) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) @@ -43,7 +59,7 @@ print(output) print('- test with half empty scenario') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) @@ -51,7 +67,7 @@ print(report.suite_to_text(s)) print('- test with scenario') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) @@ -59,7 +75,7 @@ print(report.suite_to_text(s)) print('- test with scenario and modifiers') -trial = log.Origin(log.C_TST, 'trial') +trial = FakeTrial() scenario = config.Scenario('foo', 'bar') scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } scenario['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } @@ -70,4 +86,7 @@ print(report.suite_to_text(s)) print('\n- graceful exit.') +#deleting generated tmp trial dir: +shutil.rmtree(example_trial_dir, ignore_errors=True) + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a Gerrit-Change-Number: 15569 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 13:44:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 13:44:57 +0000 Subject: Change in ...osmo-gsm-tester[master]: Add a per-test log file In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 ) Change subject: Add a per-test log file ...................................................................... Add a per-test log file This way there's no need to go over hours of logging in the main log to find information of a failing test. Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed --- M src/osmo_gsm_tester/test.py 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 6f141f1..4d4353a 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -42,6 +42,7 @@ self.duration = 0 self.fail_type = None self.fail_message = None + self.log_target = None def get_run_dir(self): if self._run_dir is None: @@ -50,6 +51,7 @@ def run(self): try: + self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() @@ -81,6 +83,10 @@ # when the program is aborted by a signal (like Ctrl-C), escalate to abort all. self.err('TEST RUN ABORTED: %s' % type(e).__name__) raise + finally: + if self.log_target: + self.log_target.remove() + self.log_target = None def name(self): l = log.get_line_for_src(self.path) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/15567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed Gerrit-Change-Number: 15567 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 14:06:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 14:06:41 +0000 Subject: Change in ...libosmocore[master]: osmo-release.sh: update TODO-RELEASE for non-lib projects too Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15577 Change subject: osmo-release.sh: update TODO-RELEASE for non-lib projects too ...................................................................... osmo-release.sh: update TODO-RELEASE for non-lib projects too Projects not containing libraries may also want to contain a TODO-RELEASE in order to write down when a new API available only on libosmoXYZ current master (hence configure.ac and debian cannot be updated during the patch using the API until the APIs are available in a new release). This way, during release process of the project, the maintainer can see that a release of libosmoXYZ is needed beforehand and then update configure.ac of project accordingly with the new version of libosmoXYZ. Furthermore, we want to update the file only if mode DRY_RUN is not selected. Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9 --- M osmo-release.sh 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/15577/1 diff --git a/osmo-release.sh b/osmo-release.sh index 1effe7e..4450436 100755 --- a/osmo-release.sh +++ b/osmo-release.sh @@ -156,16 +156,18 @@ if [ "z$DRY_RUN" != "z0" ]; then exit 0 fi - if [ -f "TODO-RELEASE" ]; then - grep '#' TODO-RELEASE > TODO-RELEASE.clean - mv TODO-RELEASE.clean TODO-RELEASE - git add TODO-RELEASE - fi fi if [ "z$DRY_RUN" != "z0" ]; then exit 0 fi + +if [ -f "TODO-RELEASE" ]; then + grep '#' TODO-RELEASE > TODO-RELEASE.clean + mv TODO-RELEASE.clean TODO-RELEASE + git add TODO-RELEASE +fi + gbp dch --debian-tag='%(version)s' --auto --meta --git-author --multimaint-merge --ignore-branch --new-version="$NEW_VER" dch -r -m --distribution "unstable" "" git add ${GIT_TOPDIR}/debian/changelog -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9 Gerrit-Change-Number: 15577 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 14:22:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 14:22:18 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce TODO-RELEASE file Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 Change subject: Introduce TODO-RELEASE file ...................................................................... Introduce TODO-RELEASE file It's going to be useful to track new dependency APIs being used which require dependency version release and version bump during release of osmo-sgsn. Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7 --- A TODO-RELEASE 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/78/15578/1 diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..1c5d61f --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1 @@ +#component what description / commit summary line -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7 Gerrit-Change-Number: 15578 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 14:22:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 14:22:18 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15579 Change subject: sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() ...................................................................... sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() Since osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd, those APIs are a no-op since timers are tracked internally through osmocom APIs (and at the same time, new implementation fixes some timing related bugs). As a result, osmo-sgsn depends now on at least that libgtp commit. Since it's not yet avaiable on latest libgtp release, let's track it down in TODO-RELESE to not forget to update libgtp requirements during osmo-sgsn release. Related: OS#4178 Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e --- M TODO-RELEASE M include/osmocom/sgsn/sgsn.h M src/sgsn/sgsn_libgtp.c 3 files changed, 3 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/79/15579/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 1c5d61f..ac6dcb2 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -1 +1,4 @@ #component what description / commit summary line +osmo-sgsn libgtp We dropped libgtp gtp_retranstimeout timer code which became a + no-op in osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd, + which means next osmo-sgsn release will require libgtp > 1.4.0. diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index e1c5c4a..f5ff524 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -130,8 +130,6 @@ struct osmo_fd gtp_fd0; struct osmo_fd gtp_fd1c; struct osmo_fd gtp_fd1u; - /* Timer for libGTP */ - struct osmo_timer_list gtp_timer; /* GSN instance for libgtp */ struct gsn_t *gsn; /* Subscriber */ diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index c5bc5b8..5163d1d 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -756,28 +756,6 @@ return rc; } -static void sgsn_gtp_tmr_start(struct sgsn_instance *sgi) -{ - struct timeval next; - - /* Retrieve next retransmission as struct timeval */ - gtp_retranstimeout(sgi->gsn, &next); - - /* re-schedule the timer */ - osmo_timer_schedule(&sgi->gtp_timer, next.tv_sec, next.tv_usec/1000); -} - -/* timer callback for libgtp retransmissions and ping */ -static void sgsn_gtp_tmr_cb(void *data) -{ - struct sgsn_instance *sgi = data; - - /* Do all the retransmissions as needed */ - gtp_retrans(sgi->gsn); - - sgsn_gtp_tmr_start(sgi); -} - int sgsn_gtp_init(struct sgsn_instance *sgi) { int rc; @@ -828,10 +806,6 @@ return rc; } - /* Start GTP re-transmission timer */ - osmo_timer_setup(&sgi->gtp_timer, sgsn_gtp_tmr_cb, sgi); - sgsn_gtp_tmr_start(sgi); - /* Register callbackcs with libgtp */ gtp_set_cb_delete_context(gsn, cb_delete_context); gtp_set_cb_conf(gsn, cb_conf); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e Gerrit-Change-Number: 15579 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 15:06:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Sep 2019 15:06:14 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: > > I still don't get why this has any mention of PCU in it. > > Well, I'm reading out the L1 SAPI from the "struct gsm_pcu_if", so > I can set the L1 SAPI log context for all incoming and outgoing L1 > messages from BTS<-->PCU. But where and why does the PCU get into the picture? I still don't understand. The L1 SAPI exists for every block of data we send or receive to/from the DSP/PHY, whether or not it's circuit switched or packet switched. And the PCU interface will ever only get packet switched data. So anything that's attached/associated to the PCU interface will only see a very small portion of the traffic (i.e. GPRS traffic). > Sorry, I had assumed, that in OsmoBTS, this L1 SAPI logging would > only be relevant for the BTS<-->PCU socket, and therefore thought > the appropriate log context would be what is defined with > PCU_IF_SAPI_*. I wonder where that impression was raised? The L1 is not used only by the PCU, but by all of OsmoBTS. > From what I understand now, instead I need to do this: > * create a new enum in libosmocore that holds all kinds of L1 SAPI > values that may be an option, but I'm not sure it's required to have this in libosmocore. After all, there is no need for those values / enums to be stable across different programs. Those enum values are never exposed on any external interface/API, so they could just be private enums in both BTS and PCU. > * don't use "pcu_prim->...sapi" directly to set the filter context, > but translate it to the enum first correct. > * set the log context in other places in OSmoBTS, that are not > related to the PCU (that must be the other side, when talking to > hardware backends) You need to set that value for every L1P (and possibly L1C?) primitive received from the respective PHY, as soon as possible. That's for the uplink part. For downlink, I suspect it's sufficient to set it based on chan_nr when received from L1SAP. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 19 Sep 2019 15:06:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:01:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Sep 2019 17:01:30 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Move comment to the right place In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15572 ) Change subject: cosmetic: Move comment to the right place ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad Gerrit-Change-Number: 15572 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 17:01:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:01:50 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Sep 2019 17:01:50 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Add comment on GSM-FR ECU struct In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15573 ) Change subject: cosmetic: Add comment on GSM-FR ECU struct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b Gerrit-Change-Number: 15573 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 17:01:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:06:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Sep 2019 17:06:20 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... Patch Set 3: Code-Review-2 (1 comment) https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h File include/osmocom/codec/ecu.h: https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h at a14 PS3, Line 14: Both functions are a part of the public API. If you remove them, older versions of OsmoBTS and OsmoGAPK will not build against the new libosmocore. Let's rather add a comment that we keep them for backward compatibility, and other codec-specific stuff shall not be added here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 17:06:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:55:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 17:55:35 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 19 Sep 2019 17:55:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:56:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 17:56:30 +0000 Subject: Change in ...osmo-mgw[master]: mgcp_test: Correctly release all endpoints allocated Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15580 Change subject: mgcp_test: Correctly release all endpoints allocated ...................................................................... mgcp_test: Correctly release all endpoints allocated Currently in handle_create_con(), mgcp_conn_alloc() is called with NULl ctx. As soon as this ctx is changed to be part of the trunk's endpoint array (tcfg->endpoints), test will segfault because some fds from previous tcfg are still registered after the whole tcfg object was freed with talloc_free() by previous test. That's because mgcp_endpoint_release() must be called on all endpoints to make sure all registered components are correctly unplugged. Related: OS#3950 Change-Id: I813d52b518ed0bb8db4e42dff83e040b0891fee2 --- M tests/mgcp/mgcp_test.c 1 file changed, 34 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/80/15580/1 diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index e5dec2a..c72382e 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -641,6 +641,13 @@ return real_clock_gettime(clk_id, tp); } +static void mgcp_endpoints_release(struct mgcp_trunk_config *trunk) +{ + int i; + for (i = 1; i < trunk->number_endpoints; i++) + mgcp_endp_release(&trunk->endpoints[i]); +} + #define CONN_UNMODIFIED (0x1000) static void test_values(void) @@ -742,6 +749,7 @@ { struct mgcp_config *cfg; struct mgcp_endpoint *endp; + struct mgcp_trunk_config *trunk2; int i; struct mgcp_conn_rtp *conn = NULL; char last_conn_id[256]; @@ -755,7 +763,8 @@ memset(last_conn_id, 0, sizeof(last_conn_id)); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(tests); i++) { const struct mgcp_test *t = &tests[i]; @@ -873,12 +882,15 @@ } } + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } static void test_retransmission(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; int i; char last_conn_id[256]; int rc; @@ -890,7 +902,8 @@ memset(last_conn_id, 0, sizeof(last_conn_id)); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(retransmit); i++) { const struct mgcp_test *t = &retransmit[i]; @@ -930,6 +943,8 @@ msgb_free(msg); } + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -943,6 +958,7 @@ static void test_rqnt_cb(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; struct msgb *inp, *msg; char conn_id[256]; @@ -952,7 +968,8 @@ cfg->trunk.vty_number_endpoints = 64; mgcp_endpoints_allocate(&cfg->trunk); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -981,6 +998,8 @@ inp = create_msg(DLCX, conn_id); msgb_free(mgcp_handle_message(cfg, inp)); msgb_free(inp); + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -1342,12 +1361,12 @@ static void test_multilple_codec(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; struct mgcp_endpoint *endp; struct msgb *inp, *resp; struct in_addr addr; struct mgcp_conn_rtp *conn = NULL; char conn_id[256]; - int i; printf("Testing multiple payload types\n"); @@ -1355,7 +1374,9 @@ cfg->trunk.vty_number_endpoints = 64; mgcp_endpoints_allocate(&cfg->trunk); cfg->policy_cb = mgcp_test_policy_cb; - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); /* Allocate endpoint 1 at mgw with two codecs */ last_endpoint = -1; @@ -1481,9 +1502,8 @@ OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); - for (i = 1; i < cfg->trunk.number_endpoints; i++) - mgcp_endp_release(&cfg->trunk.endpoints[i]); - + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -1532,12 +1552,13 @@ OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_endp_release(endp); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } static void test_no_name(void) { + struct mgcp_trunk_config *trunk2; struct mgcp_config *cfg; struct msgb *inp, *msg; @@ -1550,7 +1571,8 @@ cfg->policy_cb = mgcp_test_policy_cb; - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -1563,7 +1585,8 @@ msgb_free(inp); msgb_free(msg); - mgcp_endp_release(&cfg->trunk.endpoints[1]); + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I813d52b518ed0bb8db4e42dff83e040b0891fee2 Gerrit-Change-Number: 15580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 17:56:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 17:56:30 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allocate mgcp_conn instance under tcfg->endpoints Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15581 Change subject: mgw: Allocate mgcp_conn instance under tcfg->endpoints ...................................................................... mgw: Allocate mgcp_conn instance under tcfg->endpoints The connection becomes to the endpoint, so let's not use the NULL context there. Related: OS#3950 Change-Id: I6f6441c3ef21aac577af08eb018bacbca4c45fb7 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/81/15581/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b596044..c72596a 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -919,7 +919,7 @@ endp->callid = talloc_strdup(tcfg->endpoints, callid); snprintf(conn_name, sizeof(conn_name), "%s", callid); - _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP, conn_name); + _conn = mgcp_conn_alloc(tcfg->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); if (!_conn) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: unable to allocate RTP connection\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6f6441c3ef21aac577af08eb018bacbca4c45fb7 Gerrit-Change-Number: 15581 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 19 18:00:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 19 Sep 2019 18:00:17 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: remove osmo_ecu_fr function prototypes from ecu.h ...................................................................... Patch Set 3: -Code-Review (1 comment) https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h File include/osmocom/codec/ecu.h: https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h at a14 PS3, Line 14: > Both functions are a part of the public API. [?] Use OSMO_DEPRECATED() for that. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Sep 2019 18:00:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 20 01:50:33 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 20 Sep 2019 01:50:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d843079a0fa4_306b2ae0e42e65f4228324@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 529s] ar: `u' modifier ignored since `D' is the default (see `U') [ 529s] libtool: link: ranlib .libs/libtransceiver_common.a [ 529s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 529s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 530s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 530s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 530s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 530s] collect2: error: ld returned 1 exit status [ 530s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 530s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 530s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 530s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 530s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 530s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 530s] make[1]: *** [Makefile:444: all] Error 2 [ 530s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 530s] dh_auto_build: make -j1 returned exit code 2 [ 530s] make: *** [debian/rules:6: build] Error 255 [ 530s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 530s] [ 530s] lamb56 failed "build osmo-trx_1.1.1.25.2538.dsc" at Fri Sep 20 01:50:26 UTC 2019. [ 530s] [ 530s] ### VM INTERACTION START ### [ 534s] [ 511.619714] sysrq: SysRq : Power Off [ 534s] [ 511.638707] reboot: Power down [ 534s] ### VM INTERACTION END ### [ 534s] [ 534s] lamb56 failed "build osmo-trx_1.1.1.25.2538.dsc" at Fri Sep 20 01:50:31 UTC 2019. [ 534s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 20 02:11:07 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 20 Sep 2019 02:11:07 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d8435463e4f0_306b2ae0e42e65f4231446@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Raspbian_10/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 332s] | config.status:1117: creating include/Makefile [ 333s] | config.status:1117: creating include/osmocom/Makefile [ 333s] | config.status:1117: creating include/osmocom/netif/Makefile [ 333s] | config.status:1117: creating src/Makefile [ 333s] | config.status:1117: creating examples/Makefile [ 333s] | config.status:1117: creating tests/Makefile [ 333s] | config.status:1117: creating Doxyfile [ 333s] | config.status:1117: creating Makefile [ 333s] | config.status:1117: creating config.h [ 333s] | config.status:1346: executing tests/atconfig commands [ 333s] | config.status:1346: executing depfiles commands [ 333s] | config.status:1346: executing libtool commands [ 333s] | configure:11918: WARNING: unrecognized options: --disable-maintainer-mode [ 333s] | [ 333s] | ## ---------------- ## [ 333s] | ## Cache variables. ## [ 333s] | ## ---------------- ## [ 333s] | [ 333s] | ac_cv_build=arm-unknown-linux-gnueabihf [ 333s] | ac_cv_c_compiler_gnu=yes [ 333s] | ac_cv_env_CC_set= [ 333s] | ac_cv_env_CC_value= [ 333s] | ac_cv_env_CFLAGS_set=set [ 335s] | ac_cv_env_CFLAGS_value='-g [ 278.088281] sysrq: SysRq : Power Off [ 335s] [ 278.090527] reboot: Power down [ 335s] ### VM INTERACTION END ### [ 335s] [ 335s] armbuild17 failed "build libosmo-netif_0.6.0.2.a1e9.dsc" at Fri Sep 20 02:10:53 UTC 2019. [ 335s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 20 06:35:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 06:35:54 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Use fake time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15575 ) Change subject: stream_test: Use fake time ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 Gerrit-Change-Number: 15575 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 06:35:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 06:39:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 06:39:28 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Log fake time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15576 ) Change subject: stream_test: Log fake time ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c Gerrit-Change-Number: 15576 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 06:39:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 06:41:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 06:41:27 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Use fake time In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15575 ) Change subject: stream_test: Use fake time ...................................................................... Patch Set 1: Not having to wait 9 seconds for test completion is a very nice side-effect of trying to fix this race condition :) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 Gerrit-Change-Number: 15575 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 06:41:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 08:11:30 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Sep 2019 08:11:30 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Move comment to the right place In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15572 ) Change subject: cosmetic: Move comment to the right place ...................................................................... cosmetic: Move comment to the right place Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad --- M include/osmocom/codec/ecu.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index ec94670..f3b34c9 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -5,7 +5,6 @@ #include -/* Codec independent ECU state */ struct osmo_ecu_fr_state { bool subsequent_lost_frame; uint8_t frame_backup[GSM_FR_BYTES]; @@ -40,6 +39,7 @@ * -- Harald Welte on August 1, 2019. */ +/* Codec independent ECU state */ struct osmo_ecu_state { enum osmo_ecu_codec codec; uint8_t data[0]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d548fcc7d500baf37134b14af91bc7b284ce6ad Gerrit-Change-Number: 15572 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 08:22:01 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Sep 2019 08:22:01 +0000 Subject: Change in ...libosmocore[master]: cosmetic: Add comment on GSM-FR ECU struct In-Reply-To: References: Message-ID: dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15573 ) Change subject: cosmetic: Add comment on GSM-FR ECU struct ...................................................................... cosmetic: Add comment on GSM-FR ECU struct Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b --- M include/osmocom/codec/ecu.h 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index f3b34c9..927ca0d 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -5,6 +5,7 @@ #include +/* ECU state for GSM-FR */ struct osmo_ecu_fr_state { bool subsequent_lost_frame; uint8_t frame_backup[GSM_FR_BYTES]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0a3a407c592262104af315f845f0bbd116ab26b Gerrit-Change-Number: 15573 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 09:53:04 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Sep 2019 09:53:04 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: Hello pespin, fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15574 to look at the new patch set (#4). Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... ecu_fr: increase test coverage for FR ECU implementation The ECU implementation for FR is currently tested by calling the related functions directly and by using the generic ECU abstraction layer. However, the test "test_fr_concealment" only tests directly. Lets add a version that uses the generic ECU abstraction layer as well. The generic ECU abstraction layer obsolets the public API functions osmo_ecu_fr_reset() and osmo_ecu_fr_conceal(), lets tag those functions as dprecated. Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 --- M include/osmocom/codec/ecu.h M tests/codec/codec_ecu_fr_test.c M tests/codec/codec_ecu_fr_test.ok 3 files changed, 88 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/74/15574/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 09:58:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 09:58:05 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... gerrit, master builds: add docker_{run,img} vars Move the common "docker run" invocation and image name into one place, so it is not duplicated over and over. This prepares for changing the image and building all Osmocom projects in docker (follow up patches). Related: OS#3726 Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 61 insertions(+), 177 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/82/15582/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index c5aae68..801c793 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -20,6 +20,23 @@ combination_filter: '' sequential: false # most common build invocation + docker_run: | + ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" + mkdir -p "$ARTIFACT_STORE" + docker run --rm=true \ + -e ARTIFACT_STORE=/artifact_store \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e PATH="$PATH:/build_bin" \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ + -v "$ARTIFACT_STORE:/artifact_store" \ + docker_img: 'osmocom:amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/{repos}' gerrit_project: '{repos}' @@ -30,16 +47,7 @@ - cellmgr-ng: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - libasn1c - libgtpnl @@ -67,26 +75,11 @@ a3: !!python/tuple [--disable-iu] concurrent: true cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - openggsn: a1_name: GTP @@ -95,18 +88,7 @@ - osmo-bsc: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -148,18 +130,7 @@ - osmo-mgw: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-msc: a1_name: IU @@ -171,23 +142,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true -i \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e IU="$IU" \ - -e WITH_MANUALS="$WITH_MANUALS" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -w /build -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_run} \ + -e IU="$IU" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins.sh - osmo-pcap @@ -209,19 +167,12 @@ (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-python-tests: repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/python/{repos}' @@ -237,18 +188,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sip-connector: cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 9374391..c0d25a6 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -19,6 +19,25 @@ combination_filter: '' sequential: false # most common build invocation (PUBLISH=1 is prepended to publish manual PDFs) + docker_run: | + ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" + mkdir -p "$ARTIFACT_STORE" + docker run --rm=true \ + -e ARTIFACT_STORE=/artifact_store \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e PATH="$PATH:/build_bin" \ + -e PUBLISH="1" \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ + -v "$ARTIFACT_STORE:/artifact_store" \ + -v "$HOME/.ssh:/home/build/.ssh:ro" \ + docker_img: 'osmocom:amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh wrappers: [] trigger: @@ -144,45 +163,15 @@ a3: !!python/tuple [--disable-iu] concurrent: true cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-bsc: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -240,20 +229,7 @@ - osmo-mgw: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -266,25 +242,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true -i \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e IU="$IU" \ - -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_run} \ + -e IU="$IU" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins.sh - osmo-pcap @@ -310,22 +271,12 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sgsn: a1_name: IU @@ -337,20 +288,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sip-connector: email: gerrit-log at lists.osmocom.org laforge at gnumonks.org holger at freyther.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 09:58:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 09:58:05 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... gerrit, master builds: use stretch, not jessie Debian jessie (8) is EOL already, so switch to stretch (9). This is required to build all Osmocom projects in docker, because at least libosmocore fails to build with the old image (tests won't build out of the box with GCC-4.9.x from jessie). Do not build the jessie image anymore, and update the shared dockerfile. Remove everything jessie specific, and make it work with stretch by installing asciidoc-dblatex. Otherwise we get this error when building manuals: a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl I've tried to split this patch up into multiple ones, but since there is no asciidoc-dblatex package in jessie, we must add the dependency and switch the image at the same time. Related: OS#3726 Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d --- M docker/Dockerfile_osmocom_jenkins.amd64 M docker/rebuild_osmocom_jenkins_image.sh M jobs/gerrit-verifications.yml M jobs/master-builds.yml 4 files changed, 7 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/83/15583/1 diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 3f499ad..897db15 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -1,10 +1,9 @@ -ARG DEBIAN_VERSION=jessie +ARG DEBIAN_VERSION=stretch FROM debian:${DEBIAN_VERSION} RUN \ - echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && \ dpkg --add-architecture i386 && \ - DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Check-Valid-Until=false update && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget make @@ -29,7 +28,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libortp-dev libpcsclite-dev libsctp-dev libfftw3-dev libsnmp-dev libusb-1.0-0-dev libtalloc-dev libgnutls28-dev # OsmocomBB -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev/jessie-backports +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev # building RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf @@ -38,7 +37,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3-setuptools python-setuptools python3-pip python-pip # for osmo-gsm-manuals -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils asciidoc-dblatex # Linux kernel RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh index c4e3b10..60c516b 100755 --- a/docker/rebuild_osmocom_jenkins_image.sh +++ b/docker/rebuild_osmocom_jenkins_image.sh @@ -22,6 +22,5 @@ build_once "-t" "${tag_name}" "--build-arg" DEBIAN_VERSION="${debian_version}" } -# Create containers using jessie (Debian 8.0) and stretch (Debian 9.0) as base. -build_container osmocom:amd64 jessie +# Create containers using stretch (Debian 9.0) as base. build_container osmocom:deb9_amd64 stretch diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 801c793..3a74dd9 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -36,7 +36,7 @@ -w /build -i -u build \ -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ -v "$ARTIFACT_STORE:/artifact_store" \ - docker_img: 'osmocom:amd64' + docker_img: 'osmocom:deb9_amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/{repos}' gerrit_project: '{repos}' diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c0d25a6..c56f93f 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -37,7 +37,7 @@ -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ -v "$ARTIFACT_STORE:/artifact_store" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ - docker_img: 'osmocom:amd64' + docker_img: 'osmocom:deb9_amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh wrappers: [] trigger: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 09:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 09:58:06 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build everything in docker Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 Change subject: gerrit, master builds: build everything in docker ...................................................................... gerrit, master builds: build everything in docker Instead of building some projects in docker, and some directly on the build slave, build all of them in docker. This has several advantages: * build environment of master builds and gerrit verifications is the same, therefore the same build won't pass in gerrit and then fail in master * all build environments are volatile * no more conflicts while running VTY/CTRL tests Related: OS#3726, OS#3598 Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 59 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/84/15584/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 3a74dd9..0b05e8b 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -37,7 +37,7 @@ -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ -v "$ARTIFACT_STORE:/artifact_store" \ docker_img: 'osmocom:deb9_amd64' - cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/{repos}' gerrit_project: '{repos}' @@ -47,20 +47,18 @@ - cellmgr-ng: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - libasn1c - libgtpnl - libosmo-abis - libosmo-netif - - libosmo-sccp: - cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + - libosmo-sccp - libosmocore: a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' - cmd: './contrib/jenkins_arch.sh "$arch"' + cmd: '{docker_run} osmocom:amd64 /build/contrib/jenkins_arch.sh "$arch"' - libsmpp34 - libtelnet @@ -84,11 +82,13 @@ - openggsn: a1_name: GTP a1: !!python/tuple [--enable-gtp-linux,--disable-gtp-linux] - cmd: ./contrib/jenkins.sh + cmd: | + {docker_run} \ + -e GTP="$GTP" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-bsc: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -108,7 +108,11 @@ (FIRMWARE_VERSION == "litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0") || (FIRMWARE_VERSION == "oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0") || (FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0") - cmd: 'ASCIIDOC_WARNINGS_CHECK="1" ./contrib/jenkins_bts_model.sh "$BTS_MODEL"' + cmd: | + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins_bts_model.sh "$BTS_MODEL"' - osmo-ggsn: a1_name: GTP @@ -118,19 +122,18 @@ combination_filter: > (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") - cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: | + {docker_run} \ + -e GTP="$GTP" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins.sh - osmo-gsm-manuals - - - osmo-hlr: - cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh - - - osmo-iuh: - cmd: WITH_MANUALS=1 ./contrib/jenkins.sh + - osmo-hlr + - osmo-iuh - osmo-mgw: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-msc: a1_name: IU @@ -193,8 +196,7 @@ -e WITH_MANUALS="$WITH_MANUALS" \ {docker_img} /build/contrib/jenkins.sh - - osmo-sip-connector: - cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + - osmo-sip-connector - osmo-trx: a1_name: INSTR @@ -206,9 +208,13 @@ concurrent: true combination_filter: > (INSTR == "--with-sse" && WITH_MANUALS == "1") + cmd: | + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins.sh - - osmocom-bb: - cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + - osmocom-bb - osmo-tetra - osmo-sysmon - osmo-remsim diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index c56f93f..f952ac2 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -18,7 +18,7 @@ a4: !!python/tuple [default] combination_filter: '' sequential: false - # most common build invocation (PUBLISH=1 is prepended to publish manual PDFs) + # most common build invocation (PUBLISH=1: publish manual PDFs) docker_run: | ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" mkdir -p "$ARTIFACT_STORE" @@ -38,7 +38,7 @@ -v "$ARTIFACT_STORE:/artifact_store" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ docker_img: 'osmocom:deb9_amd64' - cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' wrappers: [] trigger: email: jenkins-notifications at lists.osmocom.org laforge at gnumonks.org @@ -70,10 +70,12 @@ - libosmo-dsp: cmd: | - autoreconf --install --force - ./configure - $MAKE $PARALLEL_MAKE - $MAKE distcheck + {docker_run} \ + osmocom:amd64 sh -ex -c \ + "autoreconf -fi; \ + ./configure; \ + $MAKE $PARALLEL_MAKE; \ + $MAKE distcheck" trigger: master-osmo-gmr email: gerrit-log at lists.osmocom.org laforge at gnumonks.org 246tnt at gmail.com @@ -102,13 +104,12 @@ master-osmo-iuh, master-osmo-msc, master-osmo-sgsn - cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh - libosmocore: a1_name: arch a1: !!python/tuple [arm-none-eabi, amd64] combination_filter: '!(arch=="arm-none-eabi" && label=="FreeBSD_amd64")' - cmd: './contrib/jenkins_arch.sh "$arch"' + cmd: '{docker_run} osmocom:amd64 /build/contrib/jenkins_arch.sh "$arch"' # Full triggers would be: # trigger: > # master-libosmo-abis, master-libosmo-netif, master-libosmo-sccp, master-openbsc, @@ -171,7 +172,6 @@ - osmo-bsc: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -190,7 +190,11 @@ (FIRMWARE_VERSION == "v2017.01" && BTS_MODEL == "lc15" && WITH_MANUALS == "0") || (FIRMWARE_VERSION == "origin/nrw/litecell15" && BTS_MODEL == "lc15" && WITH_MANUALS == "0") || (FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0") - cmd: 'PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins_bts_model.sh "$BTS_MODEL"' + cmd: | + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins_bts_model.sh "$BTS_MODEL"' - osmo-ggsn: a1_name: GTP @@ -200,7 +204,11 @@ combination_filter: > (GTP == "--enable-gtp-linux" && WITH_MANUALS == "0") || (GTP == "--disable-gtp-linux" && WITH_MANUALS == "1") - cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: | + {docker_run} \ + -e GTP="$GTP" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins.sh trigger: master-osmo-sgsn - osmo-gmr: @@ -208,17 +216,13 @@ - osmo-gsm-manuals: node: 'osmocom-master-debian9' - cmd: | - ./contrib/jenkins.sh - osmo-gsm-tester: - cmd: PUBLISH=1 ./contrib/jenkins-build-manuals.sh + cmd: '{docker_run} osmocom:amd64 /build/contrib/jenkins-build-manuals.sh' - - osmo-hlr: - cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + - osmo-hlr - osmo-iuh: - cmd: WITH_MANUALS=1 PUBLISH=1 ./contrib/jenkins.sh # Full triggers would be: # trigger: master-osmo-msc, master-osmo-sgsn # Optimized: @@ -229,7 +233,6 @@ - osmo-mgw: concurrent: true - cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -295,7 +298,6 @@ - osmo-sip-connector: email: gerrit-log at lists.osmocom.org laforge at gnumonks.org holger at freyther.de - cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh - osmo-tetra: email: gerrit-log at lists.osmocom.org laforge at gnumonks.org 246tnt at gmail.com @@ -310,17 +312,18 @@ concurrent: true combination_filter: > (INSTR == "--with-sse" && WITH_MANUALS == "1") - cmd: PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh + cmd: | + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + osmocom:amd64 /build/contrib/jenkins.sh - - osmocom-bb: - cmd: WITH_MANUALS=1 PUBLISH=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh - + - osmocom-bb - osmo-sysmon - osmo-remsim - osmo-asf4-dfu - simtrace2: - cmd: | - ./contrib/jenkins.sh --publish + cmd: '{docker_run} osmocom:amd64 /build/contrib/jenkins.sh --publish' email: gerrit-log at lists.osmocom.org laforge at gnumonks.org kredon at sysmocom.de - gapk @@ -329,7 +332,11 @@ email: laforge at gnumonks.org steve at steve-m.de - sysmo-usim-tool: - cmd: cd ./tests; ./run-tests + cmd: | + {docker_run} \ + osmocom:amd64 sh -ex -c \ + "cd ./tests; \ + ./run-tests" slave_axis: !!python/tuple [simtester] git_base_url: git.sysmocom.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 Gerrit-Change-Number: 15584 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 09:58:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 09:58:06 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: make all jobs concurrent Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 Change subject: gerrit, master builds: make all jobs concurrent ...................................................................... gerrit, master builds: make all jobs concurrent Now that everything runs in docker, we don't need to worry about problems with running VTY/CTRL tests in parallel. Related: OS#3726 Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 6 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/85/15585/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 0b05e8b..b821541 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -5,7 +5,7 @@ name: gerrit # following default values can be overridden by each repo disabled: false - concurrent: false + concurrent: true node: osmocom-gerrit-debian8 # axes related defaults slave_axis: !!python/tuple [osmocom-gerrit-debian9] @@ -44,10 +44,7 @@ # in alphabetical order repos: - asn1c - - - cellmgr-ng: - concurrent: true - + - cellmgr-ng - libasn1c - libgtpnl - libosmo-abis @@ -71,7 +68,6 @@ a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding] a3_name: IU a3: !!python/tuple [--disable-iu] - concurrent: true cmd: | {docker_run} \ -e IU="$IU" \ @@ -87,8 +83,7 @@ -e GTP="$GTP" \ osmocom:amd64 /build/contrib/jenkins.sh - - osmo-bsc: - concurrent: true + - osmo-bsc - osmo-bts: a1_name: FIRMWARE_VERSION @@ -131,16 +126,13 @@ - osmo-gsm-manuals - osmo-hlr - osmo-iuh - - - osmo-mgw: - concurrent: true + - osmo-mgw - osmo-msc: a1_name: IU a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") @@ -161,7 +153,6 @@ a3: !!python/tuple [sysmo, lc15, oc2g, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || @@ -186,7 +177,6 @@ a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") @@ -205,7 +195,6 @@ a1: !!python/tuple [--with-sse] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (INSTR == "--with-sse" && WITH_MANUALS == "1") cmd: | diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index f952ac2..1604594 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -4,7 +4,7 @@ name: master_build # following default values can be overridden by each repo disabled: false - concurrent: false + concurrent: true node: '' # axes related defaults slave_axis: !!python/tuple [osmocom-master-debian9] @@ -162,7 +162,6 @@ a2: !!python/tuple [--enable-mgcp-transcoding, --disable-mgcp-transcoding] a3_name: IU a3: !!python/tuple [--disable-iu] - concurrent: true cmd: | {docker_run} \ -e IU="$IU" \ @@ -170,8 +169,7 @@ -e MGCP="$MGCP" \ {docker_img} /build/contrib/jenkins.sh - - osmo-bsc: - concurrent: true + - osmo-bsc - osmo-bts: a1_name: FIRMWARE_VERSION @@ -232,7 +230,6 @@ master-osmo-sgsn - osmo-mgw: - concurrent: true trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -240,7 +237,6 @@ a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") @@ -266,7 +262,6 @@ a3: !!python/tuple [sysmo, lc15, none] a4_name: WITH_MANUALS a4: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (with_vty == "True" && with_dsp == "sysmo" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0") || @@ -286,7 +281,6 @@ a1: !!python/tuple [--enable-iu, --disable-iu] a2_name: WITH_MANUALS a2: !!python/tuple ["1", "0"] - concurrent: true combination_filter: > (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add Gerrit-Change-Number: 15585 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:00:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 10:00:47 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 1: Setting to WIP, because I need to verify/fix up all projects to build in docker with stretch. I had just tested locally with osmo-pcu, and while it builds properly, the address sanitizer fails as it runs the tests. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 10:00:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:03:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 10:03:25 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... Patch Set 1: Verified+1 * Verified, that all affected projects still build in gerrit-verification * Verified, that osmo-bsc builds in master * Assuming, that with above tests, all affected projects in master should not break either (so I don't put too much time into this) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:03:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:04:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 10:04:45 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:04:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:06:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 10:06:28 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:06:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:06:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 10:06:31 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: Hello pespin, fixeria, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 to look at the new patch set (#2). Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... gerrit, master builds: add docker_{run,img} vars Move the common "docker run" invocation and image name into one place, so it is not duplicated over and over. This prepares for changing the image and building all Osmocom projects in docker (follow up patches). Related: OS#3726 Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 57 insertions(+), 173 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/82/15582/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:06:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Sep 2019 10:06:46 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... Patch Set 4: (1 comment) I was not aware that any application was using the direct API to the FR-ECU. I just thought that those function prototypes were only there to keep the unit-test code. I have now mared the API as OSMO_DEPRECATED and increased the test coverage a bit so that the generic ECU abstraction and the old direct function calls are tested equally. https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h File include/osmocom/codec/ecu.h: https://gerrit.osmocom.org/#/c/15574/3/include/osmocom/codec/ecu.h at a14 PS3, Line 14: > Use OSMO_DEPRECATED() for that. Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:06:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:09:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 10:09:09 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build everything in docker In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 ) Change subject: gerrit, master builds: build everything in docker ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 Gerrit-Change-Number: 15584 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:09:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:09:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 10:09:31 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: make all jobs concurrent In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: make all jobs concurrent ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add Gerrit-Change-Number: 15585 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:09:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:10:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 10:10:55 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 10:10:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 10:12:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Sep 2019 10:12:54 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build everything in docker In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 to look at the new patch set (#3). Change subject: gerrit, master builds: build everything in docker ...................................................................... gerrit, master builds: build everything in docker Instead of building some projects in docker, and some directly on the build slave, build all of them in docker. This has several advantages: * build environment of master builds and gerrit verifications is the same, therefore the same build won't pass in gerrit and then fail in master * all build environments are volatile * no more conflicts while running VTY/CTRL tests Related: OS#3726, OS#3598 Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 59 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/84/15584/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 Gerrit-Change-Number: 15584 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 11:13:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 11:13:29 +0000 Subject: Change in ...osmo-ci[master]: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/15586 Change subject: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases ...................................................................... ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb --- M ansible/host_vars/osmo-gsm-tester-rnd.yml 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/86/15586/1 diff --git a/ansible/host_vars/osmo-gsm-tester-rnd.yml b/ansible/host_vars/osmo-gsm-tester-rnd.yml index a9c7a24..331d5ba 100644 --- a/ansible/host_vars/osmo-gsm-tester-rnd.yml +++ b/ansible/host_vars/osmo-gsm-tester-rnd.yml @@ -2,6 +2,8 @@ udhcpd_static_leases: - mac: 00:02:95:00:41:b3 ip: 10.42.42.120 + - mac: 00:02:95:07:d1:2e + ip: 10.42.42.121 # how many modems are connected via a quadmodem? gsm_modems: 4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb Gerrit-Change-Number: 15586 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 11:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Sep 2019 11:34:09 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 11:34:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:01:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:01:52 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:01:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:01:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:01:54 +0000 Subject: Change in ...libosmocore[master]: ecu_fr: increase test coverage for FR ECU implementation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15574 ) Change subject: ecu_fr: increase test coverage for FR ECU implementation ...................................................................... ecu_fr: increase test coverage for FR ECU implementation The ECU implementation for FR is currently tested by calling the related functions directly and by using the generic ECU abstraction layer. However, the test "test_fr_concealment" only tests directly. Lets add a version that uses the generic ECU abstraction layer as well. The generic ECU abstraction layer obsolets the public API functions osmo_ecu_fr_reset() and osmo_ecu_fr_conceal(), lets tag those functions as dprecated. Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 --- M include/osmocom/codec/ecu.h M tests/codec/codec_ecu_fr_test.c M tests/codec/codec_ecu_fr_test.ok 3 files changed, 88 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/codec/ecu.h b/include/osmocom/codec/ecu.h index 927ca0d..99b1430 100644 --- a/include/osmocom/codec/ecu.h +++ b/include/osmocom/codec/ecu.h @@ -11,8 +11,10 @@ uint8_t frame_backup[GSM_FR_BYTES]; }; -void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame); -int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame); +void osmo_ecu_fr_reset(struct osmo_ecu_fr_state *state, const uint8_t *frame) + OSMO_DEPRECATED("Use generic ECU abstraction layer instead"); +int osmo_ecu_fr_conceal(struct osmo_ecu_fr_state *state, uint8_t *frame) + OSMO_DEPRECATED("Use generic ECU abstraction layer instead"); enum osmo_ecu_codec { OSMO_ECU_CODEC_HR, diff --git a/tests/codec/codec_ecu_fr_test.c b/tests/codec/codec_ecu_fr_test.c index 7ebc558..4040ce9 100644 --- a/tests/codec/codec_ecu_fr_test.c +++ b/tests/codec/codec_ecu_fr_test.c @@ -142,6 +142,46 @@ } } +/* Same as test_fr_concealment() but using generic core */ +void test_fr_concealment_core(void) +{ + struct osmo_ecu_state *state = osmo_ecu_init(NULL, OSMO_ECU_CODEC_FR); + uint8_t frame[GSM_FR_BYTES]; + uint64_t xmaxc[4]; + int i, rc; + int j = 0; + + printf("=> Testing FR concealment (simple, consecutive bad frames)\n"); + + while (sample_frame_hex[j] != NULL) { + /* Parse frame from string to hex */ + osmo_hexparse(sample_frame_hex[j], frame, GSM_FR_BYTES); + parse_xmaxc_frame(frame, xmaxc); + printf("Start with: %s, XMAXC: [%"PRIx64", %"PRIx64", %"PRIx64", %"PRIx64"]\n", + sample_frame_hex[j], xmaxc[0], xmaxc[1], xmaxc[2], xmaxc[3]); + + /* Reset the ECU with the proposed known good frame */ + osmo_ecu_frame_in(state, false, frame, GSM_FR_BYTES); + + /* Now pretend that we do not receive any good frames anymore */ + for (i = 0; i < 20; i++) { + + rc = osmo_ecu_frame_out(state, frame); + OSMO_ASSERT(rc == GSM_FR_BYTES); + parse_xmaxc_frame(frame, xmaxc); + + printf("conceal: %02i, result: %s XMAXC: [%"PRIx64", %"PRIx64", %"PRIx64", %"PRIx64"]\n", + i, osmo_hexdump_nospc(frame, GSM_FR_BYTES), + xmaxc[0], xmaxc[1], xmaxc[2], xmaxc[3]); + } + + /* Go to the next frame */ + j++; + } + + osmo_ecu_destroy(state); +} + /* Simulate a real life situation: voice frames with a few dropouts */ void test_fr_concealment_realistic() { @@ -224,6 +264,7 @@ { /* Perform actual tests */ test_fr_concealment(); + test_fr_concealment_core(); test_fr_concealment_realistic(); test_fr_concealment_realistic_core(); diff --git a/tests/codec/codec_ecu_fr_test.ok b/tests/codec/codec_ecu_fr_test.ok index 30163a9..d925e28 100644 --- a/tests/codec/codec_ecu_fr_test.ok +++ b/tests/codec/codec_ecu_fr_test.ok @@ -41,6 +41,49 @@ conceal: 17, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] conceal: 18, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] conceal: 19, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +=> Testing FR concealment (simple, consecutive bad frames) +Start with: d9ec9be212901f802335598c501f805bad3d4ba01f809b69df5a501f809cd1b4da, XMAXC: [3f, 3f, 3f, 3f] +conceal: 00, result: d9ec9be212901f802335598c501f805bad3d4ba01f809b69df5a501f809cd1b4da XMAXC: [3f, 3f, 3f, 3f] +conceal: 01, result: d9ec9be212901d802335598c501d805bad3d4ba01d809b69df5a501d809cd1b4da XMAXC: [3b, 3b, 3b, 3b] +conceal: 02, result: d9ec9be212901b802335598c501b805bad3d4ba01b809b69df5a501b809cd1b4da XMAXC: [37, 37, 37, 37] +conceal: 03, result: d9ec9be2129019802335598c5019805bad3d4ba019809b69df5a5019809cd1b4da XMAXC: [33, 33, 33, 33] +conceal: 04, result: d9ec9be2129017802335598c5017805bad3d4ba017809b69df5a5017809cd1b4da XMAXC: [2f, 2f, 2f, 2f] +conceal: 05, result: d9ec9be2129015802335598c5015805bad3d4ba015809b69df5a5015809cd1b4da XMAXC: [2b, 2b, 2b, 2b] +conceal: 06, result: d9ec9be2129013802335598c5013805bad3d4ba013809b69df5a5013809cd1b4da XMAXC: [27, 27, 27, 27] +conceal: 07, result: d9ec9be2129011802335598c5011805bad3d4ba011809b69df5a5011809cd1b4da XMAXC: [23, 23, 23, 23] +conceal: 08, result: d9ec9be212900f802335598c500f805bad3d4ba00f809b69df5a500f809cd1b4da XMAXC: [1f, 1f, 1f, 1f] +conceal: 09, result: d9ec9be212900d802335598c500d805bad3d4ba00d809b69df5a500d809cd1b4da XMAXC: [1b, 1b, 1b, 1b] +conceal: 10, result: d9ec9be212900b802335598c500b805bad3d4ba00b809b69df5a500b809cd1b4da XMAXC: [17, 17, 17, 17] +conceal: 11, result: d9ec9be2129009802335598c5009805bad3d4ba009809b69df5a5009809cd1b4da XMAXC: [13, 13, 13, 13] +conceal: 12, result: d9ec9be2129007802335598c5007805bad3d4ba007809b69df5a5007809cd1b4da XMAXC: [f, f, f, f] +conceal: 13, result: d9ec9be2129005802335598c5005805bad3d4ba005809b69df5a5005809cd1b4da XMAXC: [b, b, b, b] +conceal: 14, result: d9ec9be2129003802335598c5003805bad3d4ba003809b69df5a5003809cd1b4da XMAXC: [7, 7, 7, 7] +conceal: 15, result: d9ec9be2129001802335598c5001805bad3d4ba001809b69df5a5001809cd1b4da XMAXC: [3, 3, 3, 3] +conceal: 16, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 17, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 18, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 19, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +Start with: d9ec9be212901d802335598c5013805bad3d4ba01f809b69df5a5019809cd1b4da, XMAXC: [3b, 27, 3f, 33] +conceal: 00, result: d9ec9be212901d802335598c5013805bad3d4ba01f809b69df5a5019809cd1b4da XMAXC: [3b, 27, 3f, 33] +conceal: 01, result: d9ec9be212901b802335598c5011805bad3d4ba01d809b69df5a5017809cd1b4da XMAXC: [37, 23, 3b, 2f] +conceal: 02, result: d9ec9be2129019802335598c500f805bad3d4ba01b809b69df5a5015809cd1b4da XMAXC: [33, 1f, 37, 2b] +conceal: 03, result: d9ec9be2129017802335598c500d805bad3d4ba019809b69df5a5013809cd1b4da XMAXC: [2f, 1b, 33, 27] +conceal: 04, result: d9ec9be2129015802335598c500b805bad3d4ba017809b69df5a5011809cd1b4da XMAXC: [2b, 17, 2f, 23] +conceal: 05, result: d9ec9be2129013802335598c5009805bad3d4ba015809b69df5a500f809cd1b4da XMAXC: [27, 13, 2b, 1f] +conceal: 06, result: d9ec9be2129011802335598c5007805bad3d4ba013809b69df5a500d809cd1b4da XMAXC: [23, f, 27, 1b] +conceal: 07, result: d9ec9be212900f802335598c5005805bad3d4ba011809b69df5a500b809cd1b4da XMAXC: [1f, b, 23, 17] +conceal: 08, result: d9ec9be212900d802335598c5003805bad3d4ba00f809b69df5a5009809cd1b4da XMAXC: [1b, 7, 1f, 13] +conceal: 09, result: d9ec9be212900b802335598c5001805bad3d4ba00d809b69df5a5007809cd1b4da XMAXC: [17, 3, 1b, f] +conceal: 10, result: d9ec9be2129009802335598c5000005bad3d4ba00b809b69df5a5005809cd1b4da XMAXC: [13, 0, 17, b] +conceal: 11, result: d9ec9be2129007802335598c5000005bad3d4ba009809b69df5a5003809cd1b4da XMAXC: [f, 0, 13, 7] +conceal: 12, result: d9ec9be2129005802335598c5000005bad3d4ba007809b69df5a5001809cd1b4da XMAXC: [b, 0, f, 3] +conceal: 13, result: d9ec9be2129003802335598c5000005bad3d4ba005809b69df5a5000009cd1b4da XMAXC: [7, 0, b, 0] +conceal: 14, result: d9ec9be2129001802335598c5000005bad3d4ba003809b69df5a5000009cd1b4da XMAXC: [3, 0, 7, 0] +conceal: 15, result: d9ec9be2129000002335598c5000005bad3d4ba001809b69df5a5000009cd1b4da XMAXC: [0, 0, 3, 0] +conceal: 16, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 17, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 18, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] +conceal: 19, result: d00000000000000000000000000000000000000000000000000000000000000000 XMAXC: [0, 0, 0, 0] => Testing FR concealment (realistic, various bad frames) Frame No. 000: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib0c8a9b164f14ea4fa00688f760a76cdb4890af4 Gerrit-Change-Number: 15574 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:02:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:02:17 +0000 Subject: Change in ...osmo-ci[master]: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15586 ) Change subject: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb Gerrit-Change-Number: 15586 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:02:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:02:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 15:02:42 +0000 Subject: Change in ...osmo-ci[master]: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15586 ) Change subject: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb Gerrit-Change-Number: 15586 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:02:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:02:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 15:02:46 +0000 Subject: Change in ...osmo-ci[master]: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/15586 ) Change subject: ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases ...................................................................... ansible: gsm-tester-rnd: Add nano3g device to static IP DHCP leases Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb --- M ansible/host_vars/osmo-gsm-tester-rnd.yml 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ansible/host_vars/osmo-gsm-tester-rnd.yml b/ansible/host_vars/osmo-gsm-tester-rnd.yml index a9c7a24..331d5ba 100644 --- a/ansible/host_vars/osmo-gsm-tester-rnd.yml +++ b/ansible/host_vars/osmo-gsm-tester-rnd.yml @@ -2,6 +2,8 @@ udhcpd_static_leases: - mac: 00:02:95:00:41:b3 ip: 10.42.42.120 + - mac: 00:02:95:07:d1:2e + ip: 10.42.42.121 # how many modems are connected via a quadmodem? gsm_modems: 4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iaad3e9f5b6b1966322abb89f54611a2368400dcb Gerrit-Change-Number: 15586 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:03:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:03:01 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Log fake time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15576 ) Change subject: stream_test: Log fake time ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c Gerrit-Change-Number: 15576 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 15:03:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:03:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:03:06 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Use fake time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15575 ) Change subject: stream_test: Use fake time ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 Gerrit-Change-Number: 15575 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 15:03:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:03:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:03:09 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Use fake time In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15575 ) Change subject: stream_test: Use fake time ...................................................................... stream_test: Use fake time By using fake own-controlled time we get two benefits: * Test doesn't take 9 seconds to run anymore * More fine-grade control of different events happening (and associated race conditions). Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 --- M tests/stream/stream_test.c 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 439ea1a..4fd8573 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -19,9 +19,12 @@ #include #include #include +#include #include +#define RECONNECT_TIMEOUT_SECS 9 + #define DSTREAMTEST 0 struct log_info_cat osmo_stream_test_cat[] = { [DSTREAMTEST] = { @@ -100,6 +103,7 @@ /* N. B: normally receiving 0 bytes means that we should close the connection and re-establish it but to test autoreconnection logic we ignore it in here to let the test run till completion */ LOGCLI(cli, "0-byte read, auto-reconnect will be triggered if enabled\n"); + osmo_gettimeofday_override_add(RECONNECT_TIMEOUT_SECS, 0); } if (!cli_data) { @@ -116,7 +120,7 @@ static struct osmo_stream_cli *init_client_reconnection(struct osmo_stream_cli *cli, bool autoreconnect) { /* setting negative timeout ensures that we disable reconnection logic */ - osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 9 : -1); + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? RECONNECT_TIMEOUT_SECS : -1); if (osmo_stream_cli_open(cli) < 0) { LOGCLI(cli, "unable to open client\n"); @@ -352,6 +356,9 @@ char *host = "127.0.0.11"; unsigned port = 1111; void *tall_test = talloc_named_const(NULL, 1, "osmo_stream_test"); + + osmo_gettimeofday_override = true; + msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_INFO); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I16b2884b289bfe40dfb8d743dce01bb4c208d117 Gerrit-Change-Number: 15575 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:03:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:03:09 +0000 Subject: Change in ...libosmo-netif[master]: stream_test: Log fake time In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-netif/+/15576 ) Change subject: stream_test: Log fake time ...................................................................... stream_test: Log fake time It allows easy verification that timing is correct and makes it easier to debug time related race conditions. Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c --- M tests/stream/stream_test.c M tests/stream/stream_test.err M tests/stream/stream_test.ok 3 files changed, 82 insertions(+), 66 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/stream/stream_test.c b/tests/stream/stream_test.c index 4fd8573..b4846bc 100644 --- a/tests/stream/stream_test.c +++ b/tests/stream/stream_test.c @@ -57,8 +57,12 @@ #define ASTR(rec) ((rec) ? "autoreconnecting" : "non-reconnecting") /* client defs */ -#define LOGCLI(cli, fmt, args...) \ - printf("[%s] Client's %s(): " fmt, osmo_stream_cli_get_data(cli) ? "OK" : "NA", __func__, ##args) +#define LOGCLI(cli, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s] Client's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_cli_get_data(cli) ? "OK" : "NA", __func__, ##args); \ + } while (0) #define CLI_SND(cli, m) do { \ struct msgb *msg = make_msgb(m); \ @@ -228,9 +232,14 @@ #define LOGLNK(lnk, fmt, args...) \ printf("[%s] Server's %s(): " fmt, osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", __func__, ##args) -#define LOGSRV(srv, fmt, args...) \ - printf("[%s|%s] Server's %s(): " fmt, osmo_stream_srv_get_data(srv) ? "OK" : "NA", \ - osmo_stream_srv_link_get_data(osmo_stream_srv_get_master(srv)) ? "OK" : "NA", __func__, ##args) +#define LOGSRV(srv, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s|%s] Server's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_srv_get_data(srv) ? "OK" : "NA", \ + osmo_stream_srv_link_get_data(osmo_stream_srv_get_master(srv)) ? "OK" : "NA", \ + __func__, ##args); \ + } while (0) #define SRV_SND(srv, m) do { \ struct msgb *msg = make_msgb(m); \ @@ -322,6 +331,7 @@ static void test_recon(void *ctx, const char *host, unsigned port, unsigned steps, struct osmo_stream_srv_link *lnk, bool autoreconnect) { + struct timeval tv; struct osmo_stream_cli *cli = make_client(ctx, host, port, autoreconnect); if (!cli) return; @@ -333,20 +343,24 @@ osmo_stream_srv_link_set_data(lnk, ctx); while(steps--) { + osmo_gettimeofday_override_add(0, 1); /* small increment to easily spot iterations */ osmo_select_main(0); - fprintf(stderr, "\n%s test step %u [client %s, server %s], FD reg %u\n", ASTR(autoreconnect), steps, + osmo_gettimeofday(&tv, NULL); + fprintf(stderr, "\n{%lu.%06lu} %s test step %u [client %s, server %s], FD reg %u\n", + tv.tv_sec, tv.tv_usec, ASTR(autoreconnect), steps, osmo_stream_cli_get_data(cli) ? "OK" : "NA", osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", osmo_fd_is_registered(osmo_stream_cli_get_ofd(cli))); if (test_stop_requested(lnk)) { - printf("Server requested test termination\n"); + printf("{%lu.%06lu} Server requested test termination\n", + tv.tv_sec, tv.tv_usec); steps = 0; } } osmo_stream_cli_destroy(cli); - printf("%s test complete.\n\n", ASTR(autoreconnect)); + printf("{%lu.%06lu} %s test complete.\n\n", tv.tv_sec, tv.tv_usec, ASTR(autoreconnect)); } @@ -358,6 +372,8 @@ void *tall_test = talloc_named_const(NULL, 1, "osmo_stream_test"); osmo_gettimeofday_override = true; + osmo_gettimeofday_override_time.tv_sec = 2; + osmo_gettimeofday_override_time.tv_usec = 0; msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_test_log_info); diff --git a/tests/stream/stream_test.err b/tests/stream/stream_test.err index 07cc7b0..04bfcfe 100644 --- a/tests/stream/stream_test.err +++ b/tests/stream/stream_test.err @@ -1,43 +1,43 @@ -autoreconnecting test step 11 [client NA, server OK], FD reg 1 +{2.000001} autoreconnecting test step 11 [client NA, server OK], FD reg 1 -autoreconnecting test step 10 [client NA, server OK], FD reg 1 +{2.000002} autoreconnecting test step 10 [client NA, server OK], FD reg 1 -autoreconnecting test step 9 [client NA, server OK], FD reg 1 +{2.000003} autoreconnecting test step 9 [client NA, server OK], FD reg 1 -autoreconnecting test step 8 [client NA, server OK], FD reg 1 +{2.000004} autoreconnecting test step 8 [client NA, server OK], FD reg 1 -autoreconnecting test step 7 [client OK, server OK], FD reg 1 +{2.000005} autoreconnecting test step 7 [client OK, server OK], FD reg 1 -autoreconnecting test step 6 [client OK, server OK], FD reg 1 +{2.000006} autoreconnecting test step 6 [client OK, server OK], FD reg 1 -autoreconnecting test step 5 [client OK, server OK], FD reg 1 +{2.000007} autoreconnecting test step 5 [client OK, server OK], FD reg 1 [ CONNECTED] osmo_stream_cli_recv(): connection closed with srv [ NONE] osmo_stream_cli_reconnect(): retrying in 9 seconds... -autoreconnecting test step 4 [client OK, server OK], FD reg 0 +{11.000008} autoreconnecting test step 4 [client OK, server OK], FD reg 0 -autoreconnecting test step 3 [client OK, server OK], FD reg 1 +{11.000009} autoreconnecting test step 3 [client OK, server OK], FD reg 1 -autoreconnecting test step 2 [client OK, server OK], FD reg 0 +{11.000010} autoreconnecting test step 2 [client OK, server OK], FD reg 0 connection closed with srv -autoreconnecting test step 1 [client OK, server NA], FD reg 0 +{11.000011} autoreconnecting test step 1 [client OK, server NA], FD reg 0 -non-reconnecting test step 7 [client NA, server OK], FD reg 1 +{11.000012} non-reconnecting test step 7 [client NA, server OK], FD reg 1 -non-reconnecting test step 6 [client NA, server OK], FD reg 1 +{11.000013} non-reconnecting test step 6 [client NA, server OK], FD reg 1 -non-reconnecting test step 5 [client NA, server OK], FD reg 1 +{11.000014} non-reconnecting test step 5 [client NA, server OK], FD reg 1 -non-reconnecting test step 4 [client NA, server OK], FD reg 1 +{11.000015} non-reconnecting test step 4 [client NA, server OK], FD reg 1 -non-reconnecting test step 3 [client OK, server OK], FD reg 1 +{11.000016} non-reconnecting test step 3 [client OK, server OK], FD reg 1 -non-reconnecting test step 2 [client OK, server OK], FD reg 1 +{11.000017} non-reconnecting test step 2 [client OK, server OK], FD reg 1 -non-reconnecting test step 1 [client OK, server OK], FD reg 1 +{11.000018} non-reconnecting test step 1 [client OK, server OK], FD reg 1 [ CONNECTED] osmo_stream_cli_recv(): connection closed with srv [ NONE] osmo_stream_cli_reconnect(): not reconnecting, disabled. -non-reconnecting test step 0 [client OK, server OK], FD reg 0 +{20.000019} non-reconnecting test step 0 [client OK, server OK], FD reg 0 diff --git a/tests/stream/stream_test.ok b/tests/stream/stream_test.ok index 7b6fb95..2106295 100644 --- a/tests/stream/stream_test.ok +++ b/tests/stream/stream_test.ok @@ -3,49 +3,49 @@ ======================================= Client/Server entering autoreconnecting event loop... ======================================= -[NA] Client's connect_cb_cli(): callback triggered -[NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): keep initial client connection -[NA] Client's read_cb_cli(): callback triggered -[NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 -[NA] Client's read_cb_cli(): initial read, contacting server -[OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): callback triggered -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call -[OK] Client's read_cb_cli(): callback triggered -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled -[OK] Client's connect_cb_cli(): callback triggered -[OK] Client's connect_cb_cli(): closing connection -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): client have already closed connection -Server requested test termination -autoreconnecting test complete. +{2.000001} [NA] Client's connect_cb_cli(): callback triggered +{2.000001} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): callback triggered +{2.000003} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000003} [OK|OK] Server's read_cb_srv(): keep initial client connection +{2.000005} [NA] Client's read_cb_cli(): callback triggered +{2.000005} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000005} [NA] Client's read_cb_cli(): initial read, contacting server +{2.000005} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): callback triggered +{2.000007} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000007} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{2.000008} [OK] Client's read_cb_cli(): callback triggered +{2.000008} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{11.000010} [OK] Client's connect_cb_cli(): callback triggered +{11.000010} [OK] Client's connect_cb_cli(): closing connection +{11.000011} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000011} [NA|OK] Server's read_cb_srv(): client have already closed connection +{11.000011} Server requested test termination +{11.000011} autoreconnecting test complete. Prepare non-reconnecting stream client... ======================================= Client/Server entering non-reconnecting event loop... ======================================= -[NA] Client's connect_cb_cli(): callback triggered -[NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): callback triggered -[NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 -[NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): keep initial client connection -[NA] Client's read_cb_cli(): callback triggered -[NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 -[NA] Client's read_cb_cli(): initial read, contacting server -[OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): callback triggered -[OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 -[OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 -[OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call -[OK] Client's read_cb_cli(): callback triggered -[OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled -non-reconnecting test complete. +{11.000012} [NA] Client's connect_cb_cli(): callback triggered +{11.000012} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000014} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000014} [OK|OK] Server's read_cb_srv(): keep initial client connection +{11.000016} [NA] Client's read_cb_cli(): callback triggered +{11.000016} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000016} [NA] Client's read_cb_cli(): initial read, contacting server +{11.000016} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): callback triggered +{11.000018} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000018} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{11.000019} [OK] Client's read_cb_cli(): callback triggered +{11.000019} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{20.000019} non-reconnecting test complete. Stream tests completed -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/15576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I86eb1d7a8096011fd273f067255eb8d6484be65c Gerrit-Change-Number: 15576 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:04:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:04:57 +0000 Subject: Change in ...libosmocore[master]: vty: logging_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15056 ) Change subject: vty: logging_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fa8a9e2fdf3d55d0dcdb3d933ac5ceb48db3da9 Gerrit-Change-Number: 15056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:04:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:05:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:05:43 +0000 Subject: Change in ...libosmocore[master]: vty: osmo_stats_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15055 ) Change subject: vty: osmo_stats_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: Code-Review-1 Agreeing with osmith here. I don't really see why it would hurt if someone passed some arguments that are ignored... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I29b27824b83c2caad901cc910d77e634ed5562d6 Gerrit-Change-Number: 15055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 20 Sep 2019 15:05:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:05:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:05:51 +0000 Subject: Change in ...libosmocore[master]: vty: logging_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: vty: logging_vty_add_cmds: Enforce no parameters ...................................................................... Removed Code-Review+1 by laforge -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fa8a9e2fdf3d55d0dcdb3d933ac5ceb48db3da9 Gerrit-Change-Number: 15056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:06:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:06:21 +0000 Subject: Change in ...libosmocore[master]: vty: logging_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15056 ) Change subject: vty: logging_vty_add_cmds: Enforce no parameters ...................................................................... Patch Set 1: Code-Review-1 same here. what if somebody wants to build an application from 2016 against current libosmocore? All our efforts for compatibility exist to enable exactly that. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fa8a9e2fdf3d55d0dcdb3d933ac5ceb48db3da9 Gerrit-Change-Number: 15056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:06:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:06:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:06:54 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 2 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: timojacobus Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 20 Sep 2019 15:06:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:07:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:07:08 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Mark setRxGain as virtual In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15541 ) Change subject: radioInterface: Mark setRxGain as virtual ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a Gerrit-Change-Number: 15541 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:07:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:07:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:07:16 +0000 Subject: Change in ...osmo-trx[master]: Move multi-ARFCN chan amount modification from UHDDevice to parent class In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15542 ) Change subject: Move multi-ARFCN chan amount modification from UHDDevice to parent class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d Gerrit-Change-Number: 15542 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:09:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:09:16 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 1: see e.g. https://github.com/php/php-src/blob/master/configure.ac#L706 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 20 Sep 2019 15:09:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:09:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:09:58 +0000 Subject: Change in ...osmo-mgw[master]: mgcp_test: Correctly release all endpoints allocated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15580 ) Change subject: mgcp_test: Correctly release all endpoints allocated ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I813d52b518ed0bb8db4e42dff83e040b0891fee2 Gerrit-Change-Number: 15580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:09:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:10:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:10:11 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allocate mgcp_conn instance under tcfg->endpoints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15581 ) Change subject: mgw: Allocate mgcp_conn instance under tcfg->endpoints ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6f6441c3ef21aac577af08eb018bacbca4c45fb7 Gerrit-Change-Number: 15581 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:10:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:10:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:10:13 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allocate mgcp_conn instance under tcfg->endpoints In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15581 ) Change subject: mgw: Allocate mgcp_conn instance under tcfg->endpoints ...................................................................... mgw: Allocate mgcp_conn instance under tcfg->endpoints The connection becomes to the endpoint, so let's not use the NULL context there. Related: OS#3950 Change-Id: I6f6441c3ef21aac577af08eb018bacbca4c45fb7 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b596044..c72596a 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -919,7 +919,7 @@ endp->callid = talloc_strdup(tcfg->endpoints, callid); snprintf(conn_name, sizeof(conn_name), "%s", callid); - _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP, conn_name); + _conn = mgcp_conn_alloc(tcfg->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); if (!_conn) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: unable to allocate RTP connection\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6f6441c3ef21aac577af08eb018bacbca4c45fb7 Gerrit-Change-Number: 15581 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:10:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:10:13 +0000 Subject: Change in ...osmo-mgw[master]: mgcp_test: Correctly release all endpoints allocated In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15580 ) Change subject: mgcp_test: Correctly release all endpoints allocated ...................................................................... mgcp_test: Correctly release all endpoints allocated Currently in handle_create_con(), mgcp_conn_alloc() is called with NULl ctx. As soon as this ctx is changed to be part of the trunk's endpoint array (tcfg->endpoints), test will segfault because some fds from previous tcfg are still registered after the whole tcfg object was freed with talloc_free() by previous test. That's because mgcp_endpoint_release() must be called on all endpoints to make sure all registered components are correctly unplugged. Related: OS#3950 Change-Id: I813d52b518ed0bb8db4e42dff83e040b0891fee2 --- M tests/mgcp/mgcp_test.c 1 file changed, 34 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index e5dec2a..c72382e 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -641,6 +641,13 @@ return real_clock_gettime(clk_id, tp); } +static void mgcp_endpoints_release(struct mgcp_trunk_config *trunk) +{ + int i; + for (i = 1; i < trunk->number_endpoints; i++) + mgcp_endp_release(&trunk->endpoints[i]); +} + #define CONN_UNMODIFIED (0x1000) static void test_values(void) @@ -742,6 +749,7 @@ { struct mgcp_config *cfg; struct mgcp_endpoint *endp; + struct mgcp_trunk_config *trunk2; int i; struct mgcp_conn_rtp *conn = NULL; char last_conn_id[256]; @@ -755,7 +763,8 @@ memset(last_conn_id, 0, sizeof(last_conn_id)); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(tests); i++) { const struct mgcp_test *t = &tests[i]; @@ -873,12 +882,15 @@ } } + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } static void test_retransmission(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; int i; char last_conn_id[256]; int rc; @@ -890,7 +902,8 @@ memset(last_conn_id, 0, sizeof(last_conn_id)); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(retransmit); i++) { const struct mgcp_test *t = &retransmit[i]; @@ -930,6 +943,8 @@ msgb_free(msg); } + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -943,6 +958,7 @@ static void test_rqnt_cb(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; struct msgb *inp, *msg; char conn_id[256]; @@ -952,7 +968,8 @@ cfg->trunk.vty_number_endpoints = 64; mgcp_endpoints_allocate(&cfg->trunk); - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -981,6 +998,8 @@ inp = create_msg(DLCX, conn_id); msgb_free(mgcp_handle_message(cfg, inp)); msgb_free(inp); + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -1342,12 +1361,12 @@ static void test_multilple_codec(void) { struct mgcp_config *cfg; + struct mgcp_trunk_config *trunk2; struct mgcp_endpoint *endp; struct msgb *inp, *resp; struct in_addr addr; struct mgcp_conn_rtp *conn = NULL; char conn_id[256]; - int i; printf("Testing multiple payload types\n"); @@ -1355,7 +1374,9 @@ cfg->trunk.vty_number_endpoints = 64; mgcp_endpoints_allocate(&cfg->trunk); cfg->policy_cb = mgcp_test_policy_cb; - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); /* Allocate endpoint 1 at mgw with two codecs */ last_endpoint = -1; @@ -1481,9 +1502,8 @@ OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); - for (i = 1; i < cfg->trunk.number_endpoints; i++) - mgcp_endp_release(&cfg->trunk.endpoints[i]); - + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } @@ -1532,12 +1552,13 @@ OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_endp_release(endp); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } static void test_no_name(void) { + struct mgcp_trunk_config *trunk2; struct mgcp_config *cfg; struct msgb *inp, *msg; @@ -1550,7 +1571,8 @@ cfg->policy_cb = mgcp_test_policy_cb; - mgcp_endpoints_allocate(mgcp_trunk_alloc(cfg, 1)); + trunk2 = mgcp_trunk_alloc(cfg, 1); + mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -1563,7 +1585,8 @@ msgb_free(inp); msgb_free(msg); - mgcp_endp_release(&cfg->trunk.endpoints[1]); + mgcp_endpoints_release(trunk2); + mgcp_endpoints_release(&cfg->trunk); talloc_free(cfg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I813d52b518ed0bb8db4e42dff83e040b0891fee2 Gerrit-Change-Number: 15580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:11:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:11:01 +0000 Subject: Change in ...libosmocore[master]: osmo-release.sh: update TODO-RELEASE for non-lib projects too In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15577 ) Change subject: osmo-release.sh: update TODO-RELEASE for non-lib projects too ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9 Gerrit-Change-Number: 15577 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:11:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:11:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:11:04 +0000 Subject: Change in ...libosmocore[master]: osmo-release.sh: update TODO-RELEASE for non-lib projects too In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15577 ) Change subject: osmo-release.sh: update TODO-RELEASE for non-lib projects too ...................................................................... osmo-release.sh: update TODO-RELEASE for non-lib projects too Projects not containing libraries may also want to contain a TODO-RELEASE in order to write down when a new API available only on libosmoXYZ current master (hence configure.ac and debian cannot be updated during the patch using the API until the APIs are available in a new release). This way, during release process of the project, the maintainer can see that a release of libosmoXYZ is needed beforehand and then update configure.ac of project accordingly with the new version of libosmoXYZ. Furthermore, we want to update the file only if mode DRY_RUN is not selected. Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9 --- M osmo-release.sh 1 file changed, 7 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/osmo-release.sh b/osmo-release.sh index 1effe7e..4450436 100755 --- a/osmo-release.sh +++ b/osmo-release.sh @@ -156,16 +156,18 @@ if [ "z$DRY_RUN" != "z0" ]; then exit 0 fi - if [ -f "TODO-RELEASE" ]; then - grep '#' TODO-RELEASE > TODO-RELEASE.clean - mv TODO-RELEASE.clean TODO-RELEASE - git add TODO-RELEASE - fi fi if [ "z$DRY_RUN" != "z0" ]; then exit 0 fi + +if [ -f "TODO-RELEASE" ]; then + grep '#' TODO-RELEASE > TODO-RELEASE.clean + mv TODO-RELEASE.clean TODO-RELEASE + git add TODO-RELEASE +fi + gbp dch --debian-tag='%(version)s' --auto --meta --git-author --multimaint-merge --ignore-branch --new-version="$NEW_VER" dch -r -m --distribution "unstable" "" git add ${GIT_TOPDIR}/debian/changelog -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I409b7eb8c23d21473f25dd2000f5d4447b24adb9 Gerrit-Change-Number: 15577 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:11:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:11:41 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce TODO-RELEASE file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 ) Change subject: Introduce TODO-RELEASE file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7 Gerrit-Change-Number: 15578 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:11:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:12:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:12:02 +0000 Subject: Change in ...osmo-sgsn[master]: Introduce TODO-RELEASE file In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 ) Change subject: Introduce TODO-RELEASE file ...................................................................... Introduce TODO-RELEASE file It's going to be useful to track new dependency APIs being used which require dependency version release and version bump during release of osmo-sgsn. Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7 --- A TODO-RELEASE 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..1c5d61f --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1 @@ +#component what description / commit summary line -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7 Gerrit-Change-Number: 15578 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:12:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:12:41 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15579 ) Change subject: sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e Gerrit-Change-Number: 15579 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 15:12:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:21:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:21:06 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 ) Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... Patch Set 5: Code-Review-1 I believe you need to introduce a library dependency to -lpthread as you're calling pthread functions. See http://git.osmocom.org/libosmocore/commit/?h=laforge/it_q&id=1d1fc137db5f309d28bfa300014e78d229fc26e5 for a not-yet-merged change of mine doing the same as it needs pthread -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Sep 2019 15:21:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:21:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:21:29 +0000 Subject: Change in ...libosmocore[master]: logging: Move extern declaration of osmo_log_target_list from logging... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15559 ) Change subject: logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Sep 2019 15:21:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:21:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:21:33 +0000 Subject: Change in ...libosmocore[master]: logging: Move extern declaration of osmo_log_target_list from logging... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15559 ) Change subject: logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h ...................................................................... logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h This list is really not needed by applications and currently only used internally in logging.c and logging_vty.c. Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 --- M include/osmocom/core/logging.h M include/osmocom/core/logging_internal.h 2 files changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index e56d3a5..1a2d60b 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -379,6 +379,5 @@ void log_del_target(struct log_target *target); struct log_target *log_target_find(int type, const char *fname); -extern struct llist_head osmo_log_target_list; /*! @} */ diff --git a/include/osmocom/core/logging_internal.h b/include/osmocom/core/logging_internal.h index 01c96ce..2e65660 100644 --- a/include/osmocom/core/logging_internal.h +++ b/include/osmocom/core/logging_internal.h @@ -9,6 +9,7 @@ extern void *tall_log_ctx; extern struct log_info *osmo_log_info; extern const struct value_string loglevel_strs[]; +extern struct llist_head osmo_log_target_list; void assert_loginfo(const char *src); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dca069512bfcd0826194427c5482fad8bfd0232 Gerrit-Change-Number: 15559 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:22:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 15:22:42 +0000 Subject: Change in ...osmo-iuh[master]: hnbgw: Add libosmoctrl's VTY CTRL command initialization Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15587 Change subject: hnbgw: Add libosmoctrl's VTY CTRL command initialization ...................................................................... hnbgw: Add libosmoctrl's VTY CTRL command initialization Otherwise, the "ctrl" VTY node is not available and CTRL ip address cannot be set. Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d --- M src/hnbgw.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/87/15587/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index 3f94a01..9dc67a2 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -539,6 +539,7 @@ osmo_ss7_vty_init_asp(tall_hnb_ctx); osmo_sccp_vty_init(); hnbgw_vty_init(g_hnb_gw, tall_hnb_ctx); + ctrl_vty_init(tall_hnb_ctx); logging_vty_add_cmds(); /* Handle options after vty_init(), for --version */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d Gerrit-Change-Number: 15587 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:23:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:23:18 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:23:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:24:28 +0000 Subject: Change in ...osmo-iuh[master]: hnbgw: Add libosmoctrl's VTY CTRL command initialization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15587 ) Change subject: hnbgw: Add libosmoctrl's VTY CTRL command initialization ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d Gerrit-Change-Number: 15587 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 20 Sep 2019 15:24:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:26:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:26:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15571/1/library/PCUIF_CodecPort.ttcn File library/PCUIF_CodecPort.ttcn: https://gerrit.osmocom.org/#/c/15571/1/library/PCUIF_CodecPort.ttcn at 32 PS1, Line 32: for (var integer i := 0; i < data.len; i := i + 1) { : res[i] := data.data[i]; : } there is a builtin substring function called 'substr' which we use in various places of osmo-ttcn3-hacks already. So please replace the above with "res := substr(data.data, 0, data.len)" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Sep 2019 15:26:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:26:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:26:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e Gerrit-Change-Number: 15525 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:26:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:31:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:31:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:31:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:33:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 15:33:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_init_prach to test initial TA ...................................................................... Patch Set 9: I like the test case, but I think we shouldn't redefine acronyms that already have a meaning in the context of 3GPP specs/systems. "PRACH" is a specific logical channel, and we're not testing it here. We're testing a RACH for packet switched services, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 20 Sep 2019 15:33:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 15:45:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 15:45:44 +0000 Subject: Change in ...osmo-iuh[master]: hnbgw: Add libosmoctrl's VTY CTRL command initialization In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15587 ) Change subject: hnbgw: Add libosmoctrl's VTY CTRL command initialization ...................................................................... hnbgw: Add libosmoctrl's VTY CTRL command initialization Otherwise, the "ctrl" VTY node is not available and CTRL ip address cannot be set. Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d --- M src/hnbgw.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/hnbgw.c b/src/hnbgw.c index 3f94a01..9dc67a2 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -539,6 +539,7 @@ osmo_ss7_vty_init_asp(tall_hnb_ctx); osmo_sccp_vty_init(); hnbgw_vty_init(g_hnb_gw, tall_hnb_ctx); + ctrl_vty_init(tall_hnb_ctx); logging_vty_add_cmds(); /* Handle options after vty_init(), for --version */ -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I73f64b951690ec23f829c4855b2caeefa66ad35d Gerrit-Change-Number: 15587 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 16:05:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 16:05:32 +0000 Subject: Change in ...osmo-iuh[master]: asn1enum.pl: Make compatible with modern perl Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15588 Change subject: asn1enum.pl: Make compatible with modern perl ...................................................................... asn1enum.pl: Make compatible with modern perl This fixes the following error message: Experimental keys on scalar is now forbidden at ./asn1enum.pl line 25. Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b --- M asn1/asn1enum.pl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/88/15588/1 diff --git a/asn1/asn1enum.pl b/asn1/asn1enum.pl index 8584e84..beac35f 100755 --- a/asn1/asn1enum.pl +++ b/asn1/asn1enum.pl @@ -22,7 +22,7 @@ next; } printf("%s ::= INTEGER {\n", $k); - foreach my $r (sort { $a <=> $b } keys $h{$k}) { + foreach my $r (sort { $a <=> $b } keys %{$h{$k}}) { printf("\t%s(%d),\n", $h{$k}{$r}, $r); } printf("}\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b Gerrit-Change-Number: 15588 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 20 16:56:40 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 20 Sep 2019 16:56:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8504da54025_1ff62acb6fed25f0150763@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 613s] ar: `u' modifier ignored since `D' is the default (see `U') [ 613s] libtool: link: ranlib .libs/libtransceiver_common.a [ 613s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 613s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 614s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 614s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 614s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 614s] collect2: error: ld returned 1 exit status [ 614s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 614s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 614s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 614s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 614s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 614s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 614s] make[1]: *** [Makefile:444: all] Error 2 [ 614s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 614s] dh_auto_build: make -j1 returned exit code 2 [ 614s] make: *** [debian/rules:6: build] Error 255 [ 614s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 614s] [ 614s] morla3 failed "build osmo-trx_1.1.1.25.2538.dsc" at Fri Sep 20 16:56:20 UTC 2019. [ 614s] [ 614s] ### VM INTERACTION START ### [ 617s] [ 592.531514] sysrq: SysRq : Power Off [ 617s] [ 592.586311] reboot: Power down [ 617s] ### VM INTERACTION END ### [ 617s] [ 617s] morla3 failed "build osmo-trx_1.1.1.25.2538.dsc" at Fri Sep 20 16:56:24 UTC 2019. [ 617s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 20 17:08:40 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 20 Sep 2019 17:08:40 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8507ae312c5_1ff62acb6fed25f0153896@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 1295s] ar: `u' modifier ignored since `D' is the default (see `U') [ 1295s] libtool: link: ranlib .libs/libtransceiver_common.a [ 1295s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 1295s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 1295s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 1296s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 1296s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 1296s] collect2: error: ld returned 1 exit status [ 1296s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 1296s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1296s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 1296s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 1296s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 1296s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1296s] make[1]: *** [Makefile:444: all] Error 2 [ 1296s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1296s] dh_auto_build: make -j1 returned exit code 2 [ 1296s] make: *** [debian/rules:6: build] Error 255 [ 1296s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 1296s] [ 1296s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 20 17:08:32 UTC 2019. [ 1296s] [ 1296s] ### VM INTERACTION START ### [ 1299s] [ 1255.945211] sysrq: SysRq : Power Off [ 1299s] [ 1256.014663] reboot: Power down [ 1299s] ### VM INTERACTION END ### [ 1299s] [ 1299s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 20 17:08:35 UTC 2019. [ 1299s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 20 17:17:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 17:17:44 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: Hello tnt, fixeria, daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 to look at the new patch set (#2). Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... radioInterface: Atomically fetch and change underrun variable Otherwise, it could happen that underrun events are lost: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) read(underrun) write(underrun, |val) [maybe underrun becomes TRUE] write(underrun, false) Similary, it could happen the other direction if atomic was only applied to isUnderrun: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) -> true read(underrun)-> true write(underrun, false) write(underrun, true|val) where val=false So in here isUnderrun would return true twice while it should only return one. Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M Transceiver52M/osmo-trx.cpp M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp M configure.ac 8 files changed, 61 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/24/15524/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 17:29:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 17:29:04 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Fixed copying of history into and from channelizer buffer. In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15413 ) Change subject: Transceiver: Fixed copying of history into and from channelizer buffer. ...................................................................... Transceiver: Fixed copying of history into and from channelizer buffer. In multi arfcn mode, osmo-trx would drop some bursts because it couldn't detect it and would emit idle burst instead. Specificaly detection of peak in correlation vector failed. Correcting copying of history in pullBuffer method fixes this issue. [Re-worked by Pau Espin Pedrol ] Fixes: 57df2362f0eca0a330aad3e18906046dfadb9c8b Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 99f6231..eec426e 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -288,7 +288,7 @@ complex *dst = history[lchan]->begin(); float *fsrc = &buf[2 * (cLen - hLen)]; for (i = 0; i < hLen; i++) { - *dst = complex(fdst[0], fdst[1]); + *dst = complex(fsrc[0], fsrc[1]); fsrc += 2; dst++; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I93e43f6868cd67e69fc59d2980a03550d2505bf8 Gerrit-Change-Number: 15413 Gerrit-PatchSet: 3 Gerrit-Owner: timojacobus Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: timojacobus Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 17:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 17:29:05 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Mark setRxGain as virtual In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15541 ) Change subject: radioInterface: Mark setRxGain as virtual ...................................................................... radioInterface: Mark setRxGain as virtual Otherwise the parent function is always called even if the iface is radioInterfaceMult. Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a --- M Transceiver52M/radioInterface.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 83e00b9..b12c187 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -107,7 +107,7 @@ virtual bool tuneRx(double freq, size_t chan = 0); /** set receive gain */ - double setRxGain(double dB, size_t chan = 0); + virtual double setRxGain(double dB, size_t chan = 0); /** drive transmission of GSM bursts */ void driveTransmitRadio(std::vector &bursts, @@ -182,5 +182,5 @@ bool tuneTx(double freq, size_t chan); bool tuneRx(double freq, size_t chan); - double setRxGain(double dB, size_t chan); + virtual double setRxGain(double dB, size_t chan); }; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie41efab1e60b88677bbd1ec333ea656794503a5a Gerrit-Change-Number: 15541 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 17:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 20 Sep 2019 17:29:05 +0000 Subject: Change in ...osmo-trx[master]: Move multi-ARFCN chan amount modification from UHDDevice to parent class In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15542 ) Change subject: Move multi-ARFCN chan amount modification from UHDDevice to parent class ...................................................................... Move multi-ARFCN chan amount modification from UHDDevice to parent class This way switch is applied correctly to parent structures and features can be used later by other children classes (other devices). Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d --- M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/uhd/UHDDevice.cpp 2 files changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 1d85204..d27a52c 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -171,12 +171,17 @@ std::vector tx_paths, rx_paths; std::vector m_ctr; - RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chans, double offset, + RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chan_num, double offset, const std::vector& tx_paths, const std::vector& rx_paths): - tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chans), lo_offset(offset), + tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chan_num), lo_offset(offset), tx_paths(tx_paths), rx_paths(rx_paths) { + if (iface == MULTI_ARFCN) { + LOGC(DDEV, INFO) << "Multi-ARFCN: "<< chan_num << " logical chans -> 1 physical chans"; + chans = 1; + } + m_ctr.resize(chans); for (size_t i = 0; i < chans; i++) { memset(&m_ctr[i], 0, sizeof(m_ctr[i])); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index 809bade..604bb44 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -382,7 +382,6 @@ if (dev_type != B200 && dev_type != B210) throw std::invalid_argument("Device does not support MCBTS"); dev_type = B2XX_MCBTS; - chans = 1; } if (chans > dev_param_map.at(dev_key(dev_type, tx_sps, rx_sps)).channels) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I24d6c66bb3195ba2513b4a67daa14cdfbacdce6d Gerrit-Change-Number: 15542 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 22:10:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 22:10:43 +0000 Subject: Change in ...osmo-iuh[master]: asn1enum.pl: Make compatible with modern perl In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15588 ) Change subject: asn1enum.pl: Make compatible with modern perl ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b Gerrit-Change-Number: 15588 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Sep 2019 22:10:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 20 22:10:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Sep 2019 22:10:50 +0000 Subject: Change in ...osmo-iuh[master]: asn1enum.pl: Make compatible with modern perl In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15588 ) Change subject: asn1enum.pl: Make compatible with modern perl ...................................................................... asn1enum.pl: Make compatible with modern perl This fixes the following error message: Experimental keys on scalar is now forbidden at ./asn1enum.pl line 25. Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b --- M asn1/asn1enum.pl 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/asn1/asn1enum.pl b/asn1/asn1enum.pl index 8584e84..beac35f 100755 --- a/asn1/asn1enum.pl +++ b/asn1/asn1enum.pl @@ -22,7 +22,7 @@ next; } printf("%s ::= INTEGER {\n", $k); - foreach my $r (sort { $a <=> $b } keys $h{$k}) { + foreach my $r (sort { $a <=> $b } keys %{$h{$k}}) { printf("\t%s(%d),\n", $h{$k}{$r}, $r); } printf("}\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I4680627acfd8f3ed73d32324fe0a54b554268f3b Gerrit-Change-Number: 15588 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 21 02:03:18 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 21 Sep 2019 02:03:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8584f06fb69_1ff62acb6fed25f02371b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 534s] ar: `u' modifier ignored since `D' is the default (see `U') [ 534s] libtool: link: ranlib .libs/libtransceiver_common.a [ 534s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 534s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 535s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 535s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 535s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 535s] collect2: error: ld returned 1 exit status [ 535s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 535s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 535s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 535s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 535s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 535s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 535s] make[1]: *** [Makefile:444: all] Error 2 [ 535s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 535s] dh_auto_build: make -j1 returned exit code 2 [ 535s] make: *** [debian/rules:6: build] Error 255 [ 535s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 535s] [ 535s] cloud120 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 21 02:02:55 UTC 2019. [ 535s] [ 535s] ### VM INTERACTION START ### [ 538s] [ 487.031737] sysrq: SysRq : Power Off [ 538s] [ 487.036687] reboot: Power down [ 540s] ### VM INTERACTION END ### [ 540s] [ 540s] cloud120 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 21 02:03:01 UTC 2019. [ 540s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 21 09:41:18 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 21 Sep 2019 09:41:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5d85f048b216e_1ff62acb6fed25f029011f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-sip-connector failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 104s] Processing triggers for man-db (2.8.3-2) ... [ 104s] [302/403] installing libpython-stdlib-2.7.15~rc1-1 [ 104s] [303/403] installing libsgmls-perl-1.03ii-36 [ 104s] Processing triggers for man-db (2.8.3-2) ... [ 104s] [304/403] installing libsofia-sip-ua-dev-1.12.11+20110422.1-2.1build1 [ 105s] [305/403] installing libtimedate-perl-2.3000-2 [ 105s] Processing triggers for man-db (2.8.3-2) ... [ 105s] [306/403] installing preview-latex-style-11.91-1ubuntu1 [ 105s] Processing triggers for tex-common (6.09) ... [ 105s] [307/403] installing intltool-debian-0.35.0+20060710.4 [ 105s] [308/403] installing libdpkg-perl-1.19.0.5ubuntu2 [ 105s] Processing triggers for man-db (2.8.3-2) ... [ 107s] [309/403] installing libpaper-utils-1.1.24+nmu5ubuntu1 [ 107s] Processing triggers for man-db (2.8.3-2) ... [ 107s] [310/403] installing autoconf-2.69-11 [ 107s] Processing triggers for man-db (2.8.3-2) ... [ 108s] [311/403] installing libsofia-sip-ua-glib3-1.12.11+20110422.1-2.1build1 [ 108s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 108s] [312/403] installing python2.7-2.7.15~rc1-1 [ 110s] Processing triggers for mime-support (3.60ubuntu1) ... [ 110s] Processing triggers for man-db (2.8.3-2) ... [ 110s] [313/403] installing sgml-data-2.0.10 [28913s] qemu-system-x86_64: terminating on signal 15 from pid 22538 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28913s] ### VM INTERACTION END ### [28913s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28913s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 21 15:16:27 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 21 Sep 2019 15:16:27 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d863ed129a2_1ff62acb6fed25f03283c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 231s] ar: `u' modifier ignored since `D' is the default (see `U') [ 231s] libtool: link: ranlib .libs/libtransceiver_common.a [ 231s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 231s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 231s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 231s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 231s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 231s] collect2: error: ld returned 1 exit status [ 231s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 231s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 231s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 231s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 231s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 231s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 231s] make[1]: *** [Makefile:444: all] Error 2 [ 231s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 231s] dh_auto_build: make -j1 returned exit code 2 [ 231s] make: *** [debian/rules:6: build] Error 255 [ 231s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 231s] [ 231s] build82 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 21 15:16:19 UTC 2019. [ 231s] [ 231s] ### VM INTERACTION START ### [ 234s] [ 222.967018] sysrq: SysRq : Power Off [ 234s] [ 222.968850] reboot: Power down [ 234s] ### VM INTERACTION END ### [ 234s] [ 234s] build82 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 21 15:16:22 UTC 2019. [ 234s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 21 15:19:18 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 21 Sep 2019 15:19:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d863f827f0a4_1ff62acb6fed25f03294d4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 422s] ar: `u' modifier ignored since `D' is the default (see `U') [ 422s] libtool: link: ranlib .libs/libtransceiver_common.a [ 422s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 422s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 422s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 422s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 422s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 422s] collect2: error: ld returned 1 exit status [ 422s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 422s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 422s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 422s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 422s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 422s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 422s] make[1]: *** [Makefile:444: all] Error 2 [ 422s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 422s] dh_auto_build: make -j1 returned exit code 2 [ 422s] make: *** [debian/rules:6: build] Error 255 [ 422s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 422s] [ 422s] lamb26 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 21 15:19:08 UTC 2019. [ 422s] [ 422s] ### VM INTERACTION START ### [ 426s] [ 407.690338] sysrq: SysRq : Power Off [ 426s] [ 407.699076] reboot: Power down [ 426s] ### VM INTERACTION END ### [ 426s] [ 426s] lamb26 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 21 15:19:12 UTC 2019. [ 426s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 22 01:59:23 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 22 Sep 2019 01:59:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d86d5911dc2c_1ff62acb6fed25f04541c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 503s] ar: `u' modifier ignored since `D' is the default (see `U') [ 503s] libtool: link: ranlib .libs/libtransceiver_common.a [ 503s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 503s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 503s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 503s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 503s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 503s] collect2: error: ld returned 1 exit status [ 503s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 503s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 503s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 503s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 503s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 503s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 503s] make[1]: *** [Makefile:444: all] Error 2 [ 503s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 503s] dh_auto_build: make -j1 returned exit code 2 [ 503s] make: *** [debian/rules:6: build] Error 255 [ 503s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 503s] [ 503s] lamb07 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sun Sep 22 01:59:18 UTC 2019. [ 503s] [ 503s] ### VM INTERACTION START ### [ 506s] [ 485.939788] sysrq: SysRq : Power Off [ 506s] [ 485.944855] reboot: Power down [ 507s] ### VM INTERACTION END ### [ 507s] [ 507s] lamb07 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sun Sep 22 01:59:22 UTC 2019. [ 507s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 22 17:53:40 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 22 Sep 2019 17:53:40 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5d87b52a93442_1ff62acb6fed25f0557374@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_10/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 250s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_load_8' [ 250s] /usr/bin/ld: libLimeSuite.so.19.04.0: undefined reference to `__atomic_store_8' [ 250s] collect2: error: ld returned 1 exit status [ 250s] make[3]: *** [src/CMakeFiles/boardEmulator.dir/build.make:89: src/boardEmulator] Error 1 [ 250s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 250s] make[2]: *** [CMakeFiles/Makefile2:216: src/CMakeFiles/boardEmulator.dir/all] Error 2 [ 265s] [ 43%] Linking CXX static library liboglGraph.a [ 265s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src/oglGraph && /usr/bin/cmake -P CMakeFiles/oglGraph.dir/cmake_clean_target.cmake [ 265s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src/oglGraph && /usr/bin/cmake -E cmake_link_script CMakeFiles/oglGraph.dir/link.txt --verbose=1 [ 265s] /usr/bin/ar qc liboglGraph.a CMakeFiles/oglGraph.dir/dlgMarkers.cpp.o CMakeFiles/oglGraph.dir/GLFont.cpp.o CMakeFiles/oglGraph.dir/OpenGLGraph.cpp.o CMakeFiles/oglGraph.dir/glew/glew.c.o [ 265s] /usr/bin/ranlib liboglGraph.a [ 265s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 265s] [ 43%] Built target oglGraph [ 265s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 265s] make[1]: *** [Makefile:133: all] Error 2 [ 265s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 265s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j4 returned exit code 2 [ 265s] make: *** [debian/rules:28: binary] Error 2 [ 265s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 265s] [ 265s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 22 17:53:21 UTC 2019. [ 265s] [ 265s] ### VM INTERACTION START ### [ 268s] [ 246.246014] sysrq: SysRq : Power Off [ 268s] [ 246.289805] reboot: Power down [ 269s] ### VM INTERACTION END ### [ 269s] [ 269s] armbuild21 failed "build limesuite_19.04.0-1.dsc" at Sun Sep 22 17:53:25 UTC 2019. [ 269s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 23 01:46:00 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 23 Sep 2019 01:46:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8823e129d3a_1ff62acb6fed25f06017ef@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 411s] ar: `u' modifier ignored since `D' is the default (see `U') [ 411s] libtool: link: ranlib .libs/libtransceiver_common.a [ 411s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 411s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 412s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 412s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 412s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 412s] collect2: error: ld returned 1 exit status [ 412s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 412s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 412s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 412s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 412s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 412s] make[1]: *** [Makefile:444: all] Error 2 [ 412s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 412s] dh_auto_build: make -j1 returned exit code 2 [ 412s] make: *** [debian/rules:6: build] Error 255 [ 412s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 412s] [ 412s] lamb13 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Mon Sep 23 01:45:46 UTC 2019. [ 412s] [ 412s] ### VM INTERACTION START ### [ 415s] [ 397.402861] sysrq: SysRq : Power Off [ 415s] [ 397.411153] reboot: Power down [ 415s] ### VM INTERACTION END ### [ 415s] [ 415s] lamb13 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Mon Sep 23 01:45:50 UTC 2019. [ 415s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:36:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:36:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP (Service Area Broadcast Protocol) definitions Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 Change subject: SABP (Service Area Broadcast Protocol) definitions ...................................................................... SABP (Service Area Broadcast Protocol) definitions Using ASN.1 syntax copy+pasted from 3GPP TS 25.419 version 15.0.0 Release 15 Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 --- A library/sabp/SABP_CommonDataTypes.asn A library/sabp/SABP_Constants.asn A library/sabp/SABP_Containers.asn A library/sabp/SABP_EncDec.cc A library/sabp/SABP_IEs.asn A library/sabp/SABP_PDU_Contents.asn A library/sabp/SABP_PDU_Descriptions.asn A library/sabp/SABP_Templates.ttcn A library/sabp/SABP_Types.ttcn 9 files changed, 1,747 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/15589/1 diff --git a/library/sabp/SABP_CommonDataTypes.asn b/library/sabp/SABP_CommonDataTypes.asn new file mode 100644 index 0000000..92f3e12 --- /dev/null +++ b/library/sabp/SABP_CommonDataTypes.asn @@ -0,0 +1,16 @@ +-- +-- Common definitions +-- +-- ************************************************************** +SABP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +Criticality ::= ENUMERATED { reject, ignore, notify } +Presence ::= ENUMERATED { optional, conditional, mandatory } +ProcedureCode ::= INTEGER (0..255) +ProtocolExtensionID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER (0..65535) +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} +END diff --git a/library/sabp/SABP_Constants.asn b/library/sabp/SABP_Constants.asn new file mode 100644 index 0000000..5b390a9 --- /dev/null +++ b/library/sabp/SABP_Constants.asn @@ -0,0 +1,66 @@ +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** +SABP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** +id-Write-Replace INTEGER ::= 0 +id-Kill INTEGER ::= 1 +id-Load-Status-Enquiry INTEGER ::= 2 +id-Message-Status-Query INTEGER ::= 3 +id-Restart-Indication INTEGER ::= 4 +id-Reset INTEGER ::= 5 +id-Failure-Indication INTEGER ::= 6 +id-Error-Indication INTEGER ::= 7 +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** +id-Broadcast-Message-Content INTEGER ::= 0 +id-Category INTEGER ::= 1 +id-Cause INTEGER ::= 2 +id-Criticality-Diagnostics INTEGER ::=3 +id-Data-Coding-Scheme INTEGER ::= 4 +id-Failure-List INTEGER ::= 5 +id-Message-Identifier INTEGER ::= 6 +id-New-Serial-Number INTEGER ::= 7 +id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 +id-Number-of-Broadcasts-Requested INTEGER ::= 9 +id-Old-Serial-Number INTEGER ::= 10 +id-Radio-Resource-Loading-List INTEGER ::= 11 +id-Recovery-Indication INTEGER ::= 12 +id-Repetition-Period INTEGER ::= 13 +id-Serial-Number INTEGER ::= 14 +id-Service-Areas-List INTEGER ::= 15 +id-MessageStructure INTEGER ::= 16 +id-TypeOfError INTEGER ::= 17 +id-Paging-ETWS-Indicator INTEGER ::= 18 +id-Warning-Type INTEGER ::= 19 +id-WarningSecurityInfo INTEGER ::= 20 +id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofSAI INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxNrOfLevels INTEGER ::= 256 +END diff --git a/library/sabp/SABP_Containers.asn b/library/sabp/SABP_Containers.asn new file mode 100644 index 0000000..0aea9cc --- /dev/null +++ b/library/sabp/SABP_Containers.asn @@ -0,0 +1,94 @@ +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** +SABP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + Presence, + ProtocolExtensionID, + ProtocolIE-ID +FROM SABP-CommonDataTypes + maxProtocolExtensions, + maxProtocolIEs +FROM SABP-Constants; +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** +SABP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** +SABP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** +ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} +ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** +ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} +ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} +END diff --git a/library/sabp/SABP_EncDec.cc b/library/sabp/SABP_EncDec.cc new file mode 100644 index 0000000..3c60e82 --- /dev/null +++ b/library/sabp/SABP_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "SABP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace SABP__Types { + +TTCN_Module SABP__EncDec("SABP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__SABP__PDU(const SABP__PDU__Descriptions::SABP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(SABP__PDU__Descriptions::SABP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_SABP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +SABP__PDU__Descriptions::SABP__PDU dec__SABP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_SABP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + SABP__PDU__Descriptions::SABP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(SABP__PDU__Descriptions::SABP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/sabp/SABP_IEs.asn b/library/sabp/SABP_IEs.asn new file mode 100644 index 0000000..e21e007 --- /dev/null +++ b/library/sabp/SABP_IEs.asn @@ -0,0 +1,203 @@ +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** +SABP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +IMPORTS + maxNrOfErrors, + maxnoofSAI, + maxNrOfLevels, + id-MessageStructure, + id-TypeOfError +FROM SABP-Constants + Criticality, + ProcedureCode, + TriggeringMessage, + ProtocolIE-ID +FROM SABP-CommonDataTypes + ProtocolExtensionContainer{}, + SABP-PROTOCOL-EXTENSION +FROM SABP-Containers; +-- A +Available-Bandwidth ::= INTEGER (0..20480) +-- bits/sec +-- B +Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e. +-- the message. +Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED { + broadcast-Message-Content-not-valid, + ... +} +-- C +Category ::= ENUMERATED { + high-priority, + background-priority, + normal-priority, + default-priority, + ... +} +Cause ::= INTEGER { + parameter-not-recognised (0), + parameter-value-invalid (1), + valid-CN-message-not-identified (2), + service-area-identity-not-valid (3), + unrecognised-message (4), + missing-mandatory-element (5), + rNC-capacity-exceeded (6), + rNC-memory-exceeded (7), + service-area-broadcast-not-supported (8), + service-area-broadcast-not-operational (9), + message-reference-already-used (10), + unspecifed-error (11), + transfer-syntax-error (12), + semantic-error (13), + message-not-compatible-with-receiver-state (14), + abstract-syntax-error-reject (15), + abstract-syntax-error-ignore-and-notify (16), + abstract-syntax-error-falsely-constructed-message (17) +} (0..255) +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} +CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } +CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } +MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- D +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) +-- E +-- F +Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item +Failure-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + ... +} +FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +-- G +-- H +-- I +-- J +-- K +-- L +-- M +Message-Identifier ::= BIT STRING (SIZE (16)) +-- N +New-Serial-Number ::= Serial-Number +Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Number-of-Broadcasts-Completed-List-Item +Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + number-of-broadcasts-completed INTEGER (0..65535), + number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + ... +} +NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Number-Of-Broadcasts-Completed-Info ::= ENUMERATED { + overflow, + unknown, + ... +} +Number-of-Broadcasts-Requested ::= INTEGER { + broadcast-indefinitely (0) +} (0..65535) +-- O +Old-Serial-Number ::= Serial-Number +-- P +Paging-ETWS-Indicator ::= ENUMERATED { + paging, + ... +} +-- Q +-- R +Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Radio-Resource-Loading-List-Item +Radio-Resource-Loading-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + available-bandwidth Available-Bandwidth, + iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + ... +} +RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Recovery-Indication ::= ENUMERATED { + data-lost, + data-available +} +RepetitionNumber0 ::= INTEGER(0..255) +RepetitionNumber1 ::= INTEGER(1..256) +Repetition-Period ::= INTEGER (1..4096) +-- Each unit represents a repetition of one second to a maximum of +-- once per 4096 seconds (~1 hour). +-- S +Serial-Number ::= BIT STRING (SIZE (16)) +Service-Area-Identifier ::= SEQUENCE { + pLMNidentity OCTET STRING (SIZE (3)) + -- Digits 0 to 9, two digits per octet. -- + -- Each octet encoded 0000 to 1001. -- + -- 1111 used as filler -- + -- Bit 4 to 1 of octet n encoding digit 2n-1. -- + -- Bit 8 to 5 of octet n encoding digit 2n. -- + -- The PLMN identity consists of 3 digits from MCC -- + -- followed by either a filler plus 2 digits -- + -- from MNC (in case of 2 digit MNC) or 3 digits -- + -- from MNC (in case of 3 digit MNC). -- , + lac OCTET STRING (SIZE (2)) + -- 0000 and FFFE not allowed -- , + sac OCTET STRING (SIZE (2)) +} +-- **TODO** The IE type for these parameters is not known as yet +Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier +-- T +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +-- U +-- V +-- W +WarningSecurityInfo ::= OCTET STRING (SIZE (50)) +Warning-Type ::= OCTET STRING (SIZE(2)) +-- X +-- Y +END diff --git a/library/sabp/SABP_PDU_Contents.asn b/library/sabp/SABP_PDU_Contents.asn new file mode 100644 index 0000000..814da2f --- /dev/null +++ b/library/sabp/SABP_PDU_Contents.asn @@ -0,0 +1,447 @@ +-- ************************************************************** +-- +-- PDU definitions for SABP. +-- +-- ************************************************************** +SABP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Broadcast-Message-Content, + Category, + Cause, +Criticality-Diagnostics, + Data-Coding-Scheme, + Failure-List, + Message-Identifier, + New-Serial-Number, + Number-of-Broadcasts-Completed-List, + Number-of-Broadcasts-Requested, + Old-Serial-Number, + Paging-ETWS-Indicator, + Radio-Resource-Loading-List, + Recovery-Indication, + Repetition-Period, + Serial-Number, + Service-Areas-List, + WarningSecurityInfo, + Warning-Type, + Broadcast-Message-Content-Validity-Indicator +FROM SABP-IEs + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + SABP-PROTOCOL-EXTENSION, + SABP-PROTOCOL-IES +FROM SABP-Containers + id-Broadcast-Message-Content, + id-Category, + id-Criticality-Diagnostics, + id-Cause, + id-Data-Coding-Scheme, + id-Failure-List, + id-Message-Identifier, + id-New-Serial-Number, + id-Number-of-Broadcasts-Completed-List, + id-Number-of-Broadcasts-Requested, + id-Old-Serial-Number, + id-Paging-ETWS-Indicator, + id-Radio-Resource-Loading-List, + id-Recovery-Indication, + id-Repetition-Period, + id-Serial-Number, + id-Service-Areas-List, + id-WarningSecurityInfo, + id-Warning-Type, + id-Broadcast-Message-Content-Validity-Indicator +FROM SABP-Constants; +-- ************************************************************** +-- +-- Write-Replace +-- +-- ************************************************************** +Write-Replace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL, + ... +} +Write-Replace-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Requested + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } | + { ID id-Broadcast-Message-Content + CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory }, + ... +} +Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= { + { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } | + { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } | + { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } | + { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE +optional }, + ... +} +-- ************************************************************** +-- +-- Write-Replace-Complete +-- +-- ************************************************************** +Write-Replace-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL, + ... +} +Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Write-Replace-Failure +-- +-- ************************************************************** +Write-Replace-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL, + ... +} +Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill +-- +-- ************************************************************** +Kill ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL, + ... +} +Kill-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Kill-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Complete +-- +-- ************************************************************** +Kill-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL, + ... +} +Kill-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Failure +-- +-- ************************************************************** +Kill-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL, + ... +} +Kill-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query +-- +-- ************************************************************** +Load-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL, + ... +} +Load-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Complete +-- +-- ************************************************************** +Load-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL, + ... +} +Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Radio-Resource-Loading-List + CRITICALITY reject TYPE Radio-Resource-Loading-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Failure +-- +-- ************************************************************** +Load-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL, + ... +} +Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Radio-Resource-Loading-List + CRITICALITY ignore TYPE Radio-Resource-Loading-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query +-- +-- ************************************************************** +Message-Status-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Complete +-- +-- ************************************************************** +Message-Status-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Failure +-- +-- ************************************************************** +Message-Status-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL, + ... +} +Reset-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Reset-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Complete +-- +-- ************************************************************** +Reset-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL, + ... +} +Reset-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Failure +-- +-- ************************************************************** +Reset-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, + ... +} +Reset-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + ... +} +Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Restart +-- +-- ************************************************************** +Restart ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Restart-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL, + ... +} +Restart-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } , + ... +} +Restart-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Failure +-- +-- ************************************************************** +Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL, + ... +} +Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Error-Indication +-- +-- ************************************************************** +Error-Indication ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Error-Indication-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL, + ... +} +Error-Indication-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } | + { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +END diff --git a/library/sabp/SABP_PDU_Descriptions.asn b/library/sabp/SABP_PDU_Descriptions.asn new file mode 100644 index 0000000..428c35a --- /dev/null +++ b/library/sabp/SABP_PDU_Descriptions.asn @@ -0,0 +1,168 @@ +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +SABP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)} +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + ProcedureCode +FROM SABP-CommonDataTypes + Error-Indication, + Failure, + Kill, + Kill-Complete, + Kill-Failure, + Load-Query, + Load-Query-Complete, + Load-Query-Failure, + Reset, + Reset-Complete, + Reset-Failure, + Restart, + Message-Status-Query, + Message-Status-Query-Complete, + Message-Status-Query-Failure, + Write-Replace, + Write-Replace-Complete, + Write-Replace-Failure +FROM SABP-PDU-Contents + id-Error-Indication, + id-Failure-Indication, + id-Kill, + id-Reset, + id-Restart-Indication, + id-Load-Status-Enquiry, + id-Message-Status-Query, + id-Write-Replace +FROM SABP-Constants; +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME +&SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} +InitiatingMessage ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +SuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= { + SABP-ELEMENTARY-PROCEDURES-CLASS-1 | + SABP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= { + write-Replace | + kill | + load-Status-Enquiry | + message-Status-Query | + reset , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= { + restart-Indication | + failure-Indication | + error-Indication , + ... +} +write-Replace SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Write-Replace + SUCCESSFUL OUTCOME Write-Replace-Complete + UNSUCCESSFUL OUTCOME Write-Replace-Failure + PROCEDURE CODE id-Write-Replace + CRITICALITY reject +} +kill SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Kill + SUCCESSFUL OUTCOME Kill-Complete + UNSUCCESSFUL OUTCOME Kill-Failure + PROCEDURE CODE id-Kill + CRITICALITY reject +} +load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Load-Query + SUCCESSFUL OUTCOME Load-Query-Complete + UNSUCCESSFUL OUTCOME Load-Query-Failure + PROCEDURE CODE id-Load-Status-Enquiry + CRITICALITY reject +} +message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Message-Status-Query + SUCCESSFUL OUTCOME Message-Status-Query-Complete + UNSUCCESSFUL OUTCOME Message-Status-Query-Failure + PROCEDURE CODE id-Message-Status-Query + CRITICALITY reject +} +reset SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME Reset-Complete + UNSUCCESSFUL OUTCOME Reset-Failure + PROCEDURE CODE id-Reset + CRITICALITY reject +} +restart-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Restart + PROCEDURE CODE id-Restart-Indication + CRITICALITY ignore +} +failure-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Failure + PROCEDURE CODE id-Failure-Indication + CRITICALITY ignore +} +error-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Error-Indication + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore +} +END diff --git a/library/sabp/SABP_Templates.ttcn b/library/sabp/SABP_Templates.ttcn new file mode 100644 index 0000000..a5ed81d --- /dev/null +++ b/library/sabp/SABP_Templates.ttcn @@ -0,0 +1,682 @@ +/* SABP Templates in TTCN-3 + * (C) 2019 Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module SABP_Templates { + +import from General_Types all; + +import from SABP_IEs all; +import from SABP_CommonDataTypes all; +import from SABP_Constants all; +import from SABP_Containers all; +import from SABP_PDU_Contents all; +import from SABP_PDU_Descriptions all; + +template (value) Service_Area_Identifier ts_SabpSai(template (value) OCT3 plmn_id, + template (value) OCT2 lac, + template (value) OCT2 sac) := { + pLMNidentity := plmn_id, + lac := lac, + sac := sac +} + +/* 9.1.3 WRITE REPLACE */ +template (value) SABP_PDU +ts_SABP_Write(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Service_Areas_List sa_list, template (value) integer rep_per, + template (value) integer num_bcast, template (value) BIT8 dcs, + template (value) bitstring content) := { + initiatingMessage := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + /* Optional: Old Serial Number */ + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, { + /* Optional: Category */ + id := SABP_Constants.id_Repetition_Period, + criticality := reject, + value_ := { Repetition_Period := rep_per } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Requested, + criticality := reject, + value_ := { Number_of_Broadcasts_Requested := num_bcast } + }, { + id := SABP_Constants.id_Data_Coding_Scheme, + criticality := reject, + value_ := { Data_Coding_Scheme := dcs } + }, { + id := SABP_Constants.id_Broadcast_Message_Content, + criticality := reject, + value_ := { Broadcast_Message_Content := content } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Write(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Service_Areas_List sa_list := ?, template (present) integer rep_per := ?, + template (present) integer num_bcast := ?, template (present) BIT8 dcs := ?, + template (present) bitstring content := ?) := { + initiatingMessage := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, *, /* Optional: Old Serial Number */ + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * /* Optional: Category */, + { + id := SABP_Constants.id_Repetition_Period, + criticality := reject, + value_ := { Repetition_Period := rep_per } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Requested, + criticality := reject, + value_ := { Number_of_Broadcasts_Requested := num_bcast } + }, { + id := SABP_Constants.id_Data_Coding_Scheme, + criticality := reject, + value_ := { Data_Coding_Scheme := dcs } + }, { + id := SABP_Constants.id_Broadcast_Message_Content, + criticality := reject, + value_ := { Broadcast_Message_Content := content } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.4 WRITE REPLACE COMPLETE */ +template (value) SABP_PDU +ts_SABPWriteCompl(template (value) BIT16 msg_id, template (value) BIT16 ser_nr) := { + successfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + } + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_WriteCompl(template (present) BIT16 msg_id, template (present) BIT16 ser_nr) := { + successfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, * + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.5 WRITE REPLACE FAILURE */ +template (value) SABP_PDU +ts_SABP_WriteFail(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Failure_List fail_list) := { + unsuccessfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + } + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_WriteFail(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Failure_List fail_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + }, * + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.6 KILL */ +template (value) SABP_PDU +ts_SABP_Kill(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + kill_ := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Kill(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + kill_ := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.7 KILL COMPLETE */ +template (value) SABP_PDU +ts_SABP_KillCompl(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Number_of_Broadcasts_Completed_List num_bcast_compl) := { + successfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Completed_List, + criticality := reject, + value_ := { Number_of_Broadcasts_Completed_List := num_bcast_compl } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_KillCompl(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Number_of_Broadcasts_Completed_List num_bcast_compl := ?) := { + successfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Completed_List, + criticality := reject, + value_ := { Number_of_Broadcasts_Completed_List := num_bcast_compl } + }, * + }, + protocolExtensions := * + } + } + } +} + + +/* 9.1.7 KILL FAILURE */ +template (value) SABP_PDU +ts_SABP_KillFail(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Failure_List fail_list) := { + unsuccessfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + } + /* Optional: Number-of-Broadcasts-Completed-List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_KillFail(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Failure_List fail_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + }, * + /* Optional: Number-of-Broadcasts-Completed-List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* TODO: Load Query + Complete + Failure */ +/* TODO: Message Status Query + Complete + Failure */ + +/* 9.1.15 RESET */ +template (value) SABP_PDU +ts_SABP_Reset(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Reset(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + + +/* 9.1.16 RESET COMPLETE */ +template (value) SABP_PDU +ts_SABP_ResetCompl(template (value) Service_Areas_List sa_list) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ResetCompl(template (present) Service_Areas_List sa_list) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.17 RESET FAILURE */ +template (value) SABP_PDU +ts_SABP_ResetFail(template (value) Failure_List f_list) := { + unsuccessfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := f_list } + } + /* Optional: Service Area List */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ResetFail(template (present) Failure_List f_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := f_list } + }, * + /* Optional: Service Area List */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.18 RESTART (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_Restart(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Restart_Indication, + criticality := ignore, + value_ := { + Restart := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + /* Optional: Recovery_Indication */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Restart(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Restart_Indication, + criticality := ignore, + value_ := { + Restart := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * + /* Optional: Recovery_Indication */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.19 FAILURE (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_Failure(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Failure_Indication, + criticality := ignore, + value_ := { + Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := ignore, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Failure(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Failure_Indication, + criticality := ignore, + value_ := { + Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := ignore, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.20 ERROR INDICATION (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_ErrorInd(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Cause cause) := { + initiatingMessage := { + procedureCode := id_Error_Indication, + criticality := ignore, + value_ := { + Error_Indication := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := ignore, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Serial_Number, + criticality := ignore, + value_ := { Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Cause, + criticality := ignore, + value_ :={ Cause := cause } + } + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ErrorInd := { + initiatingMessage := { + procedureCode := id_Error_Indication, + criticality := ignore, + value_ := { + Error_Indication := { + protocolIEs := { + * + /* Optional: Message-Identifier */ + /* Optional: Serial-Number */ + /* Optional: Cause */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + + + +} + diff --git a/library/sabp/SABP_Types.ttcn b/library/sabp/SABP_Types.ttcn new file mode 100644 index 0000000..df86549 --- /dev/null +++ b/library/sabp/SABP_Types.ttcn @@ -0,0 +1,7 @@ +module SABP_Types { + + import from SABP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_SABP_PDU(in SABP_PDU pdu) return octetstring; + external function dec_SABP_PDU(in octetstring stream) return SABP_PDU; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 Gerrit-Change-Number: 15589 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:36:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:36:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP CodecPort and SABP_Adapter Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 Change subject: SABP CodecPort and SABP_Adapter ...................................................................... SABP CodecPort and SABP_Adapter These modules allow TTCN-3 tests to interface with SABP peers over TCP. Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 --- A library/SABP_Adapter.ttcn A library/SABP_CodecPort.ttcn A library/SABP_CodecPort_CtrlFunct.ttcn A library/SABP_CodecPort_CtrlFunctDef.cc 4 files changed, 348 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/90/15590/1 diff --git a/library/SABP_Adapter.ttcn b/library/SABP_Adapter.ttcn new file mode 100644 index 0000000..e94e91c --- /dev/null +++ b/library/SABP_Adapter.ttcn @@ -0,0 +1,165 @@ +module SABP_Adapter { + +/* SABP Adapter layer, sitting on top of SABP_CodecPort. + * test suites can 'inherit' in order to have a SABP connection to the IUT which they're testing + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from Osmocom_Types all; +import from General_Types all; +import from SABP_Types all; +import from SABP_PDU_Descriptions all; +import from SABP_Templates all; +import from SABP_CodecPort all; +import from SABP_CodecPort_CtrlFunct all; +import from IPL4asp_Types all; +import from IPL4asp_PortType all; +//import from Socket_API_Definitions all; + +const integer SABP_HDR_LEN := 3; + +const integer NUM_SABP := 3; + +type component SABP_Adapter_CT { + /* down-facing port to SABP Codec port */ + port SABP_CODEC_PT SABP[NUM_SABP]; + var IPL4asp_Types.ConnectionId g_sabp_conn_id[NUM_SABP] := { -1, -1, -1 }; +} + +/*! parse a single APER length determinant. Return -1 if input insufficient or -2 if invalid */ +private function f_aper_len_det(in octetstring stream, out integer len_len) return integer { + if (lengthof(stream) < 1) { + return -1; + } + + select (stream[0] and4b 'C0'O) { + case ('00'O) { + /* total length is encoded in this octet */ + len_len := 1; + return oct2int(stream[0]); + } + case ('80'O) { + /* total length (up to 16k) encoded in two octets */ + if (lengthof(stream) < 2) { + return -1; + } + len_len := 2; + return (oct2int(stream[0] and4b '3F'O) * 256) + oct2int(stream[1]); + } + case ('C0'O) { + /* total length not known, encoded in chunks; first chunk length now known */ + len_len := 1; + return oct2int(stream[0] and4b '3F'O) * 16384; + } + case else { + return -2; + } + + } +} + +/* The callback function has to return the length of the message if completely received. It has to return + * "-1" if the length cannot be determined. If the message is incomplete, but the length can be + * determined, then the function should return the length. In this case the callback function will not be + * called again for the given message - possibly increasing the performance. Alternatively the function may + * always return "-1" when the message is incomplete. + * If the callback function detects that the it will be impossible to determine the length of the message, + * even receiving more octets, should return "-2". In this case the connection will be closed and the + * length calculation error will be reported. */ +private function f_APER_getMsgLen(in octetstring stream, inout ro_integer args) return integer { + var integer stream_len := lengthof(stream); + var integer hdr_len := args[0]; + var octetstring stream_nohdr; + var integer len, len_len; + + if (stream_len < hdr_len + 1) { + return -1; + } + stream_nohdr := substr(stream, hdr_len, stream_len-hdr_len); + + len := f_aper_len_det(stream_nohdr, len_len); + if (len < 0) { + /* error: return to caller */ + return len; + } + if (len < 16384) { + /* full length is known: return to caller */ + return hdr_len + len_len + len; + } else { + /* 'cursor' to next length indicator */ + var integer cur := hdr_len + len_len + len; + /* iterate the whole chain of chunks */ + while (true) { + if (stream_len < cur + 1) { + return -1; + } + len := f_aper_len_det(substr(stream, cur, stream_len-cur), len_len); + if (len < 0) { + /* error: return to caller */ + return len; + } + if (len < 16384) { + /* final chunk: segment with less than 16384 bytes */ + return cur + len_len + len; + } else { + /* point to next chunk */ + cur := cur + len_len + len; + } + } + } + /* not reached */ + return -2; +} + +private function f_set_tcp_segmentation(integer idx) runs on SABP_Adapter_CT { + /* Set function for dissecting the binary stream into packets */ + var f_IPL4_getMsgLen vl_f := refers(f_APER_getMsgLen); + /* Offset: 1, size of length: 3, delta: 4, multiplier: 1, big-endian */ + SABP_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(SABP[idx], g_sabp_conn_id[idx], vl_f, {SABP_HDR_LEN}); +} + +function f_connect(charstring remote_host, IPL4asp_Types.PortNumber remote_port, + charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on SABP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:SABP[idx], system:SABP); + res := SABP_CodecPort_CtrlFunct.f_IPL4_connect(SABP[idx], remote_host, remote_port, + local_host, local_port, 0, { tcp :={} }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect to SABP port, check your configuration"); + mtc.stop; + } + g_sabp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +/* Function to use to bind to a local port as IPA server, accepting remote clients */ +function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on SABP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:SABP[idx], system:SABP); + res := SABP_CodecPort_CtrlFunct.f_IPL4_listen(SABP[idx], local_host, local_port, { tcp:={} }); + g_sabp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +function f_sabp_send(template (value) SABP_PDU pdu, integer idx := 0) runs on SABP_Adapter_CT { + SABP[idx].send(ts_SABP_Send(g_sabp_conn_id[idx], pdu)); +} + +function f_sabp_exp(template SABP_PDU exp, integer idx := 0) runs on SABP_Adapter_CT return SABP_PDU { + var SABP_RecvFrom rf; + SABP[idx].receive(tr_SABP_Recv(g_sabp_conn_id[idx], exp)) -> value rf; + return rf.msg; +} + + +} diff --git a/library/SABP_CodecPort.ttcn b/library/SABP_CodecPort.ttcn new file mode 100644 index 0000000..65fb542 --- /dev/null +++ b/library/SABP_CodecPort.ttcn @@ -0,0 +1,65 @@ +module SABP_CodecPort { + +/* Simple SABP Codec Port, translating between raw TCP octetstring payload + * towards the IPL4asp port provider, and SABP primitives + * which carry the decoded SABP data types as payload. + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from IPL4asp_PortType all; +import from IPL4asp_Types all; +import from SABP_PDU_Descriptions all; +import from SABP_Types all; + +type record SABP_RecvFrom { + ConnectionId connId, + SABP_PDU msg +} + +type record SABP_Send { + ConnectionId connId, + SABP_PDU msg +} + +template (value) SABP_Send ts_SABP_Send(ConnectionId conn_id, template (value) SABP_PDU msg) := { + connId := conn_id, + msg := msg +} + +template SABP_RecvFrom tr_SABP_Recv(template ConnectionId conn_id, template SABP_PDU msg) := { + connId := conn_id, + msg := msg +} + +private function IPL4_to_SABP_RecvFrom(in ASP_RecvFrom pin, out SABP_RecvFrom pout) { + pout.connId := pin.connId; + pout.msg := dec_SABP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +private function SABP_to_IPL4_Send(in SABP_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { tcp := {} }; + pout.msg := enc_SABP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +type port SABP_CODEC_PT message { + out SABP_Send; + in SABP_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(SABP_Send -> ASP_Send: function(SABP_to_IPL4_Send)) + in(ASP_RecvFrom -> SABP_RecvFrom: function(IPL4_to_SABP_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + + + +} diff --git a/library/SABP_CodecPort_CtrlFunct.ttcn b/library/SABP_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..814c701 --- /dev/null +++ b/library/SABP_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,52 @@ +module SABP_CodecPort_CtrlFunct { + + import from SABP_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout SABP_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout SABP_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + + external function f_IPL4_setGetMsgLen( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + inout f_IPL4_getMsgLen f, + in ro_integer msgLenArgs + ); + + +} + diff --git a/library/SABP_CodecPort_CtrlFunctDef.cc b/library/SABP_CodecPort_CtrlFunctDef.cc new file mode 100644 index 0000000..f146d6d --- /dev/null +++ b/library/SABP_CodecPort_CtrlFunctDef.cc @@ -0,0 +1,66 @@ +#include "IPL4asp_PortType.hh" +#include "SABP_CodecPort.hh" +#include "IPL4asp_PT.hh" + +namespace SABP__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + + void f__IPL4__setGetMsgLen( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + Socket__API__Definitions::f__getMsgLen& f, + const Socket__API__Definitions::ro__integer& msgLenArgs) + { + return f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs); + } + + +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 Gerrit-Change-Number: 15590 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:43:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:43:02 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15591 Change subject: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) ...................................................................... sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) They cannot immediately be consumed by our (ancient, hacked) asn1c toolchain, so we have to massage them into the supported format in follow-up commits. Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 --- A asn1/sabp/SABP-CommonDataTypes.asn A asn1/sabp/SABP-Constants.asn A asn1/sabp/SABP-Containers.asn A asn1/sabp/SABP-IEs.asn A asn1/sabp/SABP-PDU-Contents.asn A asn1/sabp/SABP-PDU-Descriptions.asn 6 files changed, 994 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/91/15591/1 diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn new file mode 100644 index 0000000..92f3e12 --- /dev/null +++ b/asn1/sabp/SABP-CommonDataTypes.asn @@ -0,0 +1,16 @@ +-- +-- Common definitions +-- +-- ************************************************************** +SABP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +Criticality ::= ENUMERATED { reject, ignore, notify } +Presence ::= ENUMERATED { optional, conditional, mandatory } +ProcedureCode ::= INTEGER (0..255) +ProtocolExtensionID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER (0..65535) +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} +END diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn new file mode 100644 index 0000000..5b390a9 --- /dev/null +++ b/asn1/sabp/SABP-Constants.asn @@ -0,0 +1,66 @@ +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** +SABP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** +id-Write-Replace INTEGER ::= 0 +id-Kill INTEGER ::= 1 +id-Load-Status-Enquiry INTEGER ::= 2 +id-Message-Status-Query INTEGER ::= 3 +id-Restart-Indication INTEGER ::= 4 +id-Reset INTEGER ::= 5 +id-Failure-Indication INTEGER ::= 6 +id-Error-Indication INTEGER ::= 7 +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** +id-Broadcast-Message-Content INTEGER ::= 0 +id-Category INTEGER ::= 1 +id-Cause INTEGER ::= 2 +id-Criticality-Diagnostics INTEGER ::=3 +id-Data-Coding-Scheme INTEGER ::= 4 +id-Failure-List INTEGER ::= 5 +id-Message-Identifier INTEGER ::= 6 +id-New-Serial-Number INTEGER ::= 7 +id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 +id-Number-of-Broadcasts-Requested INTEGER ::= 9 +id-Old-Serial-Number INTEGER ::= 10 +id-Radio-Resource-Loading-List INTEGER ::= 11 +id-Recovery-Indication INTEGER ::= 12 +id-Repetition-Period INTEGER ::= 13 +id-Serial-Number INTEGER ::= 14 +id-Service-Areas-List INTEGER ::= 15 +id-MessageStructure INTEGER ::= 16 +id-TypeOfError INTEGER ::= 17 +id-Paging-ETWS-Indicator INTEGER ::= 18 +id-Warning-Type INTEGER ::= 19 +id-WarningSecurityInfo INTEGER ::= 20 +id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofSAI INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxNrOfLevels INTEGER ::= 256 +END diff --git a/asn1/sabp/SABP-Containers.asn b/asn1/sabp/SABP-Containers.asn new file mode 100644 index 0000000..0aea9cc --- /dev/null +++ b/asn1/sabp/SABP-Containers.asn @@ -0,0 +1,94 @@ +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** +SABP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + Presence, + ProtocolExtensionID, + ProtocolIE-ID +FROM SABP-CommonDataTypes + maxProtocolExtensions, + maxProtocolIEs +FROM SABP-Constants; +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** +SABP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** +SABP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** +ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} +ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** +ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} +ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} +END diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn new file mode 100644 index 0000000..e21e007 --- /dev/null +++ b/asn1/sabp/SABP-IEs.asn @@ -0,0 +1,203 @@ +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** +SABP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +IMPORTS + maxNrOfErrors, + maxnoofSAI, + maxNrOfLevels, + id-MessageStructure, + id-TypeOfError +FROM SABP-Constants + Criticality, + ProcedureCode, + TriggeringMessage, + ProtocolIE-ID +FROM SABP-CommonDataTypes + ProtocolExtensionContainer{}, + SABP-PROTOCOL-EXTENSION +FROM SABP-Containers; +-- A +Available-Bandwidth ::= INTEGER (0..20480) +-- bits/sec +-- B +Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e. +-- the message. +Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED { + broadcast-Message-Content-not-valid, + ... +} +-- C +Category ::= ENUMERATED { + high-priority, + background-priority, + normal-priority, + default-priority, + ... +} +Cause ::= INTEGER { + parameter-not-recognised (0), + parameter-value-invalid (1), + valid-CN-message-not-identified (2), + service-area-identity-not-valid (3), + unrecognised-message (4), + missing-mandatory-element (5), + rNC-capacity-exceeded (6), + rNC-memory-exceeded (7), + service-area-broadcast-not-supported (8), + service-area-broadcast-not-operational (9), + message-reference-already-used (10), + unspecifed-error (11), + transfer-syntax-error (12), + semantic-error (13), + message-not-compatible-with-receiver-state (14), + abstract-syntax-error-reject (15), + abstract-syntax-error-ignore-and-notify (16), + abstract-syntax-error-falsely-constructed-message (17) +} (0..255) +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} +CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } +CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } +MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- D +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) +-- E +-- F +Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item +Failure-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + ... +} +FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +-- G +-- H +-- I +-- J +-- K +-- L +-- M +Message-Identifier ::= BIT STRING (SIZE (16)) +-- N +New-Serial-Number ::= Serial-Number +Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Number-of-Broadcasts-Completed-List-Item +Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + number-of-broadcasts-completed INTEGER (0..65535), + number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + ... +} +NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Number-Of-Broadcasts-Completed-Info ::= ENUMERATED { + overflow, + unknown, + ... +} +Number-of-Broadcasts-Requested ::= INTEGER { + broadcast-indefinitely (0) +} (0..65535) +-- O +Old-Serial-Number ::= Serial-Number +-- P +Paging-ETWS-Indicator ::= ENUMERATED { + paging, + ... +} +-- Q +-- R +Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Radio-Resource-Loading-List-Item +Radio-Resource-Loading-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + available-bandwidth Available-Bandwidth, + iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + ... +} +RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Recovery-Indication ::= ENUMERATED { + data-lost, + data-available +} +RepetitionNumber0 ::= INTEGER(0..255) +RepetitionNumber1 ::= INTEGER(1..256) +Repetition-Period ::= INTEGER (1..4096) +-- Each unit represents a repetition of one second to a maximum of +-- once per 4096 seconds (~1 hour). +-- S +Serial-Number ::= BIT STRING (SIZE (16)) +Service-Area-Identifier ::= SEQUENCE { + pLMNidentity OCTET STRING (SIZE (3)) + -- Digits 0 to 9, two digits per octet. -- + -- Each octet encoded 0000 to 1001. -- + -- 1111 used as filler -- + -- Bit 4 to 1 of octet n encoding digit 2n-1. -- + -- Bit 8 to 5 of octet n encoding digit 2n. -- + -- The PLMN identity consists of 3 digits from MCC -- + -- followed by either a filler plus 2 digits -- + -- from MNC (in case of 2 digit MNC) or 3 digits -- + -- from MNC (in case of 3 digit MNC). -- , + lac OCTET STRING (SIZE (2)) + -- 0000 and FFFE not allowed -- , + sac OCTET STRING (SIZE (2)) +} +-- **TODO** The IE type for these parameters is not known as yet +Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier +-- T +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +-- U +-- V +-- W +WarningSecurityInfo ::= OCTET STRING (SIZE (50)) +Warning-Type ::= OCTET STRING (SIZE(2)) +-- X +-- Y +END diff --git a/asn1/sabp/SABP-PDU-Contents.asn b/asn1/sabp/SABP-PDU-Contents.asn new file mode 100644 index 0000000..814da2f --- /dev/null +++ b/asn1/sabp/SABP-PDU-Contents.asn @@ -0,0 +1,447 @@ +-- ************************************************************** +-- +-- PDU definitions for SABP. +-- +-- ************************************************************** +SABP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Broadcast-Message-Content, + Category, + Cause, +Criticality-Diagnostics, + Data-Coding-Scheme, + Failure-List, + Message-Identifier, + New-Serial-Number, + Number-of-Broadcasts-Completed-List, + Number-of-Broadcasts-Requested, + Old-Serial-Number, + Paging-ETWS-Indicator, + Radio-Resource-Loading-List, + Recovery-Indication, + Repetition-Period, + Serial-Number, + Service-Areas-List, + WarningSecurityInfo, + Warning-Type, + Broadcast-Message-Content-Validity-Indicator +FROM SABP-IEs + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + SABP-PROTOCOL-EXTENSION, + SABP-PROTOCOL-IES +FROM SABP-Containers + id-Broadcast-Message-Content, + id-Category, + id-Criticality-Diagnostics, + id-Cause, + id-Data-Coding-Scheme, + id-Failure-List, + id-Message-Identifier, + id-New-Serial-Number, + id-Number-of-Broadcasts-Completed-List, + id-Number-of-Broadcasts-Requested, + id-Old-Serial-Number, + id-Paging-ETWS-Indicator, + id-Radio-Resource-Loading-List, + id-Recovery-Indication, + id-Repetition-Period, + id-Serial-Number, + id-Service-Areas-List, + id-WarningSecurityInfo, + id-Warning-Type, + id-Broadcast-Message-Content-Validity-Indicator +FROM SABP-Constants; +-- ************************************************************** +-- +-- Write-Replace +-- +-- ************************************************************** +Write-Replace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL, + ... +} +Write-Replace-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Requested + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } | + { ID id-Broadcast-Message-Content + CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory }, + ... +} +Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= { + { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } | + { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } | + { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } | + { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE +optional }, + ... +} +-- ************************************************************** +-- +-- Write-Replace-Complete +-- +-- ************************************************************** +Write-Replace-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL, + ... +} +Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Write-Replace-Failure +-- +-- ************************************************************** +Write-Replace-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL, + ... +} +Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill +-- +-- ************************************************************** +Kill ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL, + ... +} +Kill-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Kill-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Complete +-- +-- ************************************************************** +Kill-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL, + ... +} +Kill-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Failure +-- +-- ************************************************************** +Kill-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL, + ... +} +Kill-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query +-- +-- ************************************************************** +Load-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL, + ... +} +Load-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Complete +-- +-- ************************************************************** +Load-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL, + ... +} +Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Radio-Resource-Loading-List + CRITICALITY reject TYPE Radio-Resource-Loading-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Failure +-- +-- ************************************************************** +Load-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL, + ... +} +Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Radio-Resource-Loading-List + CRITICALITY ignore TYPE Radio-Resource-Loading-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query +-- +-- ************************************************************** +Message-Status-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Complete +-- +-- ************************************************************** +Message-Status-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Failure +-- +-- ************************************************************** +Message-Status-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL, + ... +} +Reset-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Reset-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Complete +-- +-- ************************************************************** +Reset-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL, + ... +} +Reset-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Failure +-- +-- ************************************************************** +Reset-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, + ... +} +Reset-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + ... +} +Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Restart +-- +-- ************************************************************** +Restart ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Restart-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL, + ... +} +Restart-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } , + ... +} +Restart-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Failure +-- +-- ************************************************************** +Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL, + ... +} +Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Error-Indication +-- +-- ************************************************************** +Error-Indication ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Error-Indication-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL, + ... +} +Error-Indication-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } | + { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +END diff --git a/asn1/sabp/SABP-PDU-Descriptions.asn b/asn1/sabp/SABP-PDU-Descriptions.asn new file mode 100644 index 0000000..428c35a --- /dev/null +++ b/asn1/sabp/SABP-PDU-Descriptions.asn @@ -0,0 +1,168 @@ +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +SABP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)} +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + ProcedureCode +FROM SABP-CommonDataTypes + Error-Indication, + Failure, + Kill, + Kill-Complete, + Kill-Failure, + Load-Query, + Load-Query-Complete, + Load-Query-Failure, + Reset, + Reset-Complete, + Reset-Failure, + Restart, + Message-Status-Query, + Message-Status-Query-Complete, + Message-Status-Query-Failure, + Write-Replace, + Write-Replace-Complete, + Write-Replace-Failure +FROM SABP-PDU-Contents + id-Error-Indication, + id-Failure-Indication, + id-Kill, + id-Reset, + id-Restart-Indication, + id-Load-Status-Enquiry, + id-Message-Status-Query, + id-Write-Replace +FROM SABP-Constants; +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME +&SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} +InitiatingMessage ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +SuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= { + SABP-ELEMENTARY-PROCEDURES-CLASS-1 | + SABP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= { + write-Replace | + kill | + load-Status-Enquiry | + message-Status-Query | + reset , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= { + restart-Indication | + failure-Indication | + error-Indication , + ... +} +write-Replace SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Write-Replace + SUCCESSFUL OUTCOME Write-Replace-Complete + UNSUCCESSFUL OUTCOME Write-Replace-Failure + PROCEDURE CODE id-Write-Replace + CRITICALITY reject +} +kill SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Kill + SUCCESSFUL OUTCOME Kill-Complete + UNSUCCESSFUL OUTCOME Kill-Failure + PROCEDURE CODE id-Kill + CRITICALITY reject +} +load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Load-Query + SUCCESSFUL OUTCOME Load-Query-Complete + UNSUCCESSFUL OUTCOME Load-Query-Failure + PROCEDURE CODE id-Load-Status-Enquiry + CRITICALITY reject +} +message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Message-Status-Query + SUCCESSFUL OUTCOME Message-Status-Query-Complete + UNSUCCESSFUL OUTCOME Message-Status-Query-Failure + PROCEDURE CODE id-Message-Status-Query + CRITICALITY reject +} +reset SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME Reset-Complete + UNSUCCESSFUL OUTCOME Reset-Failure + PROCEDURE CODE id-Reset + CRITICALITY reject +} +restart-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Restart + PROCEDURE CODE id-Restart-Indication + CRITICALITY ignore +} +failure-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Failure + PROCEDURE CODE id-Failure-Indication + CRITICALITY ignore +} +error-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Error-Indication + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore +} +END -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 Gerrit-Change-Number: 15591 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:43:03 +0000 Subject: Change in ...osmo-iuh[master]: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our t... Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15592 Change subject: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) ...................................................................... sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) Change-Id: I8211bc334b325e8950edcd769917f164a65591ba --- M asn1/sabp/SABP-IEs.asn A asn1/sabp/SABP-PDU.asn 2 files changed, 155 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/92/15592/1 diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn index e21e007..0efd14e 100644 --- a/asn1/sabp/SABP-IEs.asn +++ b/asn1/sabp/SABP-IEs.asn @@ -12,6 +12,7 @@ maxNrOfErrors, maxnoofSAI, maxNrOfLevels, + maxProtocolExtensions, id-MessageStructure, id-TypeOfError FROM SABP-Constants @@ -20,9 +21,11 @@ TriggeringMessage, ProtocolIE-ID FROM SABP-CommonDataTypes - ProtocolExtensionContainer{}, - SABP-PROTOCOL-EXTENSION -FROM SABP-Containers; + IE +FROM SABP-PDU; + +IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE + -- A Available-Bandwidth ::= INTEGER (0..20480) -- bits/sec @@ -66,7 +69,7 @@ triggeringMessage TriggeringMessage OPTIONAL, procedureCriticality Criticality OPTIONAL, iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -77,19 +80,19 @@ iECriticality Criticality, iE-ID ProtocolIE-ID, repetitionNumber RepetitionNumber0 OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { - { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| - { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + -- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + -- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, ... } MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF SEQUENCE { iE-ID ProtocolIE-ID, repetitionNumber RepetitionNumber1 OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -103,7 +106,7 @@ Failure-List-Item ::= SEQUENCE { service-area-identifier Service-Area-Identifier, cause Cause, - iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -125,7 +128,7 @@ service-area-identifier Service-Area-Identifier, number-of-broadcasts-completed INTEGER (0..65535), number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -153,7 +156,7 @@ Radio-Resource-Loading-List-Item ::= SEQUENCE { service-area-identifier Service-Area-Identifier, available-bandwidth Available-Bandwidth, - iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { diff --git a/asn1/sabp/SABP-PDU.asn b/asn1/sabp/SABP-PDU.asn new file mode 100644 index 0000000..becb238 --- /dev/null +++ b/asn1/sabp/SABP-PDU.asn @@ -0,0 +1,141 @@ +SABP-PDU { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp(3) version1 (1) sabp-PDU (255) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxProtocolIEs +FROM SABP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID +FROM SABP-CommonDataTypes; + +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + + +Write-Replace ::= SEQUENCE { + write-Replace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Write-Replace-Complete ::= SEQUENCE { + write-Replace-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Write-Replace-Failure ::= SEQUENCE { + write-Replace-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill ::= SEQUENCE { + kill-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill-Complete ::= SEQUENCE { + kill-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill-Failure ::= SEQUENCE { + kill-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query ::= SEQUENCE { + load-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query-Complete ::= SEQUENCE { + load-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query-Failure ::= SEQUENCE { + load-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query ::= SEQUENCE { + message-Status-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query-Complete ::= SEQUENCE { + message-Status-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query-Failure ::= SEQUENCE { + message-Status-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset ::= SEQUENCE { + reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset-Complete ::= SEQUENCE { + reset-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset-Failure ::= SEQUENCE { + reset-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Restart ::= SEQUENCE { + restart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Failure ::= SEQUENCE { + failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Error-Indication ::= SEQUENCE { + error-Indication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + + +IE ::= SEQUENCE { + id ProtocolIE-ID, + criticality Criticality, + value ANY +} + +END -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8211bc334b325e8950edcd769917f164a65591ba Gerrit-Change-Number: 15592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:43:03 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Add Procedure Codes and IEI constants to CommonDataTypes Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15593 Change subject: sabp: Add Procedure Codes and IEI constants to CommonDataTypes ...................................................................... sabp: Add Procedure Codes and IEI constants to CommonDataTypes ... this is what's required for asn1c to generate nice C language enums for it. Conversion was performed semi-automatically by use of asn1enum.pl Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e --- M asn1/sabp/SABP-CommonDataTypes.asn M asn1/sabp/SABP-Constants.asn 2 files changed, 72 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/93/15593/1 diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn index 92f3e12..40bfb83 100644 --- a/asn1/sabp/SABP-CommonDataTypes.asn +++ b/asn1/sabp/SABP-CommonDataTypes.asn @@ -9,8 +9,41 @@ BEGIN Criticality ::= ENUMERATED { reject, ignore, notify } Presence ::= ENUMERATED { optional, conditional, mandatory } -ProcedureCode ::= INTEGER (0..255) + +ProcedureCode ::= INTEGER { + id-Write-Replace(0), + id-Kill(1), + id-Load-Status-Enquiry(2), + id-Message-Status-Query(3), + id-Restart-Indication(4), + id-Reset(5), + id-Failure-Indication(6), + id-Error-Indication(7) +} (0..255) ProtocolExtensionID ::= INTEGER (0..65535) -ProtocolIE-ID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER { + id-Broadcast-Message-Content(0), + id-Category(1), + id-Cause(2), + id-Data-Coding-Scheme(4), + id-Failure-List(5), + id-Message-Identifier(6), + id-New-Serial-Number(7), + id-Number-of-Broadcasts-Completed-List(8), + id-Number-of-Broadcasts-Requested(9), + id-Old-Serial-Number(10), + id-Radio-Resource-Loading-List(11), + id-Recovery-Indication(12), + id-Repetition-Period(13), + id-Serial-Number(14), + id-Service-Areas-List(15), + id-MessageStructure(16), + id-TypeOfError(17), + id-Paging-ETWS-Indicator(18), + id-Warning-Type(19), + id-WarningSecurityInfo(20), + id-Broadcast-Message-Content-Validity-Indicator(21) +} (0..65535) + TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} END diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn index 5b390a9..5db7739 100644 --- a/asn1/sabp/SABP-Constants.asn +++ b/asn1/sabp/SABP-Constants.asn @@ -8,46 +8,53 @@ umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM SABP-CommonDataTypes; + + -- ************************************************************** -- -- Elementary Procedures -- -- ************************************************************** -id-Write-Replace INTEGER ::= 0 -id-Kill INTEGER ::= 1 -id-Load-Status-Enquiry INTEGER ::= 2 -id-Message-Status-Query INTEGER ::= 3 -id-Restart-Indication INTEGER ::= 4 -id-Reset INTEGER ::= 5 -id-Failure-Indication INTEGER ::= 6 -id-Error-Indication INTEGER ::= 7 +id-Write-Replace ProcedureCode ::= 0 +id-Kill ProcedureCode ::= 1 +id-Load-Status-Enquiry ProcedureCode ::= 2 +id-Message-Status-Query ProcedureCode ::= 3 +id-Restart-Indication ProcedureCode ::= 4 +id-Reset ProcedureCode ::= 5 +id-Failure-Indication ProcedureCode ::= 6 +id-Error-Indication ProcedureCode ::= 7 -- ************************************************************** -- -- IEs -- -- ************************************************************** -id-Broadcast-Message-Content INTEGER ::= 0 -id-Category INTEGER ::= 1 -id-Cause INTEGER ::= 2 -id-Criticality-Diagnostics INTEGER ::=3 -id-Data-Coding-Scheme INTEGER ::= 4 -id-Failure-List INTEGER ::= 5 -id-Message-Identifier INTEGER ::= 6 -id-New-Serial-Number INTEGER ::= 7 -id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 -id-Number-of-Broadcasts-Requested INTEGER ::= 9 -id-Old-Serial-Number INTEGER ::= 10 -id-Radio-Resource-Loading-List INTEGER ::= 11 -id-Recovery-Indication INTEGER ::= 12 -id-Repetition-Period INTEGER ::= 13 -id-Serial-Number INTEGER ::= 14 -id-Service-Areas-List INTEGER ::= 15 -id-MessageStructure INTEGER ::= 16 -id-TypeOfError INTEGER ::= 17 -id-Paging-ETWS-Indicator INTEGER ::= 18 -id-Warning-Type INTEGER ::= 19 -id-WarningSecurityInfo INTEGER ::= 20 -id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +id-Broadcast-Message-Content ProtocolIE-ID ::= 0 +id-Category ProtocolIE-ID ::= 1 +id-Cause ProtocolIE-ID ::= 2 +id-Criticality-Diagnostics ProtocolIE-ID ::=3 +id-Data-Coding-Scheme ProtocolIE-ID ::= 4 +id-Failure-List ProtocolIE-ID ::= 5 +id-Message-Identifier ProtocolIE-ID ::= 6 +id-New-Serial-Number ProtocolIE-ID ::= 7 +id-Number-of-Broadcasts-Completed-List ProtocolIE-ID ::= 8 +id-Number-of-Broadcasts-Requested ProtocolIE-ID ::= 9 +id-Old-Serial-Number ProtocolIE-ID ::= 10 +id-Radio-Resource-Loading-List ProtocolIE-ID ::= 11 +id-Recovery-Indication ProtocolIE-ID ::= 12 +id-Repetition-Period ProtocolIE-ID ::= 13 +id-Serial-Number ProtocolIE-ID ::= 14 +id-Service-Areas-List ProtocolIE-ID ::= 15 +id-MessageStructure ProtocolIE-ID ::= 16 +id-TypeOfError ProtocolIE-ID ::= 17 +id-Paging-ETWS-Indicator ProtocolIE-ID ::= 18 +id-Warning-Type ProtocolIE-ID ::= 19 +id-WarningSecurityInfo ProtocolIE-ID ::= 20 +id-Broadcast-Message-Content-Validity-Indicator ProtocolIE-ID ::= 21 -- ************************************************************** -- -- Extension constants -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e Gerrit-Change-Number: 15593 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 04:43:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 04:43:04 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15594 Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... sabp: Generate C/H files for SABP; create libosmo-sabp This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 --- M .gitignore M Makefile.am M configure.ac M include/osmocom/Makefile.am A include/osmocom/sabp/Makefile.am A include/osmocom/sabp/SABP_Available-Bandwidth.h A include/osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h A include/osmocom/sabp/SABP_Broadcast-Message-Content.h A include/osmocom/sabp/SABP_Category.h A include/osmocom/sabp/SABP_Cause.h A include/osmocom/sabp/SABP_Criticality-Diagnostics.h A include/osmocom/sabp/SABP_Criticality.h A include/osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h A include/osmocom/sabp/SABP_Data-Coding-Scheme.h A include/osmocom/sabp/SABP_Error-Indication.h A include/osmocom/sabp/SABP_Failure-List-Item.h A include/osmocom/sabp/SABP_Failure-List.h A include/osmocom/sabp/SABP_Failure.h A include/osmocom/sabp/SABP_IE-Extensions.h A include/osmocom/sabp/SABP_IE.h A include/osmocom/sabp/SABP_InitiatingMessage.h A include/osmocom/sabp/SABP_Kill-Complete.h A include/osmocom/sabp/SABP_Kill-Failure.h A include/osmocom/sabp/SABP_Kill.h A include/osmocom/sabp/SABP_Load-Query-Complete.h A include/osmocom/sabp/SABP_Load-Query-Failure.h A include/osmocom/sabp/SABP_Load-Query.h A include/osmocom/sabp/SABP_Message-Identifier.h A include/osmocom/sabp/SABP_Message-Status-Query-Complete.h A include/osmocom/sabp/SABP_Message-Status-Query-Failure.h A include/osmocom/sabp/SABP_Message-Status-Query.h A include/osmocom/sabp/SABP_MessageStructure.h A include/osmocom/sabp/SABP_New-Serial-Number.h A include/osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h A include/osmocom/sabp/SABP_Old-Serial-Number.h A include/osmocom/sabp/SABP_Paging-ETWS-Indicator.h A include/osmocom/sabp/SABP_Presence.h A include/osmocom/sabp/SABP_ProcedureCode.h A include/osmocom/sabp/SABP_ProtocolExtensionID.h A include/osmocom/sabp/SABP_ProtocolIE-ID.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List.h A include/osmocom/sabp/SABP_Recovery-Indication.h A include/osmocom/sabp/SABP_Repetition-Period.h A include/osmocom/sabp/SABP_RepetitionNumber0.h A include/osmocom/sabp/SABP_RepetitionNumber1.h A include/osmocom/sabp/SABP_Reset-Complete.h A include/osmocom/sabp/SABP_Reset-Failure.h A include/osmocom/sabp/SABP_Reset.h A include/osmocom/sabp/SABP_Restart.h A include/osmocom/sabp/SABP_SABP-PDU.h A include/osmocom/sabp/SABP_Serial-Number.h A include/osmocom/sabp/SABP_Service-Area-Identifier.h A include/osmocom/sabp/SABP_Service-Areas-List.h A include/osmocom/sabp/SABP_SuccessfulOutcome.h A include/osmocom/sabp/SABP_TriggeringMessage.h A include/osmocom/sabp/SABP_TypeOfError.h A include/osmocom/sabp/SABP_UnsuccessfulOutcome.h A include/osmocom/sabp/SABP_Warning-Type.h A include/osmocom/sabp/SABP_WarningSecurityInfo.h A include/osmocom/sabp/SABP_Write-Replace-Complete.h A include/osmocom/sabp/SABP_Write-Replace-Failure.h A include/osmocom/sabp/SABP_Write-Replace.h A include/osmocom/sabp/sabp_common.h A libosmo-sabp.pc.in M src/.gitignore M src/Makefile.am A src/sabp/Makefile.am A src/sabp/SABP_Available-Bandwidth.c A src/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.c A src/sabp/SABP_Broadcast-Message-Content.c A src/sabp/SABP_Category.c A src/sabp/SABP_Cause.c A src/sabp/SABP_Criticality-Diagnostics.c A src/sabp/SABP_Criticality.c A src/sabp/SABP_CriticalityDiagnostics-IE-List.c A src/sabp/SABP_Data-Coding-Scheme.c A src/sabp/SABP_Error-Indication.c A src/sabp/SABP_Failure-List-Item.c A src/sabp/SABP_Failure-List.c A src/sabp/SABP_Failure.c A src/sabp/SABP_IE-Extensions.c A src/sabp/SABP_IE.c A src/sabp/SABP_InitiatingMessage.c A src/sabp/SABP_Kill-Complete.c A src/sabp/SABP_Kill-Failure.c A src/sabp/SABP_Kill.c A src/sabp/SABP_Load-Query-Complete.c A src/sabp/SABP_Load-Query-Failure.c A src/sabp/SABP_Load-Query.c A src/sabp/SABP_Message-Identifier.c A src/sabp/SABP_Message-Status-Query-Complete.c A src/sabp/SABP_Message-Status-Query-Failure.c A src/sabp/SABP_Message-Status-Query.c A src/sabp/SABP_MessageStructure.c A src/sabp/SABP_New-Serial-Number.c A src/sabp/SABP_Number-Of-Broadcasts-Completed-Info.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List.c A src/sabp/SABP_Number-of-Broadcasts-Requested.c A src/sabp/SABP_Old-Serial-Number.c A src/sabp/SABP_Paging-ETWS-Indicator.c A src/sabp/SABP_Presence.c A src/sabp/SABP_ProcedureCode.c A src/sabp/SABP_ProtocolExtensionID.c A src/sabp/SABP_ProtocolIE-ID.c A src/sabp/SABP_Radio-Resource-Loading-List-Item.c A src/sabp/SABP_Radio-Resource-Loading-List.c A src/sabp/SABP_Recovery-Indication.c A src/sabp/SABP_Repetition-Period.c A src/sabp/SABP_RepetitionNumber0.c A src/sabp/SABP_RepetitionNumber1.c A src/sabp/SABP_Reset-Complete.c A src/sabp/SABP_Reset-Failure.c A src/sabp/SABP_Reset.c A src/sabp/SABP_Restart.c A src/sabp/SABP_SABP-PDU.c A src/sabp/SABP_Serial-Number.c A src/sabp/SABP_Service-Area-Identifier.c A src/sabp/SABP_Service-Areas-List.c A src/sabp/SABP_SuccessfulOutcome.c A src/sabp/SABP_TriggeringMessage.c A src/sabp/SABP_TypeOfError.c A src/sabp/SABP_UnsuccessfulOutcome.c A src/sabp/SABP_Warning-Type.c A src/sabp/SABP_WarningSecurityInfo.c A src/sabp/SABP_Write-Replace-Complete.c A src/sabp/SABP_Write-Replace-Failure.c A src/sabp/SABP_Write-Replace.c A src/sabp_common.c 133 files changed, 11,906 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/94/15594/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 08:17:42 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Sep 2019 08:17:42 +0000 Subject: Change in ...pysim[master]: cards.py: unify card programming In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15501 ) Change subject: cards.py: unify card programming ...................................................................... Patch Set 4: I have carried this out in the hope to clean up the code in cards.py a bit. This patch is intended to be an intermediate step towards a more object oriented idea. Unfortunately I can not really continue because I am missing card samples so I can not test. I don't know maybe this is helpful anyway, otherwise we also can abandon this. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 23 Sep 2019 08:17:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 10:38:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 10:38:00 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: Hello fixeria, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15546 to look at the new patch set (#6). Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M TODO-RELEASE M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_vty_test_config_root.c M tests/tdef/tdef_vty_test_config_root.vty 8 files changed, 175 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 11:35:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 11:35:26 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15560 to look at the new patch set (#6). Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... logging: Introduce mutex API to manage log_target in multi-thread envs log_enable_multithread() enables use of locks inside the implementation. Lock use is disabled by default, this way only multi-thread processes need to enable it and suffer related complexity/performance penalties. Locks are required around osmo_log_target_list and items inside it, since targets can be used, modified and deleted by different threads concurrently (for instance, user writing "logging disable" in VTY while another thread is willing to write into that target). Multithread apps and libraries aiming at being used in multithread apps should update their code to use the locks introduced here when containing code iterating over osmo_log_target_list explictly or implicitly by obtaining a log_target (eg. osmo_log_vty2tgt()). Related: OS#4088 Change-Id: Id7711893b34263baacac6caf4d489467053131bb --- M configure.ac M include/osmocom/core/logging.h M libosmocore.pc.in A m4/ax_pthread.m4 M src/Makefile.am M src/gb/gprs_bssgp_vty.c M src/gb/gprs_ns_vty.c M src/logging.c M src/vty/logging_vty.c M tests/Makefile.am M tests/logging/logging_vty_test.c M utils/Makefile.am 12 files changed, 710 insertions(+), 101 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/15560/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 11:54:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 11:54:04 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15591 ) Change subject: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 Gerrit-Change-Number: 15591 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 11:54:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 11:55:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 11:55:11 +0000 Subject: Change in ...osmo-iuh[master]: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our t... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15592 ) Change subject: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8211bc334b325e8950edcd769917f164a65591ba Gerrit-Change-Number: 15592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 11:55:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 11:56:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 11:56:01 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Add Procedure Codes and IEI constants to CommonDataTypes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15593 ) Change subject: sabp: Add Procedure Codes and IEI constants to CommonDataTypes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e Gerrit-Change-Number: 15593 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 11:56:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:06:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:06:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP CodecPort and SABP_Adapter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 ) Change subject: SABP CodecPort and SABP_Adapter ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 Gerrit-Change-Number: 15590 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:06:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:08:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:08:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP (Service Area Broadcast Protocol) definitions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 ) Change subject: SABP (Service Area Broadcast Protocol) definitions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 Gerrit-Change-Number: 15589 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:08:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:08:48 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Sep 2019 12:08:48 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build everything in docker In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 to look at the new patch set (#4). Change subject: gerrit, master builds: build everything in docker ...................................................................... gerrit, master builds: build everything in docker Instead of building some projects in docker, and some directly on the build slave, build all of them in docker. This has several advantages: * build environment of master builds and gerrit verifications is the same, therefore the same build won't pass in gerrit and then fail in master * all build environments are volatile * no more conflicts while running VTY/CTRL tests Related: OS#3726, OS#3598 Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 60 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/84/15584/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 Gerrit-Change-Number: 15584 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:12:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Sep 2019 12:12:55 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: build everything in docker In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15584 ) Change subject: gerrit, master builds: build everything in docker ...................................................................... Patch Set 4: I'm marking this as WIP. Although I'm thoroughly testing these patches, they touch all gerrit and master builds. So I'd rather wait some time between merging the jessie->stretch update patch and this one, to make it easier to see where potential regressions come from. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35 Gerrit-Change-Number: 15584 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:12:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:15:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:15:11 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15594 ) Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... Patch Set 1: Looks good to me, but jenkins is complaining. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:15:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:18:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:18:09 +0000 Subject: Change in ...libosmocore[master]: vty: logging_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15056 ) Change subject: vty: logging_vty_add_cmds: Enforce no parameters ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2fa8a9e2fdf3d55d0dcdb3d933ac5ceb48db3da9 Gerrit-Change-Number: 15056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:18:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:18:22 +0000 Subject: Change in ...libosmocore[master]: vty: osmo_stats_vty_add_cmds: Enforce no parameters In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15055 ) Change subject: vty: osmo_stats_vty_add_cmds: Enforce no parameters ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I29b27824b83c2caad901cc910d77e634ed5562d6 Gerrit-Change-Number: 15055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:19:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Sep 2019 12:19:14 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 3: Verified+1 The ASAN errors are resolved; it was caused by missing SYS_PTRACE capabilities. (And the error message from ASAN was not really helpful, it just said that there was a memory leak somewhere in libtalloc.so...) It looks like everything is working with this patch, I've successfully ran contrib/jenkins.sh of OsmoPCU, OpenBSC, OsmoBSC with the stretch image on my machine. Tests for the other affected Osmocom projects are still running, but since it works for these three already, I don't expect any failures in the other projects. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:19:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 12:25:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 12:25:31 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 12:25:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 13:04:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Sep 2019 13:04:24 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG at 11 PS3, Line 11: tests won't build out of : the box with GCC-4.9.x from jessie I am still using GCC 4.8.5 and it builds just fine. But with ASAN, yes, I have to use the newer GCC or sometimes Clang. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 13:04:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 13:14:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Sep 2019 13:14:22 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG at 11 PS3, Line 11: tests won't build out of : the box with GCC-4.9.x from jessie > I am still using GCC 4.8.5 and it builds just fine. [?] Thanks for the feedback... I'll double check tomorrow how I came to that conclusion. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 13:14:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 17:08:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 17:08:48 +0000 Subject: Change in ...osmo-trx[master]: Use new libosmocore logging lock API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/15561 to look at the new patch set (#2). Change subject: Use new libosmocore logging lock API ...................................................................... Use new libosmocore logging lock API Since libosmocore Id7711893b34263baacac6caf4d489467053131bb, a new API log_enable_multithread() is available which takes care of protecting logging infrastructure from us (and actually does it correctly since we cannot protect internal libosmocore structures from osmo-trx). Let's drop all mutex related code from osmo-trx logging infra and simply rely on libosmocore's. Related: OS#4088 Change-Id: I519d0f30bce871005ca26b90177ea4aa4839360a --- M CommonLibs/Logger.cpp M CommonLibs/debug.c M CommonLibs/debug.h M Transceiver52M/osmo-trx.cpp 4 files changed, 5 insertions(+), 63 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/61/15561/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I519d0f30bce871005ca26b90177ea4aa4839360a Gerrit-Change-Number: 15561 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 17:09:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Sep 2019 17:09:15 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 23 Sep 2019 17:09:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 17:24:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 17:24:58 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 to look at the new patch set (#2). Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... sabp: Generate C/H files for SABP; create libosmo-sabp This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 --- M .gitignore M Makefile.am M configure.ac M include/osmocom/Makefile.am A include/osmocom/sabp/Makefile.am A include/osmocom/sabp/SABP_Available-Bandwidth.h A include/osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h A include/osmocom/sabp/SABP_Broadcast-Message-Content.h A include/osmocom/sabp/SABP_Category.h A include/osmocom/sabp/SABP_Cause.h A include/osmocom/sabp/SABP_Criticality-Diagnostics.h A include/osmocom/sabp/SABP_Criticality.h A include/osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h A include/osmocom/sabp/SABP_Data-Coding-Scheme.h A include/osmocom/sabp/SABP_Error-Indication.h A include/osmocom/sabp/SABP_Failure-List-Item.h A include/osmocom/sabp/SABP_Failure-List.h A include/osmocom/sabp/SABP_Failure.h A include/osmocom/sabp/SABP_IE-Extensions.h A include/osmocom/sabp/SABP_IE.h A include/osmocom/sabp/SABP_InitiatingMessage.h A include/osmocom/sabp/SABP_Kill-Complete.h A include/osmocom/sabp/SABP_Kill-Failure.h A include/osmocom/sabp/SABP_Kill.h A include/osmocom/sabp/SABP_Load-Query-Complete.h A include/osmocom/sabp/SABP_Load-Query-Failure.h A include/osmocom/sabp/SABP_Load-Query.h A include/osmocom/sabp/SABP_Message-Identifier.h A include/osmocom/sabp/SABP_Message-Status-Query-Complete.h A include/osmocom/sabp/SABP_Message-Status-Query-Failure.h A include/osmocom/sabp/SABP_Message-Status-Query.h A include/osmocom/sabp/SABP_MessageStructure.h A include/osmocom/sabp/SABP_New-Serial-Number.h A include/osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h A include/osmocom/sabp/SABP_Old-Serial-Number.h A include/osmocom/sabp/SABP_Paging-ETWS-Indicator.h A include/osmocom/sabp/SABP_Presence.h A include/osmocom/sabp/SABP_ProcedureCode.h A include/osmocom/sabp/SABP_ProtocolExtensionID.h A include/osmocom/sabp/SABP_ProtocolIE-ID.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List.h A include/osmocom/sabp/SABP_Recovery-Indication.h A include/osmocom/sabp/SABP_Repetition-Period.h A include/osmocom/sabp/SABP_RepetitionNumber0.h A include/osmocom/sabp/SABP_RepetitionNumber1.h A include/osmocom/sabp/SABP_Reset-Complete.h A include/osmocom/sabp/SABP_Reset-Failure.h A include/osmocom/sabp/SABP_Reset.h A include/osmocom/sabp/SABP_Restart.h A include/osmocom/sabp/SABP_SABP-PDU.h A include/osmocom/sabp/SABP_Serial-Number.h A include/osmocom/sabp/SABP_Service-Area-Identifier.h A include/osmocom/sabp/SABP_Service-Areas-List.h A include/osmocom/sabp/SABP_SuccessfulOutcome.h A include/osmocom/sabp/SABP_TriggeringMessage.h A include/osmocom/sabp/SABP_TypeOfError.h A include/osmocom/sabp/SABP_UnsuccessfulOutcome.h A include/osmocom/sabp/SABP_Warning-Type.h A include/osmocom/sabp/SABP_WarningSecurityInfo.h A include/osmocom/sabp/SABP_Write-Replace-Complete.h A include/osmocom/sabp/SABP_Write-Replace-Failure.h A include/osmocom/sabp/SABP_Write-Replace.h A include/osmocom/sabp/sabp_common.h A libosmo-sabp.pc.in M src/.gitignore M src/Makefile.am A src/sabp/Makefile.am A src/sabp/SABP_Available-Bandwidth.c A src/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.c A src/sabp/SABP_Broadcast-Message-Content.c A src/sabp/SABP_Category.c A src/sabp/SABP_Cause.c A src/sabp/SABP_Criticality-Diagnostics.c A src/sabp/SABP_Criticality.c A src/sabp/SABP_CriticalityDiagnostics-IE-List.c A src/sabp/SABP_Data-Coding-Scheme.c A src/sabp/SABP_Error-Indication.c A src/sabp/SABP_Failure-List-Item.c A src/sabp/SABP_Failure-List.c A src/sabp/SABP_Failure.c A src/sabp/SABP_IE-Extensions.c A src/sabp/SABP_IE.c A src/sabp/SABP_InitiatingMessage.c A src/sabp/SABP_Kill-Complete.c A src/sabp/SABP_Kill-Failure.c A src/sabp/SABP_Kill.c A src/sabp/SABP_Load-Query-Complete.c A src/sabp/SABP_Load-Query-Failure.c A src/sabp/SABP_Load-Query.c A src/sabp/SABP_Message-Identifier.c A src/sabp/SABP_Message-Status-Query-Complete.c A src/sabp/SABP_Message-Status-Query-Failure.c A src/sabp/SABP_Message-Status-Query.c A src/sabp/SABP_MessageStructure.c A src/sabp/SABP_New-Serial-Number.c A src/sabp/SABP_Number-Of-Broadcasts-Completed-Info.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List.c A src/sabp/SABP_Number-of-Broadcasts-Requested.c A src/sabp/SABP_Old-Serial-Number.c A src/sabp/SABP_Paging-ETWS-Indicator.c A src/sabp/SABP_Presence.c A src/sabp/SABP_ProcedureCode.c A src/sabp/SABP_ProtocolExtensionID.c A src/sabp/SABP_ProtocolIE-ID.c A src/sabp/SABP_Radio-Resource-Loading-List-Item.c A src/sabp/SABP_Radio-Resource-Loading-List.c A src/sabp/SABP_Recovery-Indication.c A src/sabp/SABP_Repetition-Period.c A src/sabp/SABP_RepetitionNumber0.c A src/sabp/SABP_RepetitionNumber1.c A src/sabp/SABP_Reset-Complete.c A src/sabp/SABP_Reset-Failure.c A src/sabp/SABP_Reset.c A src/sabp/SABP_Restart.c A src/sabp/SABP_SABP-PDU.c A src/sabp/SABP_Serial-Number.c A src/sabp/SABP_Service-Area-Identifier.c A src/sabp/SABP_Service-Areas-List.c A src/sabp/SABP_SuccessfulOutcome.c A src/sabp/SABP_TriggeringMessage.c A src/sabp/SABP_TypeOfError.c A src/sabp/SABP_UnsuccessfulOutcome.c A src/sabp/SABP_Warning-Type.c A src/sabp/SABP_WarningSecurityInfo.c A src/sabp/SABP_Write-Replace-Complete.c A src/sabp/SABP_Write-Replace-Failure.c A src/sabp/SABP_Write-Replace.c A src/sabp_common.c 133 files changed, 11,906 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/94/15594/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 17:25:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 17:25:48 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15594 ) Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... Patch Set 2: > Looks good to me, but jenkins is complaining. some typo leading to a non-committed file (SABP_Criticality-Diagnostics.c), pushing a new version. -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Sep 2019 17:25:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 18:26:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 18:26:11 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 to look at the new patch set (#3). Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... sabp: Generate C/H files for SABP; create libosmo-sabp This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 --- M .gitignore M Makefile.am M configure.ac M include/osmocom/Makefile.am A include/osmocom/sabp/Makefile.am A include/osmocom/sabp/SABP_Available-Bandwidth.h A include/osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h A include/osmocom/sabp/SABP_Broadcast-Message-Content.h A include/osmocom/sabp/SABP_Category.h A include/osmocom/sabp/SABP_Cause.h A include/osmocom/sabp/SABP_Criticality-Diagnostics.h A include/osmocom/sabp/SABP_Criticality.h A include/osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h A include/osmocom/sabp/SABP_Data-Coding-Scheme.h A include/osmocom/sabp/SABP_Error-Indication.h A include/osmocom/sabp/SABP_Failure-List-Item.h A include/osmocom/sabp/SABP_Failure-List.h A include/osmocom/sabp/SABP_Failure.h A include/osmocom/sabp/SABP_IE-Extensions.h A include/osmocom/sabp/SABP_IE.h A include/osmocom/sabp/SABP_InitiatingMessage.h A include/osmocom/sabp/SABP_Kill-Complete.h A include/osmocom/sabp/SABP_Kill-Failure.h A include/osmocom/sabp/SABP_Kill.h A include/osmocom/sabp/SABP_Load-Query-Complete.h A include/osmocom/sabp/SABP_Load-Query-Failure.h A include/osmocom/sabp/SABP_Load-Query.h A include/osmocom/sabp/SABP_Message-Identifier.h A include/osmocom/sabp/SABP_Message-Status-Query-Complete.h A include/osmocom/sabp/SABP_Message-Status-Query-Failure.h A include/osmocom/sabp/SABP_Message-Status-Query.h A include/osmocom/sabp/SABP_MessageStructure.h A include/osmocom/sabp/SABP_New-Serial-Number.h A include/osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h A include/osmocom/sabp/SABP_Old-Serial-Number.h A include/osmocom/sabp/SABP_Paging-ETWS-Indicator.h A include/osmocom/sabp/SABP_Presence.h A include/osmocom/sabp/SABP_ProcedureCode.h A include/osmocom/sabp/SABP_ProtocolExtensionID.h A include/osmocom/sabp/SABP_ProtocolIE-ID.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List.h A include/osmocom/sabp/SABP_Recovery-Indication.h A include/osmocom/sabp/SABP_Repetition-Period.h A include/osmocom/sabp/SABP_RepetitionNumber0.h A include/osmocom/sabp/SABP_RepetitionNumber1.h A include/osmocom/sabp/SABP_Reset-Complete.h A include/osmocom/sabp/SABP_Reset-Failure.h A include/osmocom/sabp/SABP_Reset.h A include/osmocom/sabp/SABP_Restart.h A include/osmocom/sabp/SABP_SABP-PDU.h A include/osmocom/sabp/SABP_Serial-Number.h A include/osmocom/sabp/SABP_Service-Area-Identifier.h A include/osmocom/sabp/SABP_Service-Areas-List.h A include/osmocom/sabp/SABP_SuccessfulOutcome.h A include/osmocom/sabp/SABP_TriggeringMessage.h A include/osmocom/sabp/SABP_TypeOfError.h A include/osmocom/sabp/SABP_UnsuccessfulOutcome.h A include/osmocom/sabp/SABP_Warning-Type.h A include/osmocom/sabp/SABP_WarningSecurityInfo.h A include/osmocom/sabp/SABP_Write-Replace-Complete.h A include/osmocom/sabp/SABP_Write-Replace-Failure.h A include/osmocom/sabp/SABP_Write-Replace.h A include/osmocom/sabp/sabp_common.h A libosmo-sabp.pc.in M src/.gitignore M src/Makefile.am A src/sabp/Makefile.am A src/sabp/SABP_Available-Bandwidth.c A src/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.c A src/sabp/SABP_Broadcast-Message-Content.c A src/sabp/SABP_Category.c A src/sabp/SABP_Cause.c A src/sabp/SABP_Criticality-Diagnostics.c A src/sabp/SABP_Criticality.c A src/sabp/SABP_CriticalityDiagnostics-IE-List.c A src/sabp/SABP_Data-Coding-Scheme.c A src/sabp/SABP_Error-Indication.c A src/sabp/SABP_Failure-List-Item.c A src/sabp/SABP_Failure-List.c A src/sabp/SABP_Failure.c A src/sabp/SABP_IE-Extensions.c A src/sabp/SABP_IE.c A src/sabp/SABP_InitiatingMessage.c A src/sabp/SABP_Kill-Complete.c A src/sabp/SABP_Kill-Failure.c A src/sabp/SABP_Kill.c A src/sabp/SABP_Load-Query-Complete.c A src/sabp/SABP_Load-Query-Failure.c A src/sabp/SABP_Load-Query.c A src/sabp/SABP_Message-Identifier.c A src/sabp/SABP_Message-Status-Query-Complete.c A src/sabp/SABP_Message-Status-Query-Failure.c A src/sabp/SABP_Message-Status-Query.c A src/sabp/SABP_MessageStructure.c A src/sabp/SABP_New-Serial-Number.c A src/sabp/SABP_Number-Of-Broadcasts-Completed-Info.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List.c A src/sabp/SABP_Number-of-Broadcasts-Requested.c A src/sabp/SABP_Old-Serial-Number.c A src/sabp/SABP_Paging-ETWS-Indicator.c A src/sabp/SABP_Presence.c A src/sabp/SABP_ProcedureCode.c A src/sabp/SABP_ProtocolExtensionID.c A src/sabp/SABP_ProtocolIE-ID.c A src/sabp/SABP_Radio-Resource-Loading-List-Item.c A src/sabp/SABP_Radio-Resource-Loading-List.c A src/sabp/SABP_Recovery-Indication.c A src/sabp/SABP_Repetition-Period.c A src/sabp/SABP_RepetitionNumber0.c A src/sabp/SABP_RepetitionNumber1.c A src/sabp/SABP_Reset-Complete.c A src/sabp/SABP_Reset-Failure.c A src/sabp/SABP_Reset.c A src/sabp/SABP_Restart.c A src/sabp/SABP_SABP-PDU.c A src/sabp/SABP_Serial-Number.c A src/sabp/SABP_Service-Area-Identifier.c A src/sabp/SABP_Service-Areas-List.c A src/sabp/SABP_SuccessfulOutcome.c A src/sabp/SABP_TriggeringMessage.c A src/sabp/SABP_TypeOfError.c A src/sabp/SABP_UnsuccessfulOutcome.c A src/sabp/SABP_Warning-Type.c A src/sabp/SABP_WarningSecurityInfo.c A src/sabp/SABP_Write-Replace-Complete.c A src/sabp/SABP_Write-Replace-Failure.c A src/sabp/SABP_Write-Replace.c A src/sabp_common.c 133 files changed, 11,908 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/94/15594/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 18:34:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 23 Sep 2019 18:34:48 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Mon, 23 Sep 2019 18:34:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 18:55:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 18:55:28 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add small program to play with how Linux reacts to hubs with many ports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 ) Change subject: add small program to play with how Linux reacts to hubs with many ports ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ic3d2bec3f55f4d9e13183795c5825723f9427476 Gerrit-Change-Number: 15499 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 23 Sep 2019 18:55:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 23 18:55:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Sep 2019 18:55:30 +0000 Subject: Change in ...osmo-ccid-firmware[master]: add small program to play with how Linux reacts to hubs with many ports In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 ) Change subject: add small program to play with how Linux reacts to hubs with many ports ...................................................................... add small program to play with how Linux reacts to hubs with many ports Change-Id: Ic3d2bec3f55f4d9e13183795c5825723f9427476 --- M ccid/Makefile A ccid/hub_create_gadget.sh A ccid/hub_main_functionfs.c A ccid/hub_remove_gadget.sh 4 files changed, 589 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid/Makefile b/ccid/Makefile index 3258967..0fadd22 100644 --- a/ccid/Makefile +++ b/ccid/Makefile @@ -3,6 +3,9 @@ ccid_functionfs: ccid_main_functionfs.o ccid_proto.o ccid_device.o ccid_slot_sim.o $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio +hub_functionfs: hub_main_functionfs.o + $(CC) $(CFLAGS) -o $@ $^ -lasan -losmocore -ltalloc -laio + %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ diff --git a/ccid/hub_create_gadget.sh b/ccid/hub_create_gadget.sh new file mode 100755 index 0000000..3689c9f --- /dev/null +++ b/ccid/hub_create_gadget.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +GADGET_NAME=osmo-hub + + + +GADGET_CONFIGFS=/sys/kernel/config/usb_gadget + +die() { + echo ERROR: $1 + exit 2 +} + +modprobe configfs +modprobe usb_f_fs +modprobe dummy_hcd is_high_speed=0 is_super_speed=0 + +[ -d $GADGET_CONFIGFS ] || die "usb_gadget configfs not mounted" + +gadgetdir="$GADGET_CONFIGFS/$GADGET_NAME" + +# create gadget +[ -d $gadgetdir ] || mkdir $gadgetdir || die "Cannot create $gadgetdir. Permission problem?" +set -e -x +cd $gadgetdir +echo 0x2342 > idVendor +echo 0x4200 > idProduct +echo 0x09 > bDeviceClass +echo 1 > bDeviceProtocol +[ -d strings/0x409 ] || mkdir strings/0x409 +echo 2342 > strings/0x409/serialnumber +echo "sysmocom GmbH" > strings/0x409/manufacturer +echo "sysmoHUB" > strings/0x409/product + +# create config +[ -d configs/c.1 ] || mkdir configs/c.1 +[ -d configs/c.1/strings/0x409 ] || mkdir configs/c.1/strings/0x409 +echo "sysmoHUB config" > configs/c.1/strings/0x409/configuration + +[ -d functions/ffs.usb0 ] || mkdir functions/ffs.usb0 +[ -e configs/c.1/ffs.usb0 ] || ln -s functions/ffs.usb0 configs/c.1 + +[ -d /dev/ffs-hub ] || mkdir /dev/ffs-hub +[ -e /dev/ffs-hub/ep0 ] || mount -t functionfs usb0 /dev/ffs-hub/ + +# enable device, only works after program has opened EP FDs +#echo dummy_udc.0 > UDC + diff --git a/ccid/hub_main_functionfs.c b/ccid/hub_main_functionfs.c new file mode 100644 index 0000000..c019cde --- /dev/null +++ b/ccid/hub_main_functionfs.c @@ -0,0 +1,505 @@ + +#include +#include +#include +#include +#include +#include +#include + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define cpu_to_le16(x) (x) +#define cpu_to_le32(x) (x) +#else +#define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8)) +#define cpu_to_le32(x) \ + ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \ + (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) +#endif + +#define le32_to_cpu(x) le32toh(x) +#define le16_to_cpu(x) le16toh(x) + +enum { + DUSB, +}; + +/*********************************************************************** + * Actual USB Descriptors + ***********************************************************************/ + +static const struct { + struct usb_functionfs_descs_head_v2 header; + __le32 fs_count; + struct { + struct usb_interface_descriptor intf; + struct usb_endpoint_descriptor_no_audio ep_int; + } __attribute__ ((packed)) fs_descs; +} __attribute__ ((packed)) descriptors = { + .header = { + .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), + .flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_ALL_CTRL_RECIP), + .length = cpu_to_le32(sizeof(descriptors)), + }, + .fs_count = cpu_to_le32(2), + .fs_descs = { + .intf = { + .bLength = sizeof(descriptors.fs_descs.intf), + .bDescriptorType = USB_DT_INTERFACE, + .bNumEndpoints = 1, + .bInterfaceClass = USB_CLASS_HUB, + .iInterface = 1, + }, + .ep_int = { + .bLength = sizeof(descriptors.fs_descs.ep_int), + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = 1 | USB_DIR_IN, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = 64, + .bInterval = 12, + }, + }, +}; + +#define STR_INTERFACE_ "Osmocom USB Hub" + +static const struct { + struct usb_functionfs_strings_head header; + struct { + __le16 code; + const char str1[sizeof(STR_INTERFACE_)]; + } __attribute__((packed)) lang0; +} __attribute__((packed)) strings = { + .header = { + .magic = cpu_to_le32(FUNCTIONFS_STRINGS_MAGIC), + .length = cpu_to_le32(sizeof(strings)), + .str_count = cpu_to_le32(1), + .lang_count = cpu_to_le32(1), + }, + .lang0 = { + cpu_to_le16(0x0409), /* en-us */ + STR_INTERFACE_, + }, +}; + + +struct usb2_hub_desc_header { + __u8 bDescLength; + __u8 bDescriptorType; + __u8 bNbrPorts; + __le16 wHubCharacteristics; + __u8 bPwrOn2PwrGood; + __u8 bHubContrCurrent; + __u8 data[0]; +}; + +#define NUM_PORTS 31 +#define HDESC_ARR_BYTES ((NUM_PORTS + 1 + 7) / 8) +static const struct { + struct usb2_hub_desc_header hdr; + uint8_t DeviceRemovable[HDESC_ARR_BYTES]; + uint8_t PortPwrCtrlMask[HDESC_ARR_BYTES]; +} __attribute__ ((packed)) hub_desc = { + .hdr = { + .bDescLength = sizeof(hub_desc), + .bDescriptorType = USB_DT_HUB, + .bNbrPorts = NUM_PORTS, + .wHubCharacteristics = cpu_to_le16(0x0001), + .bPwrOn2PwrGood = 100, + .bHubContrCurrent = 0, + }, +}; + + +/*********************************************************************** + * USB FunctionFS interface + ***********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef FUNCTIONFS_SUPPORTS_POLL +#include +struct aio_help { + struct msgb *msg; + struct iocb *iocb; +}; +#endif + +/* usb function handle */ +struct ufunc_handle { + struct osmo_fd ep0; + struct osmo_fd ep_int; + struct llist_head ep_int_queue; +#ifndef FUNCTIONFS_SUPPORTS_POLL + struct osmo_fd aio_evfd; + io_context_t aio_ctx; + struct aio_help aio_int; +#endif +}; + +static int ep_int_cb(struct osmo_fd *ofd, unsigned int what) +{ + LOGP(DUSB, LOGL_DEBUG, "%s\n", __func__); + return 0; +} + +const struct value_string ffs_evt_type_names[] = { + { FUNCTIONFS_BIND, "BIND" }, + { FUNCTIONFS_UNBIND, "UNBIND" }, + { FUNCTIONFS_ENABLE, "ENABLE" }, + { FUNCTIONFS_DISABLE, "DISABLE" }, + { FUNCTIONFS_SETUP, "SETUP" }, + { FUNCTIONFS_SUSPEND, "SUSPEND" }, + { FUNCTIONFS_RESUME, "RESUME" }, + { 0, NULL } +}; + +/* local, stand-alone definition of a USB control request */ +struct _usb_ctrl_req { + uint8_t bRequestType; + uint8_t bRequest; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; +} __attribute__ ((packed));; + +/* class requests from the USB 2.0 hub spec, table 11-15 */ +#define HUB_CLASS_REQ(dir, type, request) ((((dir) | (type)) << 8) | (request)) +/* GetBusState and SetHubDescriptor are optional, omitted */ +#define ClearHubFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_HUB, USB_REQ_CLEAR_FEATURE) +#define ClearPortFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_PORT, USB_REQ_CLEAR_FEATURE) +#define GetHubDescriptor HUB_CLASS_REQ(USB_DIR_IN, USB_RT_HUB, USB_REQ_GET_DESCRIPTOR) +#define GetHubStatus HUB_CLASS_REQ(USB_DIR_IN, USB_RT_HUB, USB_REQ_GET_STATUS) +#define GetPortStatus HUB_CLASS_REQ(USB_DIR_IN, USB_RT_PORT, USB_REQ_GET_STATUS) +#define SetHubFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_HUB, USB_REQ_SET_FEATURE) +#define SetPortFeature HUB_CLASS_REQ(USB_DIR_OUT, USB_RT_PORT, USB_REQ_SET_FEATURE) + +static const struct value_string hub_class_spec_req_vals[] = { + OSMO_VALUE_STRING(USB_REQ_CLEAR_FEATURE), + OSMO_VALUE_STRING(USB_REQ_GET_DESCRIPTOR), + OSMO_VALUE_STRING(USB_REQ_GET_STATUS), + OSMO_VALUE_STRING(USB_REQ_SET_FEATURE), + { 0, NULL } +}; + +#define CCID_CTRL_RET_INVALID -1 +#define CCID_CTRL_RET_UNKNOWN -2 +#define CCID_CTRL_RET_OK 0 + +/*! Handle [class specific] CTRL request. We assume the caller has already verified that the + * request was made to the correct interface as well as it is a class-specific request. + * \param[in] ci CCID Instance for which CTRL request was received + * \param[in] ctrl_req buffer holding the 8 bytes CTRL transfer header + * \param[out] data_in data to be returned to the host in the IN transaction (if any) + * \returns CCID_CTRL_RET_OK, CCID_CTRL_RET_INVALID or CCID_CTRL_RET_UNKNOWN + */ +int hub_handle_ctrl(void *ci, const uint8_t *ctrl_req, const uint8_t **data_in) +{ + const struct _usb_ctrl_req *req = (const struct _usb_ctrl_req *) ctrl_req; + static uint16_t status[2]; + int rc; + + LOGP(DUSB, LOGL_NOTICE, "CTRL bmReqT=0x%02X bRequest=%s, wValue=0x%04X, wIndex=0x%04X, wLength=%d\n", + req->bRequestType, get_value_string(hub_class_spec_req_vals, req->bRequest), + req->wValue, req->wIndex, req->wLength); + + switch (req->bRequestType & 0x7f) { + case USB_RT_HUB: + switch (req->bRequest) { + case USB_REQ_GET_DESCRIPTOR: + if (req->wIndex != 0) { + LOGP(DUSB, LOGL_ERROR, "GET_DESC wIndex invalid\n"); + return CCID_CTRL_RET_INVALID; + } + if (0) // ctrl_req->wValue != FIXME + return CCID_CTRL_RET_INVALID; + *data_in = (const uint8_t *) &hub_desc; + return sizeof(hub_desc); + case USB_REQ_CLEAR_FEATURE: + switch (req->wValue) { + case C_HUB_LOCAL_POWER: + case C_HUB_OVER_CURRENT: + return CCID_CTRL_RET_OK; + } + break; + case USB_REQ_GET_STATUS: + status[0] = cpu_to_le16(HUB_STATUS_LOCAL_POWER); + status[1] = cpu_to_le16(0); + *data_in = (const uint8_t *) status; + return sizeof(status); + case USB_REQ_SET_FEATURE: + if (req->wValue > 1) + return CCID_CTRL_RET_INVALID; + return CCID_CTRL_RET_OK; + } + break; + case USB_RT_PORT: + switch (req->bRequest) { + case USB_REQ_CLEAR_FEATURE: + switch (req->wValue) { + case USB_PORT_FEAT_CONNECTION: + case USB_PORT_FEAT_ENABLE: + case USB_PORT_FEAT_SUSPEND: + case USB_PORT_FEAT_OVER_CURRENT: + case USB_PORT_FEAT_RESET: + case USB_PORT_FEAT_L1: + case USB_PORT_FEAT_POWER: + case USB_PORT_FEAT_LOWSPEED: + case USB_PORT_FEAT_C_CONNECTION: + case USB_PORT_FEAT_C_ENABLE: + case USB_PORT_FEAT_C_SUSPEND: + case USB_PORT_FEAT_C_OVER_CURRENT: + case USB_PORT_FEAT_C_RESET: + case USB_PORT_FEAT_TEST: + case USB_PORT_FEAT_C_PORT_L1: + return CCID_CTRL_RET_OK; + } + break; + case USB_REQ_GET_STATUS: + status[0] = cpu_to_le16(0); + status[1] = cpu_to_le16(0); + *data_in = (const uint8_t *) status; + return sizeof(status); + case USB_REQ_SET_FEATURE: + //selector = wIndex >> 8 + //port = wIndex & 0xff + return CCID_CTRL_RET_OK; + } + } + return CCID_CTRL_RET_UNKNOWN; +} + +static void handle_setup(int fd, const struct usb_ctrlrequest *setup) +{ + const uint8_t *data_in = NULL; + int rc; + + LOGP(DUSB, LOGL_NOTICE, "EP0 SETUP bRequestType=0x%02x, bRequest=0x%02x wValue=0x%04x, " + "wIndex=0x%04x, wLength=%u\n", setup->bRequestType, setup->bRequest, + le16_to_cpu(setup->wValue), le16_to_cpu(setup->wIndex), le16_to_cpu(setup->wLength)); + + rc = hub_handle_ctrl(NULL, (const uint8_t *) setup, &data_in); + switch (rc) { + case CCID_CTRL_RET_INVALID: + if (setup->bRequestType & USB_DIR_IN) + read(fd, NULL, 0); /* cause stall */ + else + write(fd, NULL, 0); /* cause stall */ + break; + case CCID_CTRL_RET_UNKNOWN: + /* FIXME: is this correct behavior? */ + if (setup->bRequestType & USB_DIR_IN) + write(fd, NULL, 0); /* send ZLP */ + else + read(fd, NULL, 0); + break; + default: + if (setup->bRequestType & USB_DIR_IN) { + uint16_t len = rc; + if (setup->wLength < len) + len = setup->wLength; + LOGP(DUSB, LOGL_NOTICE, "Writing %u: %s\n", len, osmo_hexdump_nospc(data_in, len)); + write(fd, data_in, le16_to_cpu(len)); + } else + read(fd, NULL, 0); /* FIXME: control OUT? */ + break; + } +} + +static int ep_0_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct ufunc_handle *uh = (struct ufunc_handle *) ofd->data; + int rc; + + if (what & BSC_FD_READ) { + struct usb_functionfs_event evt; + rc = read(ofd->fd, (uint8_t *)&evt, sizeof(evt)); + if (rc < sizeof(evt)) + return -23; + LOGP(DUSB, LOGL_NOTICE, "EP0 %s\n", get_value_string(ffs_evt_type_names, evt.type)); + switch (evt.type) { + case FUNCTIONFS_ENABLE: + //aio_refill_out(uh); + break; + case FUNCTIONFS_SETUP: + handle_setup(ofd->fd, &evt.u.setup); + break; + } + + } + return 0; +} + +#ifndef FUNCTIONFS_SUPPORTS_POLL + +/* dequeue the next msgb from ep_int_queue and set up AIO for it */ +static void dequeue_aio_write_int(struct ufunc_handle *uh) +{ + struct aio_help *ah = &uh->aio_int; + struct msgb *d; + int rc; + + if (ah->msg) + return; + + d = msgb_dequeue(&uh->ep_int_queue); + if (!d) + return; + + OSMO_ASSERT(ah->iocb); + ah->msg = d; + io_prep_pwrite(ah->iocb, uh->ep_int.fd, msgb_data(d), msgb_length(d), 0); + io_set_eventfd(ah->iocb, uh->aio_evfd.fd); + rc = io_submit(uh->aio_ctx, 1, &ah->iocb); + OSMO_ASSERT(rc >= 0); +} + +static int evfd_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct ufunc_handle *uh = (struct ufunc_handle *) ofd->data; + struct io_event evt[1]; + struct msgb *msg; + uint64_t ev_cnt; + int i, rc; + + rc = read(ofd->fd, &ev_cnt, sizeof(ev_cnt)); + assert(rc == sizeof(ev_cnt)); + + rc = io_getevents(uh->aio_ctx, 1, 1, evt, NULL); + if (rc <= 0) { + LOGP(DUSB, LOGL_ERROR, "error in io_getevents(): %d\n", rc); + return rc; + } + + for (i = 0; i < rc; i++) { + int fd = evt[i].obj->aio_fildes; + if (fd == uh->ep_int.fd) { + /* interrupt endpoint AIO has completed. This means the IRQ transfer + * which we generated has reached the host */ + LOGP(DUSB, LOGL_DEBUG, "IRQ AIO completed, free()ing msgb\n"); + msgb_free(uh->aio_int.msg); + uh->aio_int.msg = NULL; + dequeue_aio_write_int(uh); + } + } + return 0; +} +#endif + + +static int ep0_init(struct ufunc_handle *uh) +{ + int rc; + + /* open control endpoint and write descriptors to it */ + rc = open("ep0", O_RDWR); + assert(rc >= 0); + osmo_fd_setup(&uh->ep0, rc, BSC_FD_READ, &ep_0_cb, uh, 0); + osmo_fd_register(&uh->ep0); + rc = write(uh->ep0.fd, &descriptors, sizeof(descriptors)); + if (rc != sizeof(descriptors)) { + LOGP(DUSB, LOGL_ERROR, "Cannot write descriptors: %s\n", strerror(errno)); + return -1; + } + rc = write(uh->ep0.fd, &strings, sizeof(strings)); + if (rc != sizeof(strings)) { + LOGP(DUSB, LOGL_ERROR, "Cannot write strings: %s\n", strerror(errno)); + return -1; + } + + /* open other endpoint file descriptors */ + INIT_LLIST_HEAD(&uh->ep_int_queue); + rc = open("ep1", O_RDWR); + assert(rc >= 0); + osmo_fd_setup(&uh->ep_int, rc, 0, &ep_int_cb, uh, 1); +#ifdef FUNCTIONFS_SUPPORTS_POLL + osmo_fd_register(&uh->ep_int); +#endif + +#ifndef FUNCTIONFS_SUPPORTS_POLL +#include + /* for some absolutely weird reason, gadgetfs+functionfs don't support + * the standard methods of non-blocking I/o (select/poll). We need to + * work around using Linux AIO, which is not to be confused with POSIX AIO! */ + + memset(&uh->aio_ctx, 0, sizeof(uh->aio_ctx)); + rc = io_setup(1, &uh->aio_ctx); + OSMO_ASSERT(rc >= 0); + + /* create an eventfd, which will be marked readable once some AIO completes */ + rc = eventfd(0, 0); + OSMO_ASSERT(rc >= 0); + osmo_fd_setup(&uh->aio_evfd, rc, BSC_FD_READ, &evfd_cb, uh, 0); + osmo_fd_register(&uh->aio_evfd); + + uh->aio_int.iocb = malloc(sizeof(struct iocb)); +#endif + + return 0; +} + +static const struct log_info_cat log_info_cat[] = { + [DUSB] = { + .name = "USB", + .description = "USB Transport", + .enabled = 1, + .loglevel = LOGL_NOTICE, + }, +}; + +static const struct log_info log_info = { + .cat = log_info_cat, + .num_cat = ARRAY_SIZE(log_info_cat), +}; + +static void *tall_main_ctx; + +static void signal_handler(int signal) +{ + switch (signal) { + case SIGUSR1: + talloc_report_full(tall_main_ctx, stderr); + break; + } +} + + +int main(int argc, char **argv) +{ + struct ufunc_handle ufh = (struct ufunc_handle) { 0, }; + int rc; + + tall_main_ctx = talloc_named_const(NULL, 0, "hub_main_functionfs"); + msgb_talloc_ctx_init(tall_main_ctx, 0); + osmo_init_logging2(tall_main_ctx, &log_info); + + signal(SIGUSR1, &signal_handler); + + if (argc < 2) { + fprintf(stderr, "You have to specify the mount-path of the functionfs\n"); + exit(2); + } + + chdir(argv[1]); + rc = ep0_init(&ufh); + if (rc < 0) { + fprintf(stderr, "Error %d\n", rc); + exit(1); + } + + while (1) { + osmo_select_main(0); + } +} diff --git a/ccid/hub_remove_gadget.sh b/ccid/hub_remove_gadget.sh new file mode 100755 index 0000000..e206d6f --- /dev/null +++ b/ccid/hub_remove_gadget.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +GADGET_NAME=osmo-hub + +GADGET_CONFIGFS=/sys/kernel/config/usb_gadget + +set -e +set -x + +gadgetdir="$GADGET_CONFIGFS/$GADGET_NAME" + +# unmount the endpoints from the filesystem +umount /dev/ffs-hub + +# detach from USB gadget/bus +echo "" > "$gadgetdir/UDC" || true + +# remove function from config +rm "$gadgetdir/configs/c.1/ffs.usb0" + +# remove strings in config +rmdir "$gadgetdir/configs/c.1/strings/0x409" + +# remove config +rmdir "$gadgetdir/configs/c.1" + +# remove function +rmdir "$gadgetdir/functions/ffs.usb0" + +# remove strings in gadget +rmdir "$gadgetdir/strings/0x409" + +rmdir $gadgetdir -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ic3d2bec3f55f4d9e13183795c5825723f9427476 Gerrit-Change-Number: 15499 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 24 01:57:18 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 01:57:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d89780ca72ea_1ff62acb6fed25f0948273@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 438s] ar: `u' modifier ignored since `D' is the default (see `U') [ 438s] libtool: link: ranlib .libs/libtransceiver_common.a [ 438s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 438s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 438s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 438s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 438s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 438s] collect2: error: ld returned 1 exit status [ 438s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 438s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 438s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 438s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 438s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 438s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 438s] make[1]: *** [Makefile:444: all] Error 2 [ 438s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 438s] dh_auto_build: make -j1 returned exit code 2 [ 438s] make: *** [debian/rules:6: build] Error 255 [ 438s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 438s] [ 438s] lamb01 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 01:57:01 UTC 2019. [ 438s] [ 438s] ### VM INTERACTION START ### [ 441s] [ 421.973511] sysrq: SysRq : Power Off [ 441s] [ 421.979986] reboot: Power down [ 442s] ### VM INTERACTION END ### [ 442s] [ 442s] lamb01 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 01:57:05 UTC 2019. [ 442s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 24 01:59:35 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 01:59:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d89789edbbad_1ff62acb6fed25f094853a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 631s] ar: `u' modifier ignored since `D' is the default (see `U') [ 631s] libtool: link: ranlib .libs/libtransceiver_common.a [ 631s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 631s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 631s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 631s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 631s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 631s] collect2: error: ld returned 1 exit status [ 631s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 631s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 631s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 631s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 631s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 631s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 631s] make[1]: *** [Makefile:444: all] Error 2 [ 631s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 631s] dh_auto_build: make -j1 returned exit code 2 [ 631s] make: *** [debian/rules:6: build] Error 255 [ 631s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 631s] [ 631s] lamb18 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 01:59:20 UTC 2019. [ 631s] [ 631s] ### VM INTERACTION START ### [ 634s] [ 611.088525] sysrq: SysRq : Power Off [ 634s] [ 611.095786] reboot: Power down [ 634s] ### VM INTERACTION END ### [ 634s] [ 634s] lamb18 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 01:59:24 UTC 2019. [ 634s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 24 02:41:36 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 02:41:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d89826f267d5_1ff62acb6fed25f095224b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 435s] ar: `u' modifier ignored since `D' is the default (see `U') [ 435s] libtool: link: ranlib .libs/libtransceiver_common.a [ 435s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 435s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 435s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 436s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 436s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 436s] collect2: error: ld returned 1 exit status [ 436s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 436s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 436s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 436s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 436s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 436s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 436s] make[1]: *** [Makefile:444: all] Error 2 [ 436s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 436s] dh_auto_build: make -j1 returned exit code 2 [ 436s] make: *** [debian/rules:6: build] Error 255 [ 436s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 436s] [ 436s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 02:41:18 UTC 2019. [ 436s] [ 436s] ### VM INTERACTION START ### [ 439s] [ 420.702164] sysrq: SysRq : Power Off [ 439s] [ 420.720609] reboot: Power down [ 439s] ### VM INTERACTION END ### [ 439s] [ 439s] lamb02 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 02:41:22 UTC 2019. [ 439s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 24 06:12:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 06:12:11 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 4: Verified+1 (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG at 11 PS3, Line 11: tests won't build out of : the box with GCC-4.9.x from jessie I guess you were not building with -Werror. The jenkins build has it enabled. When running on the jenkins host (stretch), it works fine. When running in docker with the current image (jessie), it fails with: > /build/tests/gsm29205/gsm29205_test.c: In function ?test_gcr?: > /build/tests/gsm29205/gsm29205_test.c:47:9: error: missing braces around initializer [-Werror=missing-braces] > struct osmo_gcr_parsed p = { 0 }, g = { https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore/2232/a2=default,a3=default,a4=default,arch=amd64,label=osmocom-gerrit-debian9/consoleFull (In the above build, I had temporarily uploaded a jenkins config that made libosmocore use docker, search for "docker run".) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 06:12:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:22:29 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 24 Sep 2019 07:22:29 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 07:22:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:26:07 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 24 Sep 2019 07:26:07 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 07:26:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 24 07:27:36 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 07:27:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d89c5754f674_1ff62acb6fed25f0102316@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 418s] ar: `u' modifier ignored since `D' is the default (see `U') [ 418s] libtool: link: ranlib .libs/libtransceiver_common.a [ 419s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 419s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 419s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 419s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 419s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 419s] collect2: error: ld returned 1 exit status [ 419s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 419s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 419s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 419s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 419s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 419s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 419s] make[1]: *** [Makefile:444: all] Error 2 [ 419s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 419s] dh_auto_build: make -j1 returned exit code 2 [ 419s] make: *** [debian/rules:6: build] Error 255 [ 419s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 419s] [ 419s] lamb13 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 07:27:28 UTC 2019. [ 419s] [ 419s] ### VM INTERACTION START ### [ 422s] [ 404.601328] sysrq: SysRq : Power Off [ 422s] [ 404.607788] reboot: Power down [ 422s] ### VM INTERACTION END ### [ 422s] [ 422s] lamb13 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 07:27:31 UTC 2019. [ 422s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:30:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 07:30:15 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 07:30:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:30:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 07:30:23 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: add docker_{run, img} vars In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/15582 ) Change subject: gerrit, master builds: add docker_{run,img} vars ...................................................................... gerrit, master builds: add docker_{run,img} vars Move the common "docker run" invocation and image name into one place, so it is not duplicated over and over. This prepares for changing the image and building all Osmocom projects in docker (follow up patches). Related: OS#3726 Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 57 insertions(+), 173 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index c5aae68..0f97c23 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -20,6 +20,23 @@ combination_filter: '' sequential: false # most common build invocation + docker_run: | + ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" + mkdir -p "$ARTIFACT_STORE" + docker run --rm=true \ + -e ARTIFACT_STORE=/artifact_store \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e PATH="$PATH:/build_bin" \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ + -v "$ARTIFACT_STORE:/artifact_store" \ + docker_img: 'osmocom:amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/{repos}' gerrit_project: '{repos}' @@ -30,16 +47,7 @@ - cellmgr-ng: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - libasn1c - libgtpnl @@ -67,26 +75,11 @@ a3: !!python/tuple [--disable-iu] concurrent: true cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - openggsn: a1_name: GTP @@ -95,18 +88,7 @@ - osmo-bsc: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -148,18 +130,7 @@ - osmo-mgw: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-msc: a1_name: IU @@ -171,23 +142,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true -i \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -w /build -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-pcap @@ -209,19 +167,12 @@ (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-python-tests: repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/python/{repos}' @@ -237,18 +188,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sip-connector: cmd: WITH_MANUALS=1 ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 9374391..8651337 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -19,6 +19,25 @@ combination_filter: '' sequential: false # most common build invocation (PUBLISH=1 is prepended to publish manual PDFs) + docker_run: | + ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" + mkdir -p "$ARTIFACT_STORE" + docker run --rm=true \ + -e ARTIFACT_STORE=/artifact_store \ + -e ASCIIDOC_WARNINGS_CHECK="1" \ + -e HOME=/build \ + -e JOB_NAME="$JOB_NAME" \ + -e MAKE=make \ + -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ + -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + -e PATH="$PATH:/build_bin" \ + -e PUBLISH="1" \ + -e WITH_MANUALS="1" \ + -w /build -i -u build \ + -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ + -v "$ARTIFACT_STORE:/artifact_store" \ + -v "$HOME/.ssh:/home/build/.ssh:ro" \ + docker_img: 'osmocom:amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh wrappers: [] trigger: @@ -144,45 +163,15 @@ a3: !!python/tuple [--disable-iu] concurrent: true cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e SMPP="$SMPP" \ -e MGCP="$MGCP" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-bsc: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' - osmo-bts: a1_name: FIRMWARE_VERSION @@ -240,20 +229,7 @@ - osmo-mgw: concurrent: true - cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e WITH_MANUALS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + cmd: '{docker_run} {docker_img} /build/contrib/jenkins.sh' trigger: master-osmo-msc, master-osmo-bsc - osmo-msc: @@ -266,25 +242,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" - mkdir -p "$ARTIFACT_STORE" - docker run --rm=true -i \ - -e HOME=/build \ - -e ARTIFACT_STORE=/artifact_store \ - -e JOB_NAME="$JOB_NAME" \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$ARTIFACT_STORE:/artifact_store" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-pcap @@ -310,22 +271,12 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ -e with_vty="$with_vty" \ -e with_dsp="$with_dsp" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" \ - -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sgsn: a1_name: IU @@ -337,20 +288,10 @@ (IU == "--enable-iu" && WITH_MANUALS == "0") || (IU == "--disable-iu" && WITH_MANUALS == "1") cmd: | - docker run --rm=true \ - -e HOME=/build \ - -e MAKE=make \ - -e PARALLEL_MAKE="$PARALLEL_MAKE" \ + {docker_run} \ -e IU="$IU" \ -e WITH_MANUALS="$WITH_MANUALS" \ - -e PATH="$PATH:/build_bin" \ - -e OSMOPY_DEBUG_TCP_SOCKETS="1" \ - -e PUBLISH="1" \ - -e ASCIIDOC_WARNINGS_CHECK="1" \ - -w /build -i -u build \ - -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ - -v "$HOME/.ssh:/home/build/.ssh:ro" \ - osmocom:amd64 /build/contrib/jenkins.sh + {docker_img} /build/contrib/jenkins.sh - osmo-sip-connector: email: gerrit-log at lists.osmocom.org laforge at gnumonks.org holger at freyther.de -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518 Gerrit-Change-Number: 15582 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:30:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 07:30:59 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 4: Code-Review+2 got 3x +1, so setting it to +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 07:30:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:31:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 07:31:09 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... gerrit, master builds: use stretch, not jessie Debian jessie (8) is EOL already, so switch to stretch (9). This is required to build all Osmocom projects in docker, because at least libosmocore fails to build with the old image (tests won't build with GCC-4.9.x from jessie unless -Werror is disabled). Do not build the jessie image anymore, and update the shared dockerfile. Remove everything jessie specific, and make it work with stretch by installing asciidoc-dblatex. Otherwise we get this error when building manuals: a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl Add '--cap-add SYS_PTRACE' argument to the docker run command, because otherwise the address sanitizer isn't working anymore with stretch (which makes the OsmoPCU tests fail). I've tried to split this patch up into multiple ones, but since there is no asciidoc-dblatex package in jessie, we must add the dependency and switch the image at the same time. Related: OS#3726 Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d --- M docker/Dockerfile_osmocom_jenkins.amd64 M docker/rebuild_osmocom_jenkins_image.sh M jobs/gerrit-verifications.yml M jobs/master-builds.yml 4 files changed, 11 insertions(+), 9 deletions(-) Approvals: osmith: Looks good to me, approved; Verified daniel: Looks good to me, but someone else must approve diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 index 3f499ad..897db15 100644 --- a/docker/Dockerfile_osmocom_jenkins.amd64 +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -1,10 +1,9 @@ -ARG DEBIAN_VERSION=jessie +ARG DEBIAN_VERSION=stretch FROM debian:${DEBIAN_VERSION} RUN \ - echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && \ dpkg --add-architecture i386 && \ - DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Check-Valid-Until=false update && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget make @@ -29,7 +28,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libortp-dev libpcsclite-dev libsctp-dev libfftw3-dev libsnmp-dev libusb-1.0-0-dev libtalloc-dev libgnutls28-dev # OsmocomBB -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev/jessie-backports +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev # building RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf @@ -38,7 +37,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3-setuptools python-setuptools python3-pip python-pip # for osmo-gsm-manuals -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils asciidoc-dblatex # Linux kernel RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh index c4e3b10..60c516b 100755 --- a/docker/rebuild_osmocom_jenkins_image.sh +++ b/docker/rebuild_osmocom_jenkins_image.sh @@ -22,6 +22,5 @@ build_once "-t" "${tag_name}" "--build-arg" DEBIAN_VERSION="${debian_version}" } -# Create containers using jessie (Debian 8.0) and stretch (Debian 9.0) as base. -build_container osmocom:amd64 jessie +# Create containers using stretch (Debian 9.0) as base. build_container osmocom:deb9_amd64 stretch diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index 0f97c23..693d3c3 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -20,10 +20,12 @@ combination_filter: '' sequential: false # most common build invocation + # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) docker_run: | ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" mkdir -p "$ARTIFACT_STORE" docker run --rm=true \ + --cap-add SYS_PTRACE \ -e ARTIFACT_STORE=/artifact_store \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ @@ -36,7 +38,7 @@ -w /build -i -u build \ -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ -v "$ARTIFACT_STORE:/artifact_store" \ - docker_img: 'osmocom:amd64' + docker_img: 'osmocom:deb9_amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh repos_url: 'ssh://jenkins at gerrit.osmocom.org:29418/{repos}' gerrit_project: '{repos}' diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index 8651337..5a47028 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -19,10 +19,12 @@ combination_filter: '' sequential: false # most common build invocation (PUBLISH=1 is prepended to publish manual PDFs) + # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764) docker_run: | ARTIFACT_STORE="$HOME/jenkins_build_artifact_store" mkdir -p "$ARTIFACT_STORE" docker run --rm=true \ + --cap-add SYS_PTRACE \ -e ARTIFACT_STORE=/artifact_store \ -e ASCIIDOC_WARNINGS_CHECK="1" \ -e HOME=/build \ @@ -37,7 +39,7 @@ -v "$PWD:/build" -v "$HOME/bin:/build_bin" \ -v "$ARTIFACT_STORE:/artifact_store" \ -v "$HOME/.ssh:/home/build/.ssh:ro" \ - docker_img: 'osmocom:amd64' + docker_img: 'osmocom:deb9_amd64' cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh wrappers: [] trigger: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 24 07:32:45 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 07:32:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d89c6a19c25c_1ff62acb6fed25f0102479f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 469s] ar: `u' modifier ignored since `D' is the default (see `U') [ 469s] libtool: link: ranlib .libs/libtransceiver_common.a [ 469s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 469s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 469s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 469s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 469s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 469s] collect2: error: ld returned 1 exit status [ 469s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 469s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 469s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 469s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 469s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 469s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 469s] make[1]: *** [Makefile:444: all] Error 2 [ 469s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 469s] dh_auto_build: make -j1 returned exit code 2 [ 470s] make: *** [debian/rules:6: build] Error 255 [ 470s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 470s] [ 470s] build33 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 07:32:36 UTC 2019. [ 470s] [ 470s] ### VM INTERACTION START ### [ 473s] [ 445.699171] sysrq: SysRq : Power Off [ 473s] [ 445.701807] reboot: Power down [ 474s] ### VM INTERACTION END ### [ 474s] [ 474s] build33 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 07:32:41 UTC 2019. [ 474s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:41:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 07:41:58 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: make all jobs concurrent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15585 ) Change subject: gerrit, master builds: make all jobs concurrent ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add Gerrit-Change-Number: 15585 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 07:41:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 07:44:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 07:44:21 +0000 Subject: Change in ...pysim[master]: cards.py: unify card programming In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15501 ) Change subject: cards.py: unify card programming ...................................................................... Patch Set 5: Code-Review+1 Looks fine to me. I can give you sysmoSIM-GR1, GR2 and magicSIM samples, but I don't think I have other cards to test with. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 07:44:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 08:52:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 24 Sep 2019 08:52:40 +0000 Subject: Change in ...libosmocore[master]: gsm29205_test: fix error: missing braces around initializer Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15595 Change subject: gsm29205_test: fix error: missing braces around initializer ...................................................................... gsm29205_test: fix error: missing braces around initializer Since structure 'osmo_gcr_parsed' does contain arrays, GCC is not happy about the way we initialize it. Let's do it explicitly. Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 --- M tests/gsm29205/gsm29205_test.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/95/15595/1 diff --git a/tests/gsm29205/gsm29205_test.c b/tests/gsm29205/gsm29205_test.c index 5add1b1..44c3453 100644 --- a/tests/gsm29205/gsm29205_test.c +++ b/tests/gsm29205/gsm29205_test.c @@ -44,7 +44,13 @@ }; uint8_t len; struct msgb *msg; - struct osmo_gcr_parsed p = { 0 }, g = { + struct osmo_gcr_parsed p = { + .net_len = 0, + .net = { 0 }, + .node = 0x00, + .cr = { 0 }, + }; + struct osmo_gcr_parsed g = { .net_len = 3, .net = { 0x51, 0x52, 0x53 }, .node = 0xDEAD, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 Gerrit-Change-Number: 15595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 08:53:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 24 Sep 2019 08:53:05 +0000 Subject: Change in ...osmo-ci[master]: gerrit, master builds: use stretch, not jessie In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/15583 ) Change subject: gerrit, master builds: use stretch, not jessie ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15583/3//COMMIT_MSG at 11 PS3, Line 11: tests won't build out of : the box with GCC-4.9.x from jessie > I guess you were not building with -Werror. The jenkins build has it enabled. [?] Ok, you're right. With '--enable-werror' it fails to build tests: gsm29205/gsm29205_test.c: In function ?test_gcr?: gsm29205/gsm29205_test.c:47:9: error: missing braces around initializer [-Werror=missing-braces] struct osmo_gcr_parsed p = { 0 }, g = { gsm29205/gsm29205_test.c:47:9: error: (near initialization for ?p.net?) [-Werror=missing-braces] Please see: https://gerrit.osmocom.org/c/libosmocore/+/15595 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/15583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d Gerrit-Change-Number: 15583 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 08:53:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:02:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Sep 2019 09:02:05 +0000 Subject: Change in ...libosmocore[master]: gsm29205_test: fix error: missing braces around initializer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15595 ) Change subject: gsm29205_test: fix error: missing braces around initializer ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 Gerrit-Change-Number: 15595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 09:02:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:05:38 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Sep 2019 09:05:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Cosmetic: Fix comment Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 Change subject: Cosmetic: Fix comment ...................................................................... Cosmetic: Fix comment Change-Id: Ie1c80d951ea2f8e3e154beb5623aa0d5f5874a60 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/15596/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7499456..7c4ac51 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4858,9 +4858,9 @@ /* Even on a failed paging the SGs Association should stay intact */ f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-ASSOCIATED"); - /* Note: We do not execute f_sgsap_bssmap_screening() here since the - * MSC/VLR would re-try to deliver the test SMS trigered above and - * so the screening would fail. */ + /* Make sure that the SMS we just inserted is cleared and the + * subscriber is expired. This is necessary because otherwise the MSC + * might re-try the SMS delivery and disturb the following tests. */ f_vty_sms_clear(hex2str(g_pars.imsi)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1c80d951ea2f8e3e154beb5623aa0d5f5874a60 Gerrit-Change-Number: 15596 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:05:38 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Sep 2019 09:05:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 Change subject: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout When a paging for a CS-Call times out the MSC/VLR is expected to send an SGsAP-SERVICE-ABORT-REQUEST to the MME to indicate that the paging has timed out. This is not taken into accound yet by TTCN3 test TC_sgsap_paging_and_nothing Related: OS#3614 Depends: osmo-msc I3f8f153afe24cf2efa245713509bdc8488902877 Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a --- M msc/MSC_Tests.ttcn 1 file changed, 21 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/15597/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7c4ac51..063105c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4491,6 +4491,7 @@ var octetstring vlr_name := f_enc_dns_hostname(mp_vlr_name); var template PDU_SGsAP exp_resp := tr_SGsAP_PAGING_REQ(g_pars.imsi, vlr_name, CS_call_indicator, omit); + var template PDU_SGsAP exp_serv_abrt := ts_SGsAP_SERVICE_ABORT_REQ(g_pars.imsi); var template LocationAreaId exp_lai := ts_SGsAP_IE_Lai(valueof(ts_SGsAP_LAI('901'H, '70'H, 2342))); exp_resp.sGsAP_PAGING_REQUEST.locationAreaId := exp_lai; @@ -4505,9 +4506,26 @@ } } - /* Now do nothing, the MSC/VLR should fail silently to page after a - * few seconds, The SGs association must remain unchanged. */ - f_sleep(15.0); + /* While we are doing nothing, expect an SGsAP-SERVICE-ABORT-REQUEST + * after some time */ + timer T := 10.0; + T.start + alt { + [] SGsAP.receive(exp_serv_abrt) + { + setverdict(pass); + } + [] SGsAP.receive { + setverdict(fail, "unexpected SGsAP message received"); + self.stop; + } + [] T.timeout { + setverdict(fail, "MSC did not send SGsAP-SERVICE-ABORT-REQUEST"); + self.stop; + } + } + + /* The SGs association must remain unchanged. */ f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-ASSOCIATED"); f_sgsap_bssmap_screening(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a Gerrit-Change-Number: 15597 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:05:59 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Sep 2019 09:05:59 +0000 Subject: Change in ...osmo-msc[master]: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15598 Change subject: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout When pagig for a CS-Call via SGs times out, the MME expects to be informed about this via an SGsAP-SERVICE-ABORT-REQUEST, make sure this message is sent, but only for CS-Fallback calls. Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Depends: osmo-ttcn3-hacks I99950a17ccf26aaa0eebded5480f33be4c57586a Related: OS#3614 --- M include/osmocom/msc/sgs_iface.h M src/libmsc/paging.c M src/libmsc/sgs_iface.c 3 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/98/15598/1 diff --git a/include/osmocom/msc/sgs_iface.h b/include/osmocom/msc/sgs_iface.h index 575468e..a319663 100644 --- a/include/osmocom/msc/sgs_iface.h +++ b/include/osmocom/msc/sgs_iface.h @@ -89,4 +89,5 @@ int sgs_iface_tx_paging(struct vlr_subscr *vsub, enum sgsap_service_ind serv_ind); int sgs_iface_tx_dtap_ud(struct msc_a *msc_a, struct msgb *msg); void sgs_iface_tx_release(struct vlr_subscr *vsub); +void sgs_iface_tx_serv_abrt(struct vlr_subscr *vsub); diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 182b036..743ce5c 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -49,6 +49,10 @@ static void paging_response_timer_cb(void *data) { struct vlr_subscr *vsub = data; + + if (vsub->cs.attached_via_ran == OSMO_RAT_EUTRAN_SGS) + sgs_iface_tx_serv_abrt(vsub); + paging_expired(vsub); } diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index b12991c..2a37f4f 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1258,6 +1258,28 @@ sgs_tx(mme->conn, msg_sgs); } +/*! Send SGsAP-SERVICE-ABORT-REQUEST message to MME + * \param[in] vsub subscriber context */ +void sgs_iface_tx_serv_abrt(struct vlr_subscr *vsub) +{ + struct msgb *msg_sgs; + struct sgs_mme_ctx *mme; + + OSMO_ASSERT(vsub); + + /* The service abort procedure is only defined for MT calls, + * see also 3GPP TS 29.118, chapter 5.13.2 */ + if (vsub->sgs.paging_serv_ind != SGSAP_SERV_IND_CS_CALL) + return; + + mme = sgs_mme_ctx_by_vsub(vsub, SGSAP_MSGT_DL_UD); + if (!mme) + return; + + msg_sgs = gsm29118_create_service_abort_req(vsub->imsi); + sgs_tx(mme->conn, msg_sgs); +} + /*! initalize SGs new interface * \param[in] ctx talloc context * \param[in] network associated gsm network -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Gerrit-Change-Number: 15598 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:11:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 09:11:29 +0000 Subject: Change in ...libosmocore[master]: gsm29205_test: fix error: missing braces around initializer In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15595 ) Change subject: gsm29205_test: fix error: missing braces around initializer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 Gerrit-Change-Number: 15595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Sep 2019 09:11:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Sep 2019 09:17:54 +0000 Subject: Change in ...pysim[master]: cards.py: unify card programming In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15501 ) Change subject: cards.py: unify card programming ...................................................................... Patch Set 5: > Patch Set 5: Code-Review+1 > > Looks fine to me. I can give you sysmoSIM-GR1, GR2 and magicSIM samples, but I don't think I have other cards to test with. I already have those cards, I looked in cards.py now I am missing the following three: SysmoUSIMgr1 OpenCellsSim FairwavesSIM -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 09:17:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 09:48:46 2019 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Sep 2019 09:48:46 +0000 Subject: Change in ...osmo-msc[master]: sgs_iface: Accept messages with unknown TLV elements Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/15599 Change subject: sgs_iface: Accept messages with unknown TLV elements ...................................................................... sgs_iface: Accept messages with unknown TLV elements 3GPP TS 29.118, chapter 7.5 states that unknown TLV elements should be ignored rather than that the whole message is discarded a STATUS message is sent. Lets turn the returncode check of the tlv_parse() call into a log message and continue normally. Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Related: OS#4214 --- M src/libmsc/sgs_iface.c 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/99/15599/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index b12991c..a4527f4 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -945,10 +945,8 @@ /* Parse TLV elements */ rc = tlv_parse(&tp, &sgsap_ie_tlvdef, msgb_l2(msg) + 1, msgb_l2len(msg) - 1, 0, 0); - if (rc < 0) { - TX_STATUS_AND_LOG(sgc, msg_type, SGSAP_SGS_CAUSE_SEMANT_INCORR_MSG, "SGsAP Message %s parsing error\n"); - goto error; - } + if (rc < 0) + LOGSGC(sgc, LOGL_NOTICE, "SGsAP Message %s contains unknown TLV IEs\n", sgsap_msg_type_name(msg_type)); /* Most of the messages contain an IMSI as mandatory IE, parse it right here */ if (!TLVP_PRESENT(&tp, SGSAP_IE_IMSI) && -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Gerrit-Change-Number: 15599 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 10:21:32 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 24 Sep 2019 10:21:32 +0000 Subject: Change in ...osmo-msc[master]: sgs_iface: Accept messages with unknown TLV elements In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15599 ) Change subject: sgs_iface: Accept messages with unknown TLV elements ...................................................................... Patch Set 1: Code-Review-1 (1 comment) We should clearly distinguish presence of unknown IEs and other parsing errors. https://gerrit.osmocom.org/#/c/15599/1/src/libmsc/sgs_iface.c File src/libmsc/sgs_iface.c: https://gerrit.osmocom.org/#/c/15599/1/src/libmsc/sgs_iface.c at 947 PS1, Line 947: tlv_parse What if a received message is malformed somehow? Is there any specific value that is returned by tlv_parse() if a massage is correct, but contains unknown IEs? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Gerrit-Change-Number: 15599 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 24 Sep 2019 10:21:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 11:59:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Sep 2019 11:59:35 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: Code-Review-2 > > Sorry, I had assumed, that in OsmoBTS, this L1 SAPI logging would > > only be relevant for the BTS<-->PCU socket, and therefore thought > > the appropriate log context would be what is defined with > > PCU_IF_SAPI_*. > > I wonder where that impression was raised? The L1 is not used only by the PCU, > but by all of OsmoBTS. I ran "git grep SAPI" in osmo-bts.git, and got the most matches inside the common dir in pcu_sock.c. But I know now, that I should have researched it better. > > * set the log context in other places in OSmoBTS, that are not > > related to the PCU (that must be the other side, when talking to > > hardware backends) > > You need to set that value for every L1P (and possibly L1C?) primitive received from the > respective PHY, as soon as possible. That's for the uplink part. For downlink, I > suspect it's sufficient to set it based on chan_nr when received from L1SAP. What I'm still struggling with is, how one should extract the L1 SAPI value from every L1P/L1C primitive. With "as soon as possible" you could either mean in the code of the various PHYs or in common/l1sap.c's l1sap_up() function (because that is the first time, the primitive is passed to the common code). But there is only a "struct osmo_phsap_prim", which does not seem to have the SAPI attached to it. The only relation to the SAPI I can find, is in the "to_gsmtap" function, which gets called in l1sap_up() for *some* types of primitives (but not all of them! so it does not seem suitable for logging?). The to_gsmtap() function then runs one of gsmtap_pdch(), gsmtap_ph_data() or gsmtap_ph_rach(), which in turn set the chan_type variable, and this seems to be the SAPI (as its value comes from gsmtap_sapi_names). So I'm wondering, what is the best way to go forward with this? Modify (and rename) the to_gsmtap function to also set the SAPI log context? (but then what about the cases where to_gsmtap is not called, are they simply irrelevant for setting the log context?) Or am I missing something and there is a feasible way to read the SAPI from the osmo_phsap_prim? Thanks! (Voting with -2 and removing WIP state, because otherwise no mail notifications get sent.) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 24 Sep 2019 11:59:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 11:59:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 11:59:54 +0000 Subject: Change in ...pysim[master]: cards.py: unify card programming In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15501 ) Change subject: cards.py: unify card programming ...................................................................... Patch Set 5: > I looked in cards.py now I am missing the following three: > > SysmoUSIMgr1 I should have those. Pleas remind me next week when I'm back to the office. > OpenCellsSim > FairwavesSIM it makes sense to ask the authors of the respective patches to send us some card samples, as we otherwise cannot maintain that card support in the tree. Please check the git log and contact the respective authors. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib757b1433c075c635fe43542103acae2167a1a15 Gerrit-Change-Number: 15501 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 11:59:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 13:30:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 13:30:21 +0000 Subject: Change in ...osmo-msc[master]: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15598 ) Change subject: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Gerrit-Change-Number: 15598 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 13:30:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 13:30:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 13:30:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Cosmetic: Fix comment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 ) Change subject: Cosmetic: Fix comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1c80d951ea2f8e3e154beb5623aa0d5f5874a60 Gerrit-Change-Number: 15596 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 13:30:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 13:31:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 13:31:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 ) Change subject: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a Gerrit-Change-Number: 15597 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 24 Sep 2019 13:31:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 16:36:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 16:36:00 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: > I ran "git grep SAPI" in osmo-bts.git, and got the most matches > inside the common dir in pcu_sock.c. But I know now, that I should > have researched it better. if you used case insensitive matches you would have found that most matches are outside common. > What I'm still struggling with is, how one should extract the L1 > SAPI value from every L1P/L1C primitive. With "as soon as possible" > you could either mean in the code of the various PHYs or in > common/l1sap.c's l1sap_up() function (because that is the first > time, the primitive is passed to the common code). you must do it in the bts-specific part - not in the PHY, as the PHY is outside of osmo-bts. The rationale for that is quite obvious: It is exactly the tons of log statements (primarily LOGL_DEBUG) in the BTS-specific code that require the filtering. In order for any filtering to be effective, it must be set as soon as possible, before any of those log statements are hit. So to look at osmo-bts-sysmo as an example: l1if_handle_ind() or probably more likely in handle_ph_data_ind(), handle_ph_ra_ind() and handle_ph_readytosend_ind() one would set that filter. In handle_ph_data_ind, the phy/bts-specific SAPI value can be found in data_ind->sapi. You add one function to translate it to some new (common/shared) SAPI enum (if no such enum exists yet) and set the log filter. the main point is that the log context must be set *before* any related log messages are generated, and that is in the downlink transmit direction in the common part, (RSL->LAPDm->common->specific->PHY) and in the uplink receive direction it's the BTS-specific part as the order is inverse. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 24 Sep 2019 16:36:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Sep 24 16:39:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Sep 2019 16:39:34 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI context In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI context ...................................................................... Patch Set 4: actually, as the BTs/PHY-specific SAPI value is translated into a rsl-style chan_nr, it may be possible to simply use that chan_nr for setting the filter. This might reduce the amount of BTS/PHY specific code (translating from PHY-specific SAPI values to yet another common/shared value). However, the chan_nr doesn't fit a bitmask of enabled SAPIs, so it may not be the best choice either. Maybe translate from the chan_nr to an enum? AFAIR, the mapping from L1 SAPI to chan_nr is loosing some information/precision, so this entire current comment might not be the best of ideas. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 24 Sep 2019 16:39:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Sep 24 21:48:24 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 21:48:24 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8a8f2bd392b_1ff62acb6fed25f012429d8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 426s] ar: `u' modifier ignored since `D' is the default (see `U') [ 426s] libtool: link: ranlib .libs/libtransceiver_common.a [ 426s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 426s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 427s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 427s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 427s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 427s] collect2: error: ld returned 1 exit status [ 427s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 427s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 427s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 427s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 427s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 427s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 427s] make[1]: *** [Makefile:444: all] Error 2 [ 427s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 427s] dh_auto_build: make -j1 returned exit code 2 [ 427s] make: *** [debian/rules:6: build] Error 255 [ 427s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 427s] [ 427s] lamb28 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 21:48:03 UTC 2019. [ 427s] [ 427s] ### VM INTERACTION START ### [ 430s] [ 411.799107] sysrq: SysRq : Power Off [ 430s] [ 411.804712] reboot: Power down [ 430s] ### VM INTERACTION END ### [ 430s] [ 430s] lamb28 failed "build osmo-trx_1.1.1.dsc" at Tue Sep 24 21:48:06 UTC 2019. [ 430s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 24 21:48:41 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 21:48:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8a8f46629f8_1ff62acb6fed25f012432f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 494s] ar: `u' modifier ignored since `D' is the default (see `U') [ 494s] libtool: link: ranlib .libs/libtransceiver_common.a [ 494s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 494s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 494s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 495s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 495s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 495s] collect2: error: ld returned 1 exit status [ 495s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 495s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 495s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 495s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 495s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 495s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 495s] make[1]: *** [Makefile:444: all] Error 2 [ 495s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 495s] dh_auto_build: make -j1 returned exit code 2 [ 495s] make: *** [debian/rules:6: build] Error 255 [ 495s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 495s] [ 495s] lamb56 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 21:48:24 UTC 2019. [ 495s] [ 495s] ### VM INTERACTION START ### [ 498s] [ 477.364907] sysrq: SysRq : Power Off [ 498s] [ 477.372284] reboot: Power down [ 498s] ### VM INTERACTION END ### [ 498s] [ 498s] lamb56 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Tue Sep 24 21:48:28 UTC 2019. [ 498s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Sep 24 22:02:06 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 24 Sep 2019 22:02:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8a9273361cd_1ff62acb6fed25f01245745@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 190s] [379/405] installing mount-2.34-0.1 [ 191s] Processing triggers for man-db (2.8.7-3) ... [ 191s] [380/405] installing gpg-wks-client-2.2.17-3 [ 191s] Processing triggers for man-db (2.8.7-3) ... [ 192s] [381/405] installing libpangocairo-1.0-0-1.42.4-7 [ 192s] Processing triggers for libc-bin (2.29-1) ... [ 192s] [382/405] installing bash-5.0-4 [ 192s] update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode [ 192s] Processing triggers for man-db (2.8.7-3) ... [ 193s] [383/405] installing libosmo-sigtran-dev-1.1.0.4.87c15 [ 193s] [384/405] installing texlive-bibtex-extra-2019.20190830-1 [ 197s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 197s] dpkg-deb: error: subprocess returned error exit status 2 [ 197s] dpkg: error processing archive .init_b_cache/texlive-bibtex-extra.deb (--install): [ 197s] cannot copy extracted data for './usr/share/doc/texlive-doc/latex/biblatex-oxref/oxnum-doc.tex.gz' to '/usr/share/doc/texlive-doc/latex/biblatex-oxref/oxnum-doc.tex.gz.dpkg-new': unexpected end of file or stream [ 197s] Processing triggers for tex-common (6.12) ... [ 197s] Errors were encountered while processing: [ 197s] .init_b_cache/texlive-bibtex-extra.deb [ 197s] exit ... [ 197s] [ 197s] build34 failed "build osmo-msc_1.5.0.24.e9a3.dsc" at Tue Sep 24 22:01:50 UTC 2019. [ 197s] [ 197s] ### VM INTERACTION START ### [ 200s] [ 180.766355] sysrq: SysRq : Power Off [ 200s] [ 180.769109] reboot: Power down [ 200s] ### VM INTERACTION END ### [ 200s] [ 200s] build34 failed "build osmo-msc_1.5.0.24.e9a3.dsc" at Tue Sep 24 22:01:53 UTC 2019. [ 200s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 25 02:41:15 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 25 Sep 2019 02:41:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8ad3d8e46b9_1ff62acb6fed25f01280022@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 568s] ar: `u' modifier ignored since `D' is the default (see `U') [ 568s] libtool: link: ranlib .libs/libtransceiver_common.a [ 568s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 568s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 568s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 568s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 568s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 568s] collect2: error: ld returned 1 exit status [ 568s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 568s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 568s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 568s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 568s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 568s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 568s] make[1]: *** [Makefile:444: all] Error 2 [ 568s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 568s] dh_auto_build: make -j1 returned exit code 2 [ 568s] make: *** [debian/rules:6: build] Error 255 [ 568s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 568s] [ 568s] lamb04 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 02:40:54 UTC 2019. [ 568s] [ 568s] ### VM INTERACTION START ### [ 571s] [ 548.162824] sysrq: SysRq : Power Off [ 571s] [ 548.168702] reboot: Power down [ 571s] ### VM INTERACTION END ### [ 571s] [ 571s] lamb04 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 02:40:58 UTC 2019. [ 571s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 25 02:50:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 25 Sep 2019 02:50:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8ad5f2c88f_1ff62acb6fed25f012809c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 938s] ar: `u' modifier ignored since `D' is the default (see `U') [ 939s] libtool: link: ranlib .libs/libtransceiver_common.a [ 939s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 939s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 940s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 941s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 941s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 941s] collect2: error: ld returned 1 exit status [ 941s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 941s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 941s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 941s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 941s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 941s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 941s] make[1]: *** [Makefile:444: all] Error 2 [ 941s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 941s] dh_auto_build: make -j1 returned exit code 2 [ 941s] make: *** [debian/rules:6: build] Error 255 [ 941s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 941s] [ 941s] cloud104 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 02:50:06 UTC 2019. [ 941s] [ 941s] ### VM INTERACTION START ### [ 945s] [ 877.488502] sysrq: SysRq : Power Off [ 946s] [ 877.779349] reboot: Power down [ 947s] ### VM INTERACTION END ### [ 947s] [ 947s] cloud104 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 02:50:12 UTC 2019. [ 947s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 25 03:08:41 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 25 Sep 2019 03:08:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8ada4654380_1ff62acb6fed25f01283197@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 491s] ar: `u' modifier ignored since `D' is the default (see `U') [ 491s] libtool: link: ranlib .libs/libtransceiver_common.a [ 491s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 491s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 492s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 492s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 492s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 492s] collect2: error: ld returned 1 exit status [ 492s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 492s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 492s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 492s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 492s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 492s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 492s] make[1]: *** [Makefile:444: all] Error 2 [ 492s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 492s] dh_auto_build: make -j1 returned exit code 2 [ 492s] make: *** [debian/rules:6: build] Error 255 [ 492s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 492s] [ 492s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 25 03:08:29 UTC 2019. [ 492s] [ 492s] ### VM INTERACTION START ### [ 495s] [ 474.553329] sysrq: SysRq : Power Off [ 495s] [ 474.572866] reboot: Power down [ 495s] ### VM INTERACTION END ### [ 495s] [ 495s] lamb08 failed "build osmo-trx_1.1.1.dsc" at Wed Sep 25 03:08:32 UTC 2019. [ 495s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Sep 25 03:17:15 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 25 Sep 2019 03:17:15 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8adc4732862_1ff62acb6fed25f01284363@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 924s] ar: `u' modifier ignored since `D' is the default (see `U') [ 924s] libtool: link: ranlib .libs/libtransceiver_common.a [ 925s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 925s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 925s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 925s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 925s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 925s] collect2: error: ld returned 1 exit status [ 925s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 925s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 925s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 925s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 925s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 925s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 926s] make[1]: *** [Makefile:444: all] Error 2 [ 926s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 926s] dh_auto_build: make -j1 returned exit code 2 [ 926s] make: *** [debian/rules:6: build] Error 255 [ 926s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 926s] [ 926s] cloud126 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 03:16:56 UTC 2019. [ 926s] [ 926s] ### VM INTERACTION START ### [ 929s] [ 826.073828] sysrq: SysRq : Power Off [ 929s] [ 826.081472] reboot: Power down [ 929s] ### VM INTERACTION END ### [ 929s] [ 929s] cloud126 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Wed Sep 25 03:17:00 UTC 2019. [ 929s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Sep 25 11:52:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Sep 2019 11:52:45 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Refactor bitvec param passing in rcv_control_block Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15600 Change subject: pdch.cpp: Refactor bitvec param passing in rcv_control_block ...................................................................... pdch.cpp: Refactor bitvec param passing in rcv_control_block Move code in rcv_block_gprs() only needed for rcv_control_block() into the later. This way rcv_block_gprs() is simplified and shows similar code paths with regards to rcv_data_block(). It can now be seen that the main difference between both is the meas param no being passed in the control case. Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf --- M src/pdch.cpp M src/pdch.h 2 files changed, 14 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/15600/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 7488b96..5ae7e63 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -680,10 +680,18 @@ } /* Received Uplink RLC control block. */ -int gprs_rlcmac_pdch::rcv_control_block( - const uint8_t *data, uint8_t data_len, bitvec *rlc_block, uint32_t fn) +int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, + uint32_t fn, GprsCodingScheme cs) { - RlcMacUplink_t * ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); + bitvec *rlc_block; + RlcMacUplink_t *ul_control_block; + unsigned len = cs.maxBytesUL(); + + if (!(rlc_block = bitvec_alloc(len, tall_pcu_ctx))) + return -ENOMEM; + bitvec_unpack(rlc_block, data); + ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); + LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); LOGPC(DCSN1, LOGL_NOTICE, "\n"); @@ -721,6 +729,7 @@ ul_control_block->u.MESSAGE_TYPE); } talloc_free(ul_control_block); + bitvec_free(rlc_block); return 1; } @@ -816,21 +825,14 @@ struct pcu_l1_meas *meas, GprsCodingScheme cs) { unsigned payload = data[0] >> 6; - bitvec *block; int rc = 0; - unsigned len = cs.maxBytesUL(); switch (payload) { case GPRS_RLCMAC_DATA_BLOCK: rc = rcv_data_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK: - block = bitvec_alloc(len, tall_pcu_ctx); - if (!block) - return -ENOMEM; - bitvec_unpack(block, data); - rc = rcv_control_block(data, data_len, block, fn); - bitvec_free(block); + rc = rcv_control_block(data, data_len, fn, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK_OPT: LOGP(DRLCMAC, LOGL_NOTICE, "GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n"); @@ -961,4 +963,3 @@ { return trx->bts->bts_data(); } - diff --git a/src/pdch.h b/src/pdch.h index cf9804d..e23d56f 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -94,7 +94,7 @@ #ifdef __cplusplus private: - int rcv_control_block(const uint8_t *data, uint8_t data_len, bitvec *rlc_block, uint32_t fn); + int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, GprsCodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf Gerrit-Change-Number: 15600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 11:52:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Sep 2019 11:52:46 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Use pcu_l1_meas previously filled by lower layers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15601 Change subject: pdch.cpp: Use pcu_l1_meas previously filled by lower layers ...................................................................... pdch.cpp: Use pcu_l1_meas previously filled by lower layers Otherwise, a new meas object is allocated in the stack in upper layers which doesn't contain the link_qual information (have_link_qual=0), outputting following error: osmo-pcu/src/gprs_ms.cpp:644 Unable to update UL (M)CS CS-2 because we don't have link quality measurements. Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 --- M src/pdch.cpp M src/pdch.h 2 files changed, 19 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/01/15601/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 5ae7e63..24bbbb1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -373,12 +373,11 @@ "at no request\n"); } -void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn) +void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) { int8_t tfi = 0; /* must be signed */ struct gprs_rlcmac_dl_tbf *tbf; int rc; - struct pcu_l1_meas meas; int num_blocks; uint8_t bits_data[RLC_GPRS_WS/8]; bitvec bits; @@ -435,16 +434,15 @@ /* get measurements */ if (tbf->ms()) { - get_meas(&meas, &ack_nack->Channel_Quality_Report); - tbf->ms()->update_l1_meas(&meas); + get_meas(meas, &ack_nack->Channel_Quality_Report); + tbf->ms()->update_l1_meas(meas); } } -void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nack, uint32_t fn) +void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) { int8_t tfi = 0; /* must be signed */ struct gprs_rlcmac_dl_tbf *tbf; - struct pcu_l1_meas meas; int rc; int num_blocks; uint8_t bits_data[RLC_EGPRS_MAX_WS/8]; @@ -526,13 +524,13 @@ if (tbf->ms()) { /* TODO: Implement Measurements parsing for EGPRS */ /* - get_meas(&meas, &ack_nack->Channel_Quality_Report); - tbf->ms()->update_l1_meas(&meas); + get_meas(meas, &ack_nack->Channel_Quality_Report); + tbf->ms()->update_l1_meas(meas); */ } } -void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request, uint32_t fn) +void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request, uint32_t fn, struct pcu_l1_meas *meas) { struct gprs_rlcmac_sba *sba; @@ -543,7 +541,6 @@ uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; uint8_t ta = GSM48_TA_INVALID; - struct pcu_l1_meas meas; GprsMs *ms = bts()->ms_by_tlli(tlli); /* Keep the ms, even if it gets idle temporarily */ @@ -621,8 +618,8 @@ /* get measurements */ if (ul_tbf->ms()) { - get_meas(&meas, request); - ul_tbf->ms()->update_l1_meas(&meas); + get_meas(meas, request); + ul_tbf->ms()->update_l1_meas(meas); } return; } @@ -681,7 +678,7 @@ /* Received Uplink RLC control block. */ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, - uint32_t fn, GprsCodingScheme cs) + uint32_t fn, struct pcu_l1_meas *meas, GprsCodingScheme cs) { bitvec *rlc_block; RlcMacUplink_t *ul_control_block; @@ -708,13 +705,13 @@ rcv_control_ack(&ul_control_block->u.Packet_Control_Acknowledgement, fn); break; case MT_PACKET_DOWNLINK_ACK_NACK: - rcv_control_dl_ack_nack(&ul_control_block->u.Packet_Downlink_Ack_Nack, fn); + rcv_control_dl_ack_nack(&ul_control_block->u.Packet_Downlink_Ack_Nack, fn, meas); break; case MT_EGPRS_PACKET_DOWNLINK_ACK_NACK: - rcv_control_egprs_dl_ack_nack(&ul_control_block->u.Egprs_Packet_Downlink_Ack_Nack, fn); + rcv_control_egprs_dl_ack_nack(&ul_control_block->u.Egprs_Packet_Downlink_Ack_Nack, fn, meas); break; case MT_PACKET_RESOURCE_REQUEST: - rcv_resource_request(&ul_control_block->u.Packet_Resource_Request, fn); + rcv_resource_request(&ul_control_block->u.Packet_Resource_Request, fn, meas); break; case MT_PACKET_MEASUREMENT_REPORT: rcv_measurement_report(&ul_control_block->u.Packet_Measurement_Report, fn); @@ -832,7 +829,7 @@ rc = rcv_data_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK: - rc = rcv_control_block(data, data_len, fn, cs); + rc = rcv_control_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK_OPT: LOGP(DRLCMAC, LOGL_NOTICE, "GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n"); diff --git a/src/pdch.h b/src/pdch.h index e23d56f..3015023 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -94,12 +94,13 @@ #ifdef __cplusplus private: - int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, GprsCodingScheme cs); + int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, + struct pcu_l1_meas *meas, GprsCodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); - void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn); - void rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *, uint32_t fn); - void rcv_resource_request(Packet_Resource_Request_t *t, uint32_t fn); + void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn, struct pcu_l1_meas *meas); + void rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *, uint32_t fn, struct pcu_l1_meas *meas); + void rcv_resource_request(Packet_Resource_Request_t *t, uint32_t fn, struct pcu_l1_meas *meas); void rcv_measurement_report(Packet_Measurement_Report_t *t, uint32_t fn); gprs_rlcmac_tbf *tbf_from_list_by_tfi( LListHead *tbf_list, uint8_t tfi, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 Gerrit-Change-Number: 15601 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 15:53:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Sep 2019 15:53:35 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: fix whitespace Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15602 Change subject: cosmetic: fix whitespace ...................................................................... cosmetic: fix whitespace Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a --- M src/gprs_rlcmac_meas.cpp M src/gprs_rlcmac_sched.cpp M src/tbf_ul.cpp M tests/types/TypesTest.cpp 4 files changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/02/15602/1 diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 9ff06db..4e58df3 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - + #include #include @@ -189,4 +189,3 @@ return 0; } - diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index e16cf39..5fedb5a 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - + #include #include #include diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e4f0083..3fa8009 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -395,7 +395,7 @@ m_llc.reset_frame_space(); return -EIO; } - + llc_pdu = msgb_alloc_headroom(msg_len, msg_len,"llc_pdu"); uint8_t *buf = msgb_push(llc_pdu, TL16V_GROSS_LEN(sizeof(uint8_t)*m_llc.frame_length())); tl16v_put(buf, BSSGP_IE_LLC_PDU, sizeof(uint8_t)*m_llc.frame_length(), m_llc.frame); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index b2ddc94..ee4e937 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -88,7 +88,7 @@ llc.append_frame(data, llc.remaining_space() - 1); OSMO_ASSERT(llc.fits_in_current_frame(1)); OSMO_ASSERT(!llc.fits_in_current_frame(2)); - } + } } static void test_rlc() -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a Gerrit-Change-Number: 15602 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 15:53:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Sep 2019 15:53:35 +0000 Subject: Change in ...osmo-pcu[master]: Move out tbf subclasses from tbf.h to their own headers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15603 Change subject: Move out tbf subclasses from tbf.h to their own headers ...................................................................... Move out tbf subclasses from tbf.h to their own headers It's a good start towards clearing current mess between parent and the 2 children classes. Change-Id: Ibc22ea2e02609af7ee058b8bc15df2115d4c6f60 --- M src/Makefile.am M src/bts.cpp M src/encoding.cpp M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac_meas.cpp M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/poll_controller.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl.h M src/tbf_ul.cpp A src/tbf_ul.h M tests/alloc/AllocTest.cpp M tests/ms/MsTest.cpp M tests/tbf/TbfTest.cpp M tests/types/TypesTest.cpp 21 files changed, 319 insertions(+), 238 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/03/15603/1 diff --git a/src/Makefile.am b/src/Makefile.am index 7148267..a84a511 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -91,6 +91,8 @@ pcu_vty_functions.h \ mslot_class.h \ tbf.h \ + tbf_ul.h \ + tbf_dl.h \ bts.h \ pdch.h \ poll_controller.h \ diff --git a/src/bts.cpp b/src/bts.cpp index a8760ae..df58494 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/src/encoding.cpp b/src/encoding.cpp index 3fac75e..8270354 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 75f75e1..5b35e65 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -23,6 +23,7 @@ #include #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "gprs_codel.h" #include "pcu_utils.h" diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 781dd59..688708e 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -26,6 +26,7 @@ #include "cxx_linuxlist.h" #include "llc.h" #include "tbf.h" +#include "tbf_dl.h" #include "pcu_l1_if.h" #include diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 4e58df3..998e01c 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 5fedb5a..fe6f159 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 0476d6d..cf3f9a9 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 98e8185..3008267 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include extern "C" { diff --git a/src/pdch.cpp b/src/pdch.cpp index 24bbbb1..e4b25e1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp index 744b612..ac79510 100644 --- a/src/poll_controller.cpp +++ b/src/poll_controller.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/tbf.cpp b/src/tbf.cpp index 37435f5..3ca39bf 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -21,6 +21,8 @@ #include #include +#include +#include #include #include #include diff --git a/src/tbf.h b/src/tbf.h index 6eab9d0..fd65b20 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -95,15 +95,6 @@ GPRS_RLCMAC_UL_TBF }; -enum tbf_dl_prio { - DL_PRIO_NONE, - DL_PRIO_SENT_DATA, /* the data has been sent and not (yet) nacked */ - DL_PRIO_LOW_AGE, /* the age has reached the first threshold */ - DL_PRIO_NEW_DATA, /* the data has not been sent yet or nacked */ - DL_PRIO_HIGH_AGE, /* the age has reached the second threshold */ - DL_PRIO_CONTROL, /* a control block needs to be sent */ -}; - enum tbf_rlc_counters { TBF_CTR_RLC_NACKED, }; @@ -127,28 +118,7 @@ TBF_CTR_EGPRS_DL_MCS9, }; -enum tbf_gprs_ul_counters { - TBF_CTR_GPRS_UL_CS1, - TBF_CTR_GPRS_UL_CS2, - TBF_CTR_GPRS_UL_CS3, - TBF_CTR_GPRS_UL_CS4, -}; - -enum tbf_egprs_ul_counters { - TBF_CTR_EGPRS_UL_MCS1, - TBF_CTR_EGPRS_UL_MCS2, - TBF_CTR_EGPRS_UL_MCS3, - TBF_CTR_EGPRS_UL_MCS4, - TBF_CTR_EGPRS_UL_MCS5, - TBF_CTR_EGPRS_UL_MCS6, - TBF_CTR_EGPRS_UL_MCS7, - TBF_CTR_EGPRS_UL_MCS8, - TBF_CTR_EGPRS_UL_MCS9, -}; - #define LOGPTBF(tbf, level, fmt, args...) LOGP(DTBF, level, "%s " fmt, tbf_name(tbf), ## args) -#define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) -#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) enum tbf_timers { /* internal assign/reject timer */ @@ -612,220 +582,12 @@ m_egprs_enabled = false; } -struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { - gprs_rlcmac_dl_tbf(BTS *bts); - gprs_rlc_dl_window *window(); - void cleanup(); - void enable_egprs(); - /* dispatch Unitdata.DL messages */ - static int handle(struct gprs_rlcmac_bts *bts, - const uint32_t tlli, const uint32_t old_tlli, - const char *imsi, const uint8_t ms_class, - const uint8_t egprs_ms_class, const uint16_t delay_csec, - const uint8_t *data, const uint16_t len); - - int append_data(const uint8_t ms_class, - const uint16_t pdu_delay_csec, - const uint8_t *data, const uint16_t len); - - int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); - int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); - struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts); - void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); - - bool handle_ack_nack(); - void request_dl_ack(); - bool need_control_ts() const; - bool have_data() const; - int frames_since_last_poll(unsigned fn) const; - int frames_since_last_drain(unsigned fn) const; - bool keep_open(unsigned fn) const; - int release(); - int abort(); - uint16_t window_size() const; - void set_window_size(); - void update_coding_scheme_counter_dl(enum CodingScheme cs); - - /* TODO: add the gettimeofday as parameter */ - struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); - - /* Please note that all variables here will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - int32_t m_tx_counter; /* count all transmitted blocks */ - uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ - bool m_dl_ack_requested; - int32_t m_last_dl_poll_fn; - int32_t m_last_dl_drained_fn; - - struct BandWidth { - struct timespec dl_bw_tv; /* timestamp for dl bw calculation */ - uint32_t dl_bw_octets; /* number of octets since bw_tv */ - uint32_t dl_throughput; /* throughput to be displayed in stats */ - - struct timespec dl_loss_tv; /* timestamp for loss calculation */ - uint16_t dl_loss_lost; /* sum of lost packets */ - uint16_t dl_loss_received; /* sum of received packets */ - - BandWidth(); - } m_bw; - - struct rate_ctr_group *m_dl_gprs_ctrs; - struct rate_ctr_group *m_dl_egprs_ctrs; - -protected: - struct ana_result { - unsigned received_packets; - unsigned lost_packets; - unsigned received_bytes; - unsigned lost_bytes; - }; - - int take_next_bsn(uint32_t fn, int previous_bsn, - bool *may_combine); - bool restart_bsn_cycle(); - int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); - struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, - int index, int index2 = -1); - int update_window(const uint8_t ssn, const uint8_t *rbb); - int update_window(unsigned first_bsn, const struct bitvec *rbb); - int maybe_start_new_window(); - bool dl_window_stalled() const; - void reuse_tbf(); - void start_llc_timer(); - int analyse_errors(char *show_rbb, uint8_t ssn, ana_result *res); - void schedule_next_frame(); - - enum egprs_rlc_dl_reseg_bsn_state egprs_dl_get_data - (int bsn, uint8_t **block_data); - unsigned int get_egprs_dl_spb_status(int bsn); - enum egprs_rlcmac_dl_spb get_egprs_dl_spb(int bsn); - - struct osmo_timer_list m_llc_timer; - - /* Please note that all variables below will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - gprs_rlc_dl_window m_window; -}; - -struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { - gprs_rlcmac_ul_tbf(BTS *bts); - gprs_rlc_ul_window *window(); - struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); - bool ctrl_ack_to_toggle(); - bool handle_ctrl_ack(); - void enable_egprs(); - /* blocks were acked */ - int rcv_data_block_acknowledged( - const struct gprs_rlc_data_info *rlc, - uint8_t *data, struct pcu_l1_meas *meas); - - - /* TODO: extract LLC class? */ - int assemble_forward_llc(const gprs_rlc_data *data); - int snd_ul_ud(); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_spb( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_first_seg( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_second_seg( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - uint16_t window_size() const; - void set_window_size(); - void update_coding_scheme_counter_ul(enum CodingScheme cs); - - /* Please note that all variables here will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - int32_t m_rx_counter; /* count all received blocks */ - uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ - uint8_t m_contention_resolution_done; /* set after done */ - uint8_t m_final_ack_sent; /* set if we sent final ack */ - - struct rate_ctr_group *m_ul_gprs_ctrs; - struct rate_ctr_group *m_ul_egprs_ctrs; - -protected: - void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); - - /* Please note that all variables below will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - gprs_rlc_ul_window m_window; -}; - -#ifdef __cplusplus -extern "C" { -#endif -void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); -void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); -#ifdef __cplusplus -} -#endif - inline enum gprs_rlcmac_tbf_direction reverse(enum gprs_rlcmac_tbf_direction dir) { return (enum gprs_rlcmac_tbf_direction) ((int)GPRS_RLCMAC_UL_TBF - (int)dir + (int)GPRS_RLCMAC_DL_TBF); } -inline uint16_t gprs_rlcmac_ul_tbf::window_size() const -{ - return m_window.ws(); -} - -inline uint16_t gprs_rlcmac_dl_tbf::window_size() const -{ - return m_window.ws(); -} - -inline void gprs_rlcmac_ul_tbf::enable_egprs() -{ - m_window.set_sns(RLC_EGPRS_SNS); - gprs_rlcmac_tbf::enable_egprs(); -} - -inline void gprs_rlcmac_dl_tbf::enable_egprs() -{ - m_window.set_sns(RLC_EGPRS_SNS); - gprs_rlcmac_tbf::enable_egprs(); -} - -inline gprs_rlcmac_ul_tbf *as_ul_tbf(gprs_rlcmac_tbf *tbf) -{ - if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) - return static_cast(tbf); - else - return NULL; -} - -inline gprs_rlcmac_dl_tbf *as_dl_tbf(gprs_rlcmac_tbf *tbf) -{ - if (tbf && tbf->direction == GPRS_RLCMAC_DL_TBF) - return static_cast(tbf); - else - return NULL; -} - uint16_t egprs_window_size(const struct gprs_rlcmac_bts *bts_data, uint8_t slots); #endif diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 12c098a..e9190f6 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -21,6 +21,8 @@ #include #include +#include +#include #include #include #include diff --git a/src/tbf_dl.h b/src/tbf_dl.h new file mode 100644 index 0000000..1011665 --- /dev/null +++ b/src/tbf_dl.h @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2013 by Holger Hans Peter Freyther + * Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#pragma once + +#ifdef __cplusplus + +#include "tbf.h" + +/* + * TBF instance + */ + +enum tbf_dl_prio { + DL_PRIO_NONE, + DL_PRIO_SENT_DATA, /* the data has been sent and not (yet) nacked */ + DL_PRIO_LOW_AGE, /* the age has reached the first threshold */ + DL_PRIO_NEW_DATA, /* the data has not been sent yet or nacked */ + DL_PRIO_HIGH_AGE, /* the age has reached the second threshold */ + DL_PRIO_CONTROL, /* a control block needs to be sent */ +}; + +#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) + +struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { + gprs_rlcmac_dl_tbf(BTS *bts); + gprs_rlc_dl_window *window(); + void cleanup(); + void enable_egprs(); + /* dispatch Unitdata.DL messages */ + static int handle(struct gprs_rlcmac_bts *bts, + const uint32_t tlli, const uint32_t old_tlli, + const char *imsi, const uint8_t ms_class, + const uint8_t egprs_ms_class, const uint16_t delay_csec, + const uint8_t *data, const uint16_t len); + + int append_data(const uint8_t ms_class, + const uint16_t pdu_delay_csec, + const uint8_t *data, const uint16_t len); + + int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); + int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); + struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts); + void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); + + bool handle_ack_nack(); + void request_dl_ack(); + bool need_control_ts() const; + bool have_data() const; + int frames_since_last_poll(unsigned fn) const; + int frames_since_last_drain(unsigned fn) const; + bool keep_open(unsigned fn) const; + int release(); + int abort(); + uint16_t window_size() const; + void set_window_size(); + void update_coding_scheme_counter_dl(enum CodingScheme cs); + + /* TODO: add the gettimeofday as parameter */ + struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); + + /* Please note that all variables here will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + int32_t m_tx_counter; /* count all transmitted blocks */ + uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ + bool m_dl_ack_requested; + int32_t m_last_dl_poll_fn; + int32_t m_last_dl_drained_fn; + + struct BandWidth { + struct timespec dl_bw_tv; /* timestamp for dl bw calculation */ + uint32_t dl_bw_octets; /* number of octets since bw_tv */ + uint32_t dl_throughput; /* throughput to be displayed in stats */ + + struct timespec dl_loss_tv; /* timestamp for loss calculation */ + uint16_t dl_loss_lost; /* sum of lost packets */ + uint16_t dl_loss_received; /* sum of received packets */ + + BandWidth(); + } m_bw; + + struct rate_ctr_group *m_dl_gprs_ctrs; + struct rate_ctr_group *m_dl_egprs_ctrs; + +protected: + struct ana_result { + unsigned received_packets; + unsigned lost_packets; + unsigned received_bytes; + unsigned lost_bytes; + }; + + int take_next_bsn(uint32_t fn, int previous_bsn, + bool *may_combine); + bool restart_bsn_cycle(); + int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); + struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, + int index, int index2 = -1); + int update_window(const uint8_t ssn, const uint8_t *rbb); + int update_window(unsigned first_bsn, const struct bitvec *rbb); + int maybe_start_new_window(); + bool dl_window_stalled() const; + void reuse_tbf(); + void start_llc_timer(); + int analyse_errors(char *show_rbb, uint8_t ssn, ana_result *res); + void schedule_next_frame(); + + enum egprs_rlc_dl_reseg_bsn_state egprs_dl_get_data + (int bsn, uint8_t **block_data); + unsigned int get_egprs_dl_spb_status(int bsn); + enum egprs_rlcmac_dl_spb get_egprs_dl_spb(int bsn); + + struct osmo_timer_list m_llc_timer; + + /* Please note that all variables below will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + gprs_rlc_dl_window m_window; +}; + +inline uint16_t gprs_rlcmac_dl_tbf::window_size() const +{ + return m_window.ws(); +} + +inline void gprs_rlcmac_dl_tbf::enable_egprs() +{ + m_window.set_sns(RLC_EGPRS_SNS); + gprs_rlcmac_tbf::enable_egprs(); +} + +inline gprs_rlcmac_dl_tbf *as_dl_tbf(gprs_rlcmac_tbf *tbf) +{ + if (tbf && tbf->direction == GPRS_RLCMAC_DL_TBF) + return static_cast(tbf); + else + return NULL; +} +#endif diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 3fa8009..a993cce 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include diff --git a/src/tbf_ul.h b/src/tbf_ul.h new file mode 100644 index 0000000..85da4f6 --- /dev/null +++ b/src/tbf_ul.h @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2013 by Holger Hans Peter Freyther + * Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#pragma once + +#ifdef __cplusplus + +#include "tbf.h" +/* + * TBF instance + */ + +enum tbf_gprs_ul_counters { + TBF_CTR_GPRS_UL_CS1, + TBF_CTR_GPRS_UL_CS2, + TBF_CTR_GPRS_UL_CS3, + TBF_CTR_GPRS_UL_CS4, +}; + +enum tbf_egprs_ul_counters { + TBF_CTR_EGPRS_UL_MCS1, + TBF_CTR_EGPRS_UL_MCS2, + TBF_CTR_EGPRS_UL_MCS3, + TBF_CTR_EGPRS_UL_MCS4, + TBF_CTR_EGPRS_UL_MCS5, + TBF_CTR_EGPRS_UL_MCS6, + TBF_CTR_EGPRS_UL_MCS7, + TBF_CTR_EGPRS_UL_MCS8, + TBF_CTR_EGPRS_UL_MCS9, +}; + +#define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) + +struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { + gprs_rlcmac_ul_tbf(BTS *bts); + gprs_rlc_ul_window *window(); + struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); + bool ctrl_ack_to_toggle(); + bool handle_ctrl_ack(); + void enable_egprs(); + /* blocks were acked */ + int rcv_data_block_acknowledged( + const struct gprs_rlc_data_info *rlc, + uint8_t *data, struct pcu_l1_meas *meas); + + + /* TODO: extract LLC class? */ + int assemble_forward_llc(const gprs_rlc_data *data); + int snd_ul_ud(); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_spb( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_first_seg( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_second_seg( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + uint16_t window_size() const; + void set_window_size(); + void update_coding_scheme_counter_ul(enum CodingScheme cs); + + /* Please note that all variables here will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + int32_t m_rx_counter; /* count all received blocks */ + uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ + uint8_t m_contention_resolution_done; /* set after done */ + uint8_t m_final_ack_sent; /* set if we sent final ack */ + + struct rate_ctr_group *m_ul_gprs_ctrs; + struct rate_ctr_group *m_ul_egprs_ctrs; + +protected: + void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); + + /* Please note that all variables below will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + gprs_rlc_ul_window m_window; +}; + +#ifdef __cplusplus +extern "C" { +#endif +void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); +void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); +#ifdef __cplusplus +} +#endif + +inline uint16_t gprs_rlcmac_ul_tbf::window_size() const +{ + return m_window.ws(); +} + +inline void gprs_rlcmac_ul_tbf::enable_egprs() +{ + m_window.set_sns(RLC_EGPRS_SNS); + gprs_rlcmac_tbf::enable_egprs(); +} + +inline gprs_rlcmac_ul_tbf *as_ul_tbf(gprs_rlcmac_tbf *tbf) +{ + if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) + return static_cast(tbf); + else + return NULL; +} + +#endif diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 64d6a50..123f879 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -20,6 +20,7 @@ #include "gprs_rlcmac.h" #include "gprs_debug.h" #include "tbf.h" +#include "tbf_ul.h" #include "bts.h" #include diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index c74b3a6..0c5ab9e 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -21,6 +21,7 @@ */ #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "gprs_ms.h" #include "gprs_ms_storage.h" diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 2036023..bd4fbc1 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -22,6 +22,7 @@ #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "pcu_utils.h" #include "gprs_bssgp_pcu.h" diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index ee4e937..aa0a366 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -22,6 +22,7 @@ */ #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "pcu_utils.h" #include "gprs_debug.h" #include "encoding.h" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc22ea2e02609af7ee058b8bc15df2115d4c6f60 Gerrit-Change-Number: 15603 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 16:10:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 25 Sep 2019 16:10:20 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: Hello fixeria, pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 to look at the new patch set (#5). Change subject: log: set L1 SAPI log context ...................................................................... log: set L1 SAPI log context Add a new common L1 SAPI enum, to unify all the BTS specific SAPIs. Translate to this enum, and set the context for uplink messages in each BTS specific implementation. Set the context for downlink messages in the common l1sap code, by converting the osmo_phsap_prim back to the SAPI value (mostly looking at chan_nr). The new functions for doing this conversion, get_common_sapi_by_trx_prim() and get_common_sapi_ph_data(), are based on the existing to_gsmtap() and gsmtap_ph_data() functions. Note that we can't set the uplink SAPI context in the common code, because then we can't set it as early as possible. Related: OS#2356 Depends: (libosmocore) I814cb3328d99faca9220adb5a80ffb934f219d7d Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b --- M include/osmo-bts/l1sap.h M src/common/l1sap.c M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_if.c 6 files changed, 382 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/39/15539/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 16:15:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 25 Sep 2019 16:15:22 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI log context ...................................................................... Patch Set 5: Thanks again. I've pushed my current WIP version based on your feedback (untested, and other commits need to be adjusted). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 25 Sep 2019 16:15:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 18:11:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 18:11:27 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Refactor bitvec param passing in rcv_control_block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15600 ) Change subject: pdch.cpp: Refactor bitvec param passing in rcv_control_block ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf Gerrit-Change-Number: 15600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 25 Sep 2019 18:11:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 18:15:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 18:15:27 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Use pcu_l1_meas previously filled by lower layers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15601 ) Change subject: pdch.cpp: Use pcu_l1_meas previously filled by lower layers ...................................................................... Patch Set 1: Code-Review+2 Awesome! I also have been trying to fix this problem, but gave up at some point. I am about to release a TTCN-3 test case for CS adaptation, which continuously sends data blocks, so I think we need a test case for control blocks too. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 Gerrit-Change-Number: 15601 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Sep 2019 18:15:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 18:16:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 18:16:57 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: fix whitespace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15602 ) Change subject: cosmetic: fix whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a Gerrit-Change-Number: 15602 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 25 Sep 2019 18:16:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 23:24:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 23:24:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: Hello laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 to look at the new patch set (#2). Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In Ieefa61232eb215a19a02e490255332e28e23b8f8, I had to revert I5808954b5c67c3239e795e43ae77035152d359ef, because that change broke encoding of messages on the PCU interface. Since we cannot use 'PADDING' attribute until its implementation is fixed in TITAN, let's work this around by stripping padding bytes manually in UD_to_PCUIF(). Change-Id: Ibd698094c897d395208e80189457444a91018beb --- M library/PCUIF_CodecPort.ttcn 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/15571/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 23:24:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 23:24:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 to look at the new patch set (#10). Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA The aim of this test case is to test the correctness of Timing Advance at the time of TBF establishment. In particular, the test case sends several Access Bursts (RACH.ind) with increasing 'qta' value, what causes OsmoPCU to allocate a TBF (Temporary Block Flow) for each RACH.ind and send DATA.req with Immediate Assignment on AGCH, containing the expected Timing Advance value. Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Related: SYS#4606 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 78 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/15410/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 23:24:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 23:24:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: Hello pespin, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 to look at the new patch set (#3). Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation This change introduces a new test case TC_cs_lqual_ul_tbf, which is aimed to test the feedback of OsmoPCU on changing link quality measurements in Uplink Data blocks during an active TBF. Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Related: SYS#4607 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 102 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/15526/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Sep 25 23:30:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 25 Sep 2019 23:30:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 9: All comments should be addressed now (I hope). The main feature of this patch set is a minimalistic scheduler for the BTS component. Both DATA.ind and RTS.req messages are first stored in queues until a suitable TDMA frame-number is received fom the ClckGen_CT. This allows to send multiple DATA.ind / RTS.req messages at the same time without messing with guessing frame and block numbers. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Sep 2019 23:30:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Sep 26 03:54:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 26 Sep 2019 03:54:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8c3679d5ac6_29e52afcaee3e60066451@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 390s] ar: `u' modifier ignored since `D' is the default (see `U') [ 390s] libtool: link: ranlib .libs/libtransceiver_common.a [ 390s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 390s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 390s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 391s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 391s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 391s] collect2: error: ld returned 1 exit status [ 391s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 391s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 391s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 391s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 391s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 391s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 391s] make[1]: *** [Makefile:444: all] Error 2 [ 391s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 391s] dh_auto_build: make -j1 returned exit code 2 [ 391s] make: *** [debian/rules:6: build] Error 255 [ 391s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 391s] [ 391s] wildcard2 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Thu Sep 26 03:54:12 UTC 2019. [ 391s] [ 391s] ### VM INTERACTION START ### [ 394s] [ 368.271921] sysrq: SysRq : Power Off [ 394s] [ 368.274331] reboot: Power down [ 394s] ### VM INTERACTION END ### [ 394s] [ 394s] wildcard2 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Thu Sep 26 03:54:16 UTC 2019. [ 394s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Sep 26 04:21:17 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 26 Sep 2019 04:21:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8c3ccf1f170_29e52afcaee3e60072356@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 448s] ar: `u' modifier ignored since `D' is the default (see `U') [ 448s] libtool: link: ranlib .libs/libtransceiver_common.a [ 448s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 448s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 448s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 448s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 448s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 448s] collect2: error: ld returned 1 exit status [ 448s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 448s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 448s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 448s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 448s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 448s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 448s] make[1]: *** [Makefile:444: all] Error 2 [ 448s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 448s] dh_auto_build: make -j1 returned exit code 2 [ 448s] make: *** [debian/rules:6: build] Error 255 [ 448s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 448s] [ 448s] lamb02 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Thu Sep 26 04:21:07 UTC 2019. [ 448s] [ 448s] ### VM INTERACTION START ### [ 452s] [ 432.522175] sysrq: SysRq : Power Off [ 452s] [ 432.527517] reboot: Power down [ 452s] ### VM INTERACTION END ### [ 452s] [ 452s] lamb02 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Thu Sep 26 04:21:11 UTC 2019. [ 452s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Sep 26 09:11:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 09:11:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 9: Code-Review+1 (2 comments) > Patch Set 9: > > All comments should be addressed now (I hope). Yes, I read through the comments again and everything is resolved. In the code, there are still a few TODOs and FIXMEs, but I think it is good enough as initial version (so we can start implementing tests based on this). Thank you very much for the patch and for updating it! https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 85 PS8, Line 85: // port RAW_PCU_MSG_PT CCCH; /* SAPI: PCU_IF_SAPI_{BCCH,PCH,RACH,AGCH} */ > Yep, maybe some day one would find this idea useful. [?] I like how you have implemented it with queues now. https://gerrit.osmocom.org/#/c/15430/8/pcu/PCUIF_RAW_Components.ttcn at 182 PS8, Line 182: MTC.send(RAW_PCU_EVENT:PCU_EV_CONNECT); > I agree with pespin here. This is resolved with the "direct" variable. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 09:11:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 09:15:17 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 09:15:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Sep 2019 09:15:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 09:21:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 09:21:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... Patch Set 10: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn at 592 PS10, Line 592: out (our?) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 09:21:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 09:31:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 09:31:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15526/3/library/RLCMAC_Types.ttcn File library/RLCMAC_Types.ttcn: https://gerrit.osmocom.org/#/c/15526/3/library/RLCMAC_Types.ttcn at 315 PS3, Line 315: ? This change is fine, the only other place where tr_RLCMAC_ACK_NACK is used, is in PCU_Tests.ttcn:f_ul_tbf() (and the whole PCU_Tests.ttcn file is getting obsoleted by this new infrastructure that you are adding to PCU Tests RAW). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 09:31:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 10:34:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 10:34:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 9: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15430/9/pcu/PCUIF_RAW_Components.ttcn File pcu/PCUIF_RAW_Components.ttcn: https://gerrit.osmocom.org/#/c/15430/9/pcu/PCUIF_RAW_Components.ttcn at 142 PS9, Line 142: T_TDMAClock.timeout; Ideally you should re-arm the timer after timeout occurs in order to easily avoid more drifting over time (at the expense of having a bit more jitter). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 10:34:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 10:36:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 10:36:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15571/2/library/PCUIF_CodecPort.ttcn File library/PCUIF_CodecPort.ttcn: https://gerrit.osmocom.org/#/c/15571/2/library/PCUIF_CodecPort.ttcn at 38 PS2, Line 38: * cannot just use its 'PADDING' attribute because it breaks decoding. */ Can you provide a reference to the mentioned TITAN bug? Otherwise it's difficult to know when will it be fixed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 10:36:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 10:41:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 10:41:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... Patch Set 10: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn at 558 PS10, Line 558: return true; just wondering, don't you need to stop the timer here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 10:41:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 10:45:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 10:45:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 10:45:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 11:23:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 11:23:24 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Refactor bitvec param passing in rcv_control_block In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15600 ) Change subject: pdch.cpp: Refactor bitvec param passing in rcv_control_block ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15600/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/#/c/15600/1/src/pdch.cpp at a964 PS1, Line 964: unrelated -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf Gerrit-Change-Number: 15600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 11:23:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 11:29:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 11:29:38 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Use pcu_l1_meas previously filled by lower layers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15601 ) Change subject: pdch.cpp: Use pcu_l1_meas previously filled by lower layers ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/15601/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/#/c/15601/1/src/pdch.cpp at 376 PS1, Line 376: void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) line > 120 characters https://gerrit.osmocom.org/#/c/15601/1/src/pdch.cpp at 442 PS1, Line 442: void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) line length -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 Gerrit-Change-Number: 15601 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 11:29:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 11:30:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 11:30:09 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: fix whitespace In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15602 ) Change subject: cosmetic: fix whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a Gerrit-Change-Number: 15602 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Sep 2019 11:30:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 11:34:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Sep 2019 11:34:39 +0000 Subject: Change in ...osmo-pcu[master]: Move out tbf subclasses from tbf.h to their own headers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15603 ) Change subject: Move out tbf subclasses from tbf.h to their own headers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc22ea2e02609af7ee058b8bc15df2115d4c6f60 Gerrit-Change-Number: 15603 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Sep 2019 11:34:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:04:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Sep 2019 12:04:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn at 558 PS10, Line 558: return true; > just wondering, don't you need to stop the timer here? Good question. I think it's getting destroyed anyway when the function terminates. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 12:04:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:05:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Sep 2019 12:05:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/15571/2/library/PCUIF_CodecPort.ttcn File library/PCUIF_CodecPort.ttcn: https://gerrit.osmocom.org/#/c/15571/2/library/PCUIF_CodecPort.ttcn at 38 PS2, Line 38: * cannot just use its 'PADDING' attribute because it breaks decoding. */ > Can you provide a reference to the mentioned TITAN bug? Otherwise it's difficult to know when will i [?] Unfortunately I still have not reported it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 12:05:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:13:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:13:54 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Refactor bitvec param passing in rcv_control_block In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15600 ) Change subject: pdch.cpp: Refactor bitvec param passing in rcv_control_block ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf Gerrit-Change-Number: 15600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 12:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:14:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:14:00 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Refactor bitvec param passing in rcv_control_block In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15600 ) Change subject: pdch.cpp: Refactor bitvec param passing in rcv_control_block ...................................................................... pdch.cpp: Refactor bitvec param passing in rcv_control_block Move code in rcv_block_gprs() only needed for rcv_control_block() into the later. This way rcv_block_gprs() is simplified and shows similar code paths with regards to rcv_data_block(). It can now be seen that the main difference between both is the meas param no being passed in the control case. Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf --- M src/pdch.cpp M src/pdch.h 2 files changed, 14 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 7488b96..5ae7e63 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -680,10 +680,18 @@ } /* Received Uplink RLC control block. */ -int gprs_rlcmac_pdch::rcv_control_block( - const uint8_t *data, uint8_t data_len, bitvec *rlc_block, uint32_t fn) +int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, + uint32_t fn, GprsCodingScheme cs) { - RlcMacUplink_t * ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); + bitvec *rlc_block; + RlcMacUplink_t *ul_control_block; + unsigned len = cs.maxBytesUL(); + + if (!(rlc_block = bitvec_alloc(len, tall_pcu_ctx))) + return -ENOMEM; + bitvec_unpack(rlc_block, data); + ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); + LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); LOGPC(DCSN1, LOGL_NOTICE, "\n"); @@ -721,6 +729,7 @@ ul_control_block->u.MESSAGE_TYPE); } talloc_free(ul_control_block); + bitvec_free(rlc_block); return 1; } @@ -816,21 +825,14 @@ struct pcu_l1_meas *meas, GprsCodingScheme cs) { unsigned payload = data[0] >> 6; - bitvec *block; int rc = 0; - unsigned len = cs.maxBytesUL(); switch (payload) { case GPRS_RLCMAC_DATA_BLOCK: rc = rcv_data_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK: - block = bitvec_alloc(len, tall_pcu_ctx); - if (!block) - return -ENOMEM; - bitvec_unpack(block, data); - rc = rcv_control_block(data, data_len, block, fn); - bitvec_free(block); + rc = rcv_control_block(data, data_len, fn, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK_OPT: LOGP(DRLCMAC, LOGL_NOTICE, "GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n"); @@ -961,4 +963,3 @@ { return trx->bts->bts_data(); } - diff --git a/src/pdch.h b/src/pdch.h index cf9804d..e23d56f 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -94,7 +94,7 @@ #ifdef __cplusplus private: - int rcv_control_block(const uint8_t *data, uint8_t data_len, bitvec *rlc_block, uint32_t fn); + int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, GprsCodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2a0133463edced93c72ccc743a0cf00d1d6922cf Gerrit-Change-Number: 15600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:14:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:14:01 +0000 Subject: Change in ...osmo-pcu[master]: pdch.cpp: Use pcu_l1_meas previously filled by lower layers In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15601 ) Change subject: pdch.cpp: Use pcu_l1_meas previously filled by lower layers ...................................................................... pdch.cpp: Use pcu_l1_meas previously filled by lower layers Otherwise, a new meas object is allocated in the stack in upper layers which doesn't contain the link_qual information (have_link_qual=0), outputting following error: osmo-pcu/src/gprs_ms.cpp:644 Unable to update UL (M)CS CS-2 because we don't have link quality measurements. Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 --- M src/pdch.cpp M src/pdch.h 2 files changed, 19 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/pdch.cpp b/src/pdch.cpp index 5ae7e63..24bbbb1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -373,12 +373,11 @@ "at no request\n"); } -void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn) +void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) { int8_t tfi = 0; /* must be signed */ struct gprs_rlcmac_dl_tbf *tbf; int rc; - struct pcu_l1_meas meas; int num_blocks; uint8_t bits_data[RLC_GPRS_WS/8]; bitvec bits; @@ -435,16 +434,15 @@ /* get measurements */ if (tbf->ms()) { - get_meas(&meas, &ack_nack->Channel_Quality_Report); - tbf->ms()->update_l1_meas(&meas); + get_meas(meas, &ack_nack->Channel_Quality_Report); + tbf->ms()->update_l1_meas(meas); } } -void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nack, uint32_t fn) +void gprs_rlcmac_pdch::rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) { int8_t tfi = 0; /* must be signed */ struct gprs_rlcmac_dl_tbf *tbf; - struct pcu_l1_meas meas; int rc; int num_blocks; uint8_t bits_data[RLC_EGPRS_MAX_WS/8]; @@ -526,13 +524,13 @@ if (tbf->ms()) { /* TODO: Implement Measurements parsing for EGPRS */ /* - get_meas(&meas, &ack_nack->Channel_Quality_Report); - tbf->ms()->update_l1_meas(&meas); + get_meas(meas, &ack_nack->Channel_Quality_Report); + tbf->ms()->update_l1_meas(meas); */ } } -void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request, uint32_t fn) +void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request, uint32_t fn, struct pcu_l1_meas *meas) { struct gprs_rlcmac_sba *sba; @@ -543,7 +541,6 @@ uint8_t ms_class = 0; uint8_t egprs_ms_class = 0; uint8_t ta = GSM48_TA_INVALID; - struct pcu_l1_meas meas; GprsMs *ms = bts()->ms_by_tlli(tlli); /* Keep the ms, even if it gets idle temporarily */ @@ -621,8 +618,8 @@ /* get measurements */ if (ul_tbf->ms()) { - get_meas(&meas, request); - ul_tbf->ms()->update_l1_meas(&meas); + get_meas(meas, request); + ul_tbf->ms()->update_l1_meas(meas); } return; } @@ -681,7 +678,7 @@ /* Received Uplink RLC control block. */ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, - uint32_t fn, GprsCodingScheme cs) + uint32_t fn, struct pcu_l1_meas *meas, GprsCodingScheme cs) { bitvec *rlc_block; RlcMacUplink_t *ul_control_block; @@ -708,13 +705,13 @@ rcv_control_ack(&ul_control_block->u.Packet_Control_Acknowledgement, fn); break; case MT_PACKET_DOWNLINK_ACK_NACK: - rcv_control_dl_ack_nack(&ul_control_block->u.Packet_Downlink_Ack_Nack, fn); + rcv_control_dl_ack_nack(&ul_control_block->u.Packet_Downlink_Ack_Nack, fn, meas); break; case MT_EGPRS_PACKET_DOWNLINK_ACK_NACK: - rcv_control_egprs_dl_ack_nack(&ul_control_block->u.Egprs_Packet_Downlink_Ack_Nack, fn); + rcv_control_egprs_dl_ack_nack(&ul_control_block->u.Egprs_Packet_Downlink_Ack_Nack, fn, meas); break; case MT_PACKET_RESOURCE_REQUEST: - rcv_resource_request(&ul_control_block->u.Packet_Resource_Request, fn); + rcv_resource_request(&ul_control_block->u.Packet_Resource_Request, fn, meas); break; case MT_PACKET_MEASUREMENT_REPORT: rcv_measurement_report(&ul_control_block->u.Packet_Measurement_Report, fn); @@ -832,7 +829,7 @@ rc = rcv_data_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK: - rc = rcv_control_block(data, data_len, fn, cs); + rc = rcv_control_block(data, data_len, fn, meas, cs); break; case GPRS_RLCMAC_CONTROL_BLOCK_OPT: LOGP(DRLCMAC, LOGL_NOTICE, "GPRS_RLCMAC_CONTROL_BLOCK_OPT block payload is not supported.\n"); diff --git a/src/pdch.h b/src/pdch.h index e23d56f..3015023 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -94,12 +94,13 @@ #ifdef __cplusplus private: - int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, GprsCodingScheme cs); + int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, + struct pcu_l1_meas *meas, GprsCodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); - void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn); - void rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *, uint32_t fn); - void rcv_resource_request(Packet_Resource_Request_t *t, uint32_t fn); + void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn, struct pcu_l1_meas *meas); + void rcv_control_egprs_dl_ack_nack(EGPRS_PD_AckNack_t *, uint32_t fn, struct pcu_l1_meas *meas); + void rcv_resource_request(Packet_Resource_Request_t *t, uint32_t fn, struct pcu_l1_meas *meas); void rcv_measurement_report(Packet_Measurement_Report_t *t, uint32_t fn); gprs_rlcmac_tbf *tbf_from_list_by_tfi( LListHead *tbf_list, uint8_t tfi, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1980ca325c8d65f3f6310fa697dd810eec7ab077 Gerrit-Change-Number: 15601 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:14:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:14:02 +0000 Subject: Change in ...osmo-pcu[master]: cosmetic: fix whitespace In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15602 ) Change subject: cosmetic: fix whitespace ...................................................................... cosmetic: fix whitespace Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a --- M src/gprs_rlcmac_meas.cpp M src/gprs_rlcmac_sched.cpp M src/tbf_ul.cpp M tests/types/TypesTest.cpp 4 files changed, 4 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved osmith: Looks good to me, approved diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 9ff06db..4e58df3 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - + #include #include @@ -189,4 +189,3 @@ return 0; } - diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index e16cf39..5fedb5a 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - + #include #include #include diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e4f0083..3fa8009 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -395,7 +395,7 @@ m_llc.reset_frame_space(); return -EIO; } - + llc_pdu = msgb_alloc_headroom(msg_len, msg_len,"llc_pdu"); uint8_t *buf = msgb_push(llc_pdu, TL16V_GROSS_LEN(sizeof(uint8_t)*m_llc.frame_length())); tl16v_put(buf, BSSGP_IE_LLC_PDU, sizeof(uint8_t)*m_llc.frame_length(), m_llc.frame); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index b2ddc94..ee4e937 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -88,7 +88,7 @@ llc.append_frame(data, llc.remaining_space() - 1); OSMO_ASSERT(llc.fits_in_current_frame(1)); OSMO_ASSERT(!llc.fits_in_current_frame(2)); - } + } } static void test_rlc() -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I45bbe4d3c69d573aaff010d16f338c7ec3eaf08a Gerrit-Change-Number: 15602 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:14:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:14:02 +0000 Subject: Change in ...osmo-pcu[master]: Move out tbf subclasses from tbf.h to their own headers In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15603 ) Change subject: Move out tbf subclasses from tbf.h to their own headers ...................................................................... Move out tbf subclasses from tbf.h to their own headers It's a good start towards clearing current mess between parent and the 2 children classes. Change-Id: Ibc22ea2e02609af7ee058b8bc15df2115d4c6f60 --- M src/Makefile.am M src/bts.cpp M src/encoding.cpp M src/gprs_ms.cpp M src/gprs_ms.h M src/gprs_rlcmac_meas.cpp M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/poll_controller.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl.h M src/tbf_ul.cpp A src/tbf_ul.h M tests/alloc/AllocTest.cpp M tests/ms/MsTest.cpp M tests/tbf/TbfTest.cpp M tests/types/TypesTest.cpp 21 files changed, 319 insertions(+), 238 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index 7148267..a84a511 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -91,6 +91,8 @@ pcu_vty_functions.h \ mslot_class.h \ tbf.h \ + tbf_ul.h \ + tbf_dl.h \ bts.h \ pdch.h \ poll_controller.h \ diff --git a/src/bts.cpp b/src/bts.cpp index a8760ae..df58494 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/src/encoding.cpp b/src/encoding.cpp index 3fac75e..8270354 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 75f75e1..5b35e65 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -23,6 +23,7 @@ #include #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "gprs_codel.h" #include "pcu_utils.h" diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 781dd59..688708e 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -26,6 +26,7 @@ #include "cxx_linuxlist.h" #include "llc.h" #include "tbf.h" +#include "tbf_dl.h" #include "pcu_l1_if.h" #include diff --git a/src/gprs_rlcmac_meas.cpp b/src/gprs_rlcmac_meas.cpp index 4e58df3..998e01c 100644 --- a/src/gprs_rlcmac_meas.cpp +++ b/src/gprs_rlcmac_meas.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 5fedb5a..fe6f159 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 0476d6d..cf3f9a9 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 98e8185..3008267 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include extern "C" { diff --git a/src/pdch.cpp b/src/pdch.cpp index 24bbbb1..e4b25e1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp index 744b612..ac79510 100644 --- a/src/poll_controller.cpp +++ b/src/poll_controller.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/src/tbf.cpp b/src/tbf.cpp index 37435f5..3ca39bf 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -21,6 +21,8 @@ #include #include +#include +#include #include #include #include diff --git a/src/tbf.h b/src/tbf.h index 6eab9d0..fd65b20 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -95,15 +95,6 @@ GPRS_RLCMAC_UL_TBF }; -enum tbf_dl_prio { - DL_PRIO_NONE, - DL_PRIO_SENT_DATA, /* the data has been sent and not (yet) nacked */ - DL_PRIO_LOW_AGE, /* the age has reached the first threshold */ - DL_PRIO_NEW_DATA, /* the data has not been sent yet or nacked */ - DL_PRIO_HIGH_AGE, /* the age has reached the second threshold */ - DL_PRIO_CONTROL, /* a control block needs to be sent */ -}; - enum tbf_rlc_counters { TBF_CTR_RLC_NACKED, }; @@ -127,28 +118,7 @@ TBF_CTR_EGPRS_DL_MCS9, }; -enum tbf_gprs_ul_counters { - TBF_CTR_GPRS_UL_CS1, - TBF_CTR_GPRS_UL_CS2, - TBF_CTR_GPRS_UL_CS3, - TBF_CTR_GPRS_UL_CS4, -}; - -enum tbf_egprs_ul_counters { - TBF_CTR_EGPRS_UL_MCS1, - TBF_CTR_EGPRS_UL_MCS2, - TBF_CTR_EGPRS_UL_MCS3, - TBF_CTR_EGPRS_UL_MCS4, - TBF_CTR_EGPRS_UL_MCS5, - TBF_CTR_EGPRS_UL_MCS6, - TBF_CTR_EGPRS_UL_MCS7, - TBF_CTR_EGPRS_UL_MCS8, - TBF_CTR_EGPRS_UL_MCS9, -}; - #define LOGPTBF(tbf, level, fmt, args...) LOGP(DTBF, level, "%s " fmt, tbf_name(tbf), ## args) -#define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) -#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) enum tbf_timers { /* internal assign/reject timer */ @@ -612,220 +582,12 @@ m_egprs_enabled = false; } -struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { - gprs_rlcmac_dl_tbf(BTS *bts); - gprs_rlc_dl_window *window(); - void cleanup(); - void enable_egprs(); - /* dispatch Unitdata.DL messages */ - static int handle(struct gprs_rlcmac_bts *bts, - const uint32_t tlli, const uint32_t old_tlli, - const char *imsi, const uint8_t ms_class, - const uint8_t egprs_ms_class, const uint16_t delay_csec, - const uint8_t *data, const uint16_t len); - - int append_data(const uint8_t ms_class, - const uint16_t pdu_delay_csec, - const uint8_t *data, const uint16_t len); - - int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); - int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); - struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts); - void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); - - bool handle_ack_nack(); - void request_dl_ack(); - bool need_control_ts() const; - bool have_data() const; - int frames_since_last_poll(unsigned fn) const; - int frames_since_last_drain(unsigned fn) const; - bool keep_open(unsigned fn) const; - int release(); - int abort(); - uint16_t window_size() const; - void set_window_size(); - void update_coding_scheme_counter_dl(enum CodingScheme cs); - - /* TODO: add the gettimeofday as parameter */ - struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); - - /* Please note that all variables here will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - int32_t m_tx_counter; /* count all transmitted blocks */ - uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ - bool m_dl_ack_requested; - int32_t m_last_dl_poll_fn; - int32_t m_last_dl_drained_fn; - - struct BandWidth { - struct timespec dl_bw_tv; /* timestamp for dl bw calculation */ - uint32_t dl_bw_octets; /* number of octets since bw_tv */ - uint32_t dl_throughput; /* throughput to be displayed in stats */ - - struct timespec dl_loss_tv; /* timestamp for loss calculation */ - uint16_t dl_loss_lost; /* sum of lost packets */ - uint16_t dl_loss_received; /* sum of received packets */ - - BandWidth(); - } m_bw; - - struct rate_ctr_group *m_dl_gprs_ctrs; - struct rate_ctr_group *m_dl_egprs_ctrs; - -protected: - struct ana_result { - unsigned received_packets; - unsigned lost_packets; - unsigned received_bytes; - unsigned lost_bytes; - }; - - int take_next_bsn(uint32_t fn, int previous_bsn, - bool *may_combine); - bool restart_bsn_cycle(); - int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); - struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, - int index, int index2 = -1); - int update_window(const uint8_t ssn, const uint8_t *rbb); - int update_window(unsigned first_bsn, const struct bitvec *rbb); - int maybe_start_new_window(); - bool dl_window_stalled() const; - void reuse_tbf(); - void start_llc_timer(); - int analyse_errors(char *show_rbb, uint8_t ssn, ana_result *res); - void schedule_next_frame(); - - enum egprs_rlc_dl_reseg_bsn_state egprs_dl_get_data - (int bsn, uint8_t **block_data); - unsigned int get_egprs_dl_spb_status(int bsn); - enum egprs_rlcmac_dl_spb get_egprs_dl_spb(int bsn); - - struct osmo_timer_list m_llc_timer; - - /* Please note that all variables below will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - gprs_rlc_dl_window m_window; -}; - -struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { - gprs_rlcmac_ul_tbf(BTS *bts); - gprs_rlc_ul_window *window(); - struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); - bool ctrl_ack_to_toggle(); - bool handle_ctrl_ack(); - void enable_egprs(); - /* blocks were acked */ - int rcv_data_block_acknowledged( - const struct gprs_rlc_data_info *rlc, - uint8_t *data, struct pcu_l1_meas *meas); - - - /* TODO: extract LLC class? */ - int assemble_forward_llc(const gprs_rlc_data *data); - int snd_ul_ud(); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_spb( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_first_seg( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_second_seg( - const struct gprs_rlc_data_info *rlc, - struct gprs_rlc_data *block, - uint8_t *data, const uint8_t block_idx); - - uint16_t window_size() const; - void set_window_size(); - void update_coding_scheme_counter_ul(enum CodingScheme cs); - - /* Please note that all variables here will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - int32_t m_rx_counter; /* count all received blocks */ - uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ - uint8_t m_contention_resolution_done; /* set after done */ - uint8_t m_final_ack_sent; /* set if we sent final ack */ - - struct rate_ctr_group *m_ul_gprs_ctrs; - struct rate_ctr_group *m_ul_egprs_ctrs; - -protected: - void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); - - /* Please note that all variables below will be reset when changing - * from WAIT RELEASE back to FLOW state (re-use of TBF). - * All states that need reset must be in this struct, so this is why - * variables are in both (dl and ul) structs and not outside union. - */ - gprs_rlc_ul_window m_window; -}; - -#ifdef __cplusplus -extern "C" { -#endif -void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); -void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); -#ifdef __cplusplus -} -#endif - inline enum gprs_rlcmac_tbf_direction reverse(enum gprs_rlcmac_tbf_direction dir) { return (enum gprs_rlcmac_tbf_direction) ((int)GPRS_RLCMAC_UL_TBF - (int)dir + (int)GPRS_RLCMAC_DL_TBF); } -inline uint16_t gprs_rlcmac_ul_tbf::window_size() const -{ - return m_window.ws(); -} - -inline uint16_t gprs_rlcmac_dl_tbf::window_size() const -{ - return m_window.ws(); -} - -inline void gprs_rlcmac_ul_tbf::enable_egprs() -{ - m_window.set_sns(RLC_EGPRS_SNS); - gprs_rlcmac_tbf::enable_egprs(); -} - -inline void gprs_rlcmac_dl_tbf::enable_egprs() -{ - m_window.set_sns(RLC_EGPRS_SNS); - gprs_rlcmac_tbf::enable_egprs(); -} - -inline gprs_rlcmac_ul_tbf *as_ul_tbf(gprs_rlcmac_tbf *tbf) -{ - if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) - return static_cast(tbf); - else - return NULL; -} - -inline gprs_rlcmac_dl_tbf *as_dl_tbf(gprs_rlcmac_tbf *tbf) -{ - if (tbf && tbf->direction == GPRS_RLCMAC_DL_TBF) - return static_cast(tbf); - else - return NULL; -} - uint16_t egprs_window_size(const struct gprs_rlcmac_bts *bts_data, uint8_t slots); #endif diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 12c098a..e9190f6 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -21,6 +21,8 @@ #include #include +#include +#include #include #include #include diff --git a/src/tbf_dl.h b/src/tbf_dl.h new file mode 100644 index 0000000..1011665 --- /dev/null +++ b/src/tbf_dl.h @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2013 by Holger Hans Peter Freyther + * Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#pragma once + +#ifdef __cplusplus + +#include "tbf.h" + +/* + * TBF instance + */ + +enum tbf_dl_prio { + DL_PRIO_NONE, + DL_PRIO_SENT_DATA, /* the data has been sent and not (yet) nacked */ + DL_PRIO_LOW_AGE, /* the age has reached the first threshold */ + DL_PRIO_NEW_DATA, /* the data has not been sent yet or nacked */ + DL_PRIO_HIGH_AGE, /* the age has reached the second threshold */ + DL_PRIO_CONTROL, /* a control block needs to be sent */ +}; + +#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) + +struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { + gprs_rlcmac_dl_tbf(BTS *bts); + gprs_rlc_dl_window *window(); + void cleanup(); + void enable_egprs(); + /* dispatch Unitdata.DL messages */ + static int handle(struct gprs_rlcmac_bts *bts, + const uint32_t tlli, const uint32_t old_tlli, + const char *imsi, const uint8_t ms_class, + const uint8_t egprs_ms_class, const uint16_t delay_csec, + const uint8_t *data, const uint16_t len); + + int append_data(const uint8_t ms_class, + const uint16_t pdu_delay_csec, + const uint8_t *data, const uint16_t len); + + int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); + int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); + struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts); + void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); + + bool handle_ack_nack(); + void request_dl_ack(); + bool need_control_ts() const; + bool have_data() const; + int frames_since_last_poll(unsigned fn) const; + int frames_since_last_drain(unsigned fn) const; + bool keep_open(unsigned fn) const; + int release(); + int abort(); + uint16_t window_size() const; + void set_window_size(); + void update_coding_scheme_counter_dl(enum CodingScheme cs); + + /* TODO: add the gettimeofday as parameter */ + struct msgb *llc_dequeue(bssgp_bvc_ctx *bctx); + + /* Please note that all variables here will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + int32_t m_tx_counter; /* count all transmitted blocks */ + uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ + bool m_dl_ack_requested; + int32_t m_last_dl_poll_fn; + int32_t m_last_dl_drained_fn; + + struct BandWidth { + struct timespec dl_bw_tv; /* timestamp for dl bw calculation */ + uint32_t dl_bw_octets; /* number of octets since bw_tv */ + uint32_t dl_throughput; /* throughput to be displayed in stats */ + + struct timespec dl_loss_tv; /* timestamp for loss calculation */ + uint16_t dl_loss_lost; /* sum of lost packets */ + uint16_t dl_loss_received; /* sum of received packets */ + + BandWidth(); + } m_bw; + + struct rate_ctr_group *m_dl_gprs_ctrs; + struct rate_ctr_group *m_dl_egprs_ctrs; + +protected: + struct ana_result { + unsigned received_packets; + unsigned lost_packets; + unsigned received_bytes; + unsigned lost_bytes; + }; + + int take_next_bsn(uint32_t fn, int previous_bsn, + bool *may_combine); + bool restart_bsn_cycle(); + int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); + struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, + int index, int index2 = -1); + int update_window(const uint8_t ssn, const uint8_t *rbb); + int update_window(unsigned first_bsn, const struct bitvec *rbb); + int maybe_start_new_window(); + bool dl_window_stalled() const; + void reuse_tbf(); + void start_llc_timer(); + int analyse_errors(char *show_rbb, uint8_t ssn, ana_result *res); + void schedule_next_frame(); + + enum egprs_rlc_dl_reseg_bsn_state egprs_dl_get_data + (int bsn, uint8_t **block_data); + unsigned int get_egprs_dl_spb_status(int bsn); + enum egprs_rlcmac_dl_spb get_egprs_dl_spb(int bsn); + + struct osmo_timer_list m_llc_timer; + + /* Please note that all variables below will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + gprs_rlc_dl_window m_window; +}; + +inline uint16_t gprs_rlcmac_dl_tbf::window_size() const +{ + return m_window.ws(); +} + +inline void gprs_rlcmac_dl_tbf::enable_egprs() +{ + m_window.set_sns(RLC_EGPRS_SNS); + gprs_rlcmac_tbf::enable_egprs(); +} + +inline gprs_rlcmac_dl_tbf *as_dl_tbf(gprs_rlcmac_tbf *tbf) +{ + if (tbf && tbf->direction == GPRS_RLCMAC_DL_TBF) + return static_cast(tbf); + else + return NULL; +} +#endif diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 3fa8009..a993cce 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include diff --git a/src/tbf_ul.h b/src/tbf_ul.h new file mode 100644 index 0000000..85da4f6 --- /dev/null +++ b/src/tbf_ul.h @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2013 by Holger Hans Peter Freyther + * Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#pragma once + +#ifdef __cplusplus + +#include "tbf.h" +/* + * TBF instance + */ + +enum tbf_gprs_ul_counters { + TBF_CTR_GPRS_UL_CS1, + TBF_CTR_GPRS_UL_CS2, + TBF_CTR_GPRS_UL_CS3, + TBF_CTR_GPRS_UL_CS4, +}; + +enum tbf_egprs_ul_counters { + TBF_CTR_EGPRS_UL_MCS1, + TBF_CTR_EGPRS_UL_MCS2, + TBF_CTR_EGPRS_UL_MCS3, + TBF_CTR_EGPRS_UL_MCS4, + TBF_CTR_EGPRS_UL_MCS5, + TBF_CTR_EGPRS_UL_MCS6, + TBF_CTR_EGPRS_UL_MCS7, + TBF_CTR_EGPRS_UL_MCS8, + TBF_CTR_EGPRS_UL_MCS9, +}; + +#define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) + +struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { + gprs_rlcmac_ul_tbf(BTS *bts); + gprs_rlc_ul_window *window(); + struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); + bool ctrl_ack_to_toggle(); + bool handle_ctrl_ack(); + void enable_egprs(); + /* blocks were acked */ + int rcv_data_block_acknowledged( + const struct gprs_rlc_data_info *rlc, + uint8_t *data, struct pcu_l1_meas *meas); + + + /* TODO: extract LLC class? */ + int assemble_forward_llc(const gprs_rlc_data *data); + int snd_ul_ud(); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_spb( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_first_seg( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + egprs_rlc_ul_reseg_bsn_state handle_egprs_ul_second_seg( + const struct gprs_rlc_data_info *rlc, + struct gprs_rlc_data *block, + uint8_t *data, const uint8_t block_idx); + + uint16_t window_size() const; + void set_window_size(); + void update_coding_scheme_counter_ul(enum CodingScheme cs); + + /* Please note that all variables here will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + int32_t m_rx_counter; /* count all received blocks */ + uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ + uint8_t m_contention_resolution_done; /* set after done */ + uint8_t m_final_ack_sent; /* set if we sent final ack */ + + struct rate_ctr_group *m_ul_gprs_ctrs; + struct rate_ctr_group *m_ul_egprs_ctrs; + +protected: + void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); + + /* Please note that all variables below will be reset when changing + * from WAIT RELEASE back to FLOW state (re-use of TBF). + * All states that need reset must be in this struct, so this is why + * variables are in both (dl and ul) structs and not outside union. + */ + gprs_rlc_ul_window m_window; +}; + +#ifdef __cplusplus +extern "C" { +#endif +void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); +void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); +#ifdef __cplusplus +} +#endif + +inline uint16_t gprs_rlcmac_ul_tbf::window_size() const +{ + return m_window.ws(); +} + +inline void gprs_rlcmac_ul_tbf::enable_egprs() +{ + m_window.set_sns(RLC_EGPRS_SNS); + gprs_rlcmac_tbf::enable_egprs(); +} + +inline gprs_rlcmac_ul_tbf *as_ul_tbf(gprs_rlcmac_tbf *tbf) +{ + if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) + return static_cast(tbf); + else + return NULL; +} + +#endif diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 64d6a50..123f879 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -20,6 +20,7 @@ #include "gprs_rlcmac.h" #include "gprs_debug.h" #include "tbf.h" +#include "tbf_ul.h" #include "bts.h" #include diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp index c74b3a6..0c5ab9e 100644 --- a/tests/ms/MsTest.cpp +++ b/tests/ms/MsTest.cpp @@ -21,6 +21,7 @@ */ #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "gprs_ms.h" #include "gprs_ms_storage.h" diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 2036023..bd4fbc1 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -22,6 +22,7 @@ #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "gprs_debug.h" #include "pcu_utils.h" #include "gprs_bssgp_pcu.h" diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index ee4e937..aa0a366 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -22,6 +22,7 @@ */ #include "bts.h" #include "tbf.h" +#include "tbf_ul.h" #include "pcu_utils.h" #include "gprs_debug.h" #include "encoding.h" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc22ea2e02609af7ee058b8bc15df2115d4c6f60 Gerrit-Change-Number: 15603 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:15:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:15:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15410/10/pcu/PCU_Tests_RAW.ttcn at 558 PS10, Line 558: return true; > Good question. I think it's getting destroyed anyway when the function terminates. No idea, let's push this forward though, we can later fix it if needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 12:15:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:28:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:28:34 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RL... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15604 Change subject: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE ...................................................................... tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE tbf_update_ms_class() is already called two lines above in the common path. Fixes: 409efa1ec84c14aaa43bfac85ba4956e9f3cf16a Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 --- M src/tbf_dl.cpp 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/15604/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index e9190f6..c523075 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -114,7 +114,6 @@ if (state_is(GPRS_RLCMAC_WAIT_RELEASE)) { LOGPTBFDL(this, LOGL_DEBUG, "in WAIT RELEASE state (T3193), so reuse TBF\n"); - tbf_update_ms_class(this, ms_class); establish_dl_tbf_on_pacch(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 Gerrit-Change-Number: 15604 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:43:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:43:27 +0000 Subject: Change in ...osmo-pcu[master]: Move tbf_{dl, ul} child constructors to respective .cpp files Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15605 Change subject: Move tbf_{dl,ul} child constructors to respective .cpp files ...................................................................... Move tbf_{dl,ul} child constructors to respective .cpp files Fixes: 9d1cdb1f697057033394590a9b2815efe6c08cd9 Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 3 files changed, 24 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/15605/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 3ca39bf..389b186 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -955,17 +955,6 @@ return 0; } -gprs_rlcmac_ul_tbf::gprs_rlcmac_ul_tbf(BTS *bts_) : - gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_UL_TBF), - m_rx_counter(0), - m_contention_resolution_done(0), - m_final_ack_sent(0), - m_ul_gprs_ctrs(NULL), - m_ul_egprs_ctrs(NULL) -{ - memset(&m_usf, 0, sizeof(m_usf)); -} - static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) { tbf->~gprs_rlcmac_ul_tbf(); @@ -1054,19 +1043,6 @@ timespecclear(&dl_loss_tv); } -gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(BTS *bts_) : - gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_DL_TBF), - m_tx_counter(0), - m_wait_confirm(0), - m_dl_ack_requested(false), - m_last_dl_poll_fn(0), - m_last_dl_drained_fn(0), - m_dl_gprs_ctrs(NULL), - m_dl_egprs_ctrs(NULL) -{ - memset(&m_llc_timer, 0, sizeof(m_llc_timer)); -} - static int dl_tbf_dtor(struct gprs_rlcmac_dl_tbf *tbf) { tbf->~gprs_rlcmac_dl_tbf(); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index e9190f6..fdd9ba3 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -76,6 +76,19 @@ tbf->request_dl_ack(); } +gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(BTS *bts_) : + gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_DL_TBF), + m_tx_counter(0), + m_wait_confirm(0), + m_dl_ack_requested(false), + m_last_dl_poll_fn(0), + m_last_dl_drained_fn(0), + m_dl_gprs_ctrs(NULL), + m_dl_egprs_ctrs(NULL) +{ + memset(&m_llc_timer, 0, sizeof(m_llc_timer)); +} + void gprs_rlcmac_dl_tbf::cleanup() { osmo_timer_del(&m_llc_timer); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index a993cce..9e3773c 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -55,6 +55,17 @@ extern void *tall_pcu_ctx; +gprs_rlcmac_ul_tbf::gprs_rlcmac_ul_tbf(BTS *bts_) : + gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_UL_TBF), + m_rx_counter(0), + m_contention_resolution_done(0), + m_final_ack_sent(0), + m_ul_gprs_ctrs(NULL), + m_ul_egprs_ctrs(NULL) +{ + memset(&m_usf, 0, sizeof(m_usf)); +} + /* * Store received block data in LLC message(s) and forward to SGSN * if complete. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 Gerrit-Change-Number: 15605 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 12:43:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 12:43:28 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: Setup m_llc_timer in constructor using osmocom API Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15606 Change subject: tbf_dl: Setup m_llc_timer in constructor using osmocom API ...................................................................... tbf_dl: Setup m_llc_timer in constructor using osmocom API Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 --- M src/tbf_dl.cpp 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/15606/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index fdd9ba3..23887d1 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -87,6 +87,7 @@ m_dl_egprs_ctrs(NULL) { memset(&m_llc_timer, 0, sizeof(m_llc_timer)); + osmo_timer_setup(&m_llc_timer, llc_timer_cb, this); } void gprs_rlcmac_dl_tbf::cleanup() @@ -98,11 +99,6 @@ { if (bts_data()->llc_idle_ack_csec > 0) { struct timeval tv; - - /* TODO: this ought to be within a constructor */ - m_llc_timer.data = this; - m_llc_timer.cb = &llc_timer_cb; - csecs_to_timeval(bts_data()->llc_idle_ack_csec, &tv); osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_usec); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 Gerrit-Change-Number: 15606 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 15:52:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 15:52:50 +0000 Subject: Change in ...libosmocore[master]: msgb: Allow size==headroom in msgb_alloc_headroom*() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15607 Change subject: msgb: Allow size==headroom in msgb_alloc_headroom*() ...................................................................... msgb: Allow size==headroom in msgb_alloc_headroom*() Nothinh really forbids this case, it's totally fine allocating all space of msgb as headroom. osmo-pcu actually does that in gprs_rlcmac_ul_tbf::snd_ul_ud(). Related: OS#4029 Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a --- M include/osmocom/core/msgb.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/15607/1 diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index e05d37f..1833a6c 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -518,7 +518,7 @@ static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, int size, int headroom, const char *name) { - osmo_static_assert(size > headroom, headroom_bigger); + osmo_static_assert(size >= headroom, headroom_bigger); struct msgb *msg = msgb_alloc_c(ctx, size, name); if (msg) @@ -540,7 +540,7 @@ static inline struct msgb *msgb_alloc_headroom(int size, int headroom, const char *name) { - osmo_static_assert(size > headroom, headroom_bigger); + osmo_static_assert(size >= headroom, headroom_bigger); struct msgb *msg = msgb_alloc(size, name); if (msg) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a Gerrit-Change-Number: 15607 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 16:28:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 16:28:27 +0000 Subject: Change in ...osmo-pcu[master]: vty: Fix osmo_tdef timers not listed in write config Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15608 Change subject: vty: Fix osmo_tdef timers not listed in write config ...................................................................... vty: Fix osmo_tdef timers not listed in write config Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f --- M src/pcu_vty.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/15608/1 diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 6592cae..c47c896 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -271,6 +271,8 @@ else vty_out(vty, " gb-dialect classic%s", VTY_NEWLINE); + osmo_tdef_vty_write(vty, bts->T_defs_pcu, " timer "); + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f Gerrit-Change-Number: 15608 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 16:40:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 26 Sep 2019 16:40:18 +0000 Subject: Change in ...libosmocore[master]: msgb: Allow size==headroom in msgb_alloc_headroom*() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15607 ) Change subject: msgb: Allow size==headroom in msgb_alloc_headroom*() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a Gerrit-Change-Number: 15607 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 26 Sep 2019 16:40:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 17:34:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Sep 2019 17:34:28 +0000 Subject: Change in ...libosmocore[master]: vty: Optionally Set/replace cfg file during cmd 'write file' Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15609 Change subject: vty: Optionally Set/replace cfg file during cmd 'write file' ...................................................................... vty: Optionally Set/replace cfg file during cmd 'write file' This way if the process is started with no file associated (eg. no -c param and default cfg path doesn't exist), config can be later saved into a file by passing the parameter. Otherwise, until now this message was displayed: Can't save to configuration file, using vtysh. Related: OS#4024 Change-Id: I38edcf902a08b6bd0ebb9aa6fc1a7041421af525 --- M src/vty/command.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/15609/1 diff --git a/src/vty/command.c b/src/vty/command.c index 35169eb..0d24b66 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2927,9 +2927,10 @@ /* Write current configuration into file. */ DEFUN(config_write_file, config_write_file_cmd, - "write file", + "write file [PATH]", "Write running configuration to memory, network, or terminal\n" - "Write to configuration file\n") + "Write to configuration file\n" + "Set file path to store the config, or replace if already exists\n") { char *failed_file; int rc; @@ -2943,6 +2944,9 @@ } } + if (argc == 1) + host_config_set(argv[0]); + if (host.config == NULL) { vty_out(vty, "Can't save to configuration file, using vtysh.%s", VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I38edcf902a08b6bd0ebb9aa6fc1a7041421af525 Gerrit-Change-Number: 15609 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:19:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:19:28 +0000 Subject: Change in ...libosmocore[master]: vty: Optionally Set/replace cfg file during cmd 'write file' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15609 ) Change subject: vty: Optionally Set/replace cfg file during cmd 'write file' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I38edcf902a08b6bd0ebb9aa6fc1a7041421af525 Gerrit-Change-Number: 15609 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:19:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:19:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:19:45 +0000 Subject: Change in ...libosmocore[master]: msgb: Allow size==headroom in msgb_alloc_headroom*() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15607 ) Change subject: msgb: Allow size==headroom in msgb_alloc_headroom*() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a Gerrit-Change-Number: 15607 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:19:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:19:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:19:47 +0000 Subject: Change in ...libosmocore[master]: msgb: Allow size==headroom in msgb_alloc_headroom*() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15607 ) Change subject: msgb: Allow size==headroom in msgb_alloc_headroom*() ...................................................................... msgb: Allow size==headroom in msgb_alloc_headroom*() Nothinh really forbids this case, it's totally fine allocating all space of msgb as headroom. osmo-pcu actually does that in gprs_rlcmac_ul_tbf::snd_ul_ud(). Related: OS#4029 Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a --- M include/osmocom/core/msgb.h 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h index e05d37f..1833a6c 100644 --- a/include/osmocom/core/msgb.h +++ b/include/osmocom/core/msgb.h @@ -518,7 +518,7 @@ static inline struct msgb *msgb_alloc_headroom_c(const void *ctx, int size, int headroom, const char *name) { - osmo_static_assert(size > headroom, headroom_bigger); + osmo_static_assert(size >= headroom, headroom_bigger); struct msgb *msg = msgb_alloc_c(ctx, size, name); if (msg) @@ -540,7 +540,7 @@ static inline struct msgb *msgb_alloc_headroom(int size, int headroom, const char *name) { - osmo_static_assert(size > headroom, headroom_bigger); + osmo_static_assert(size >= headroom, headroom_bigger); struct msgb *msg = msgb_alloc(size, name); if (msg) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe05d08e3169a2603e891f76682a3b352a93ec7a Gerrit-Change-Number: 15607 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:20:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:20:20 +0000 Subject: Change in ...osmo-pcu[master]: Move tbf_{dl, ul} child constructors to respective .cpp files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15605 ) Change subject: Move tbf_{dl,ul} child constructors to respective .cpp files ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 Gerrit-Change-Number: 15605 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:20:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:20:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:20:41 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: Setup m_llc_timer in constructor using osmocom API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15606 ) Change subject: tbf_dl: Setup m_llc_timer in constructor using osmocom API ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 Gerrit-Change-Number: 15606 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:20:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:21:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:21:00 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RL... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15604 ) Change subject: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 Gerrit-Change-Number: 15604 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:21:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:21:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:21:09 +0000 Subject: Change in ...osmo-pcu[master]: vty: Fix osmo_tdef timers not listed in write config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15608 ) Change subject: vty: Fix osmo_tdef timers not listed in write config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f Gerrit-Change-Number: 15608 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:21:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:22:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:22:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:22:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:22:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:22:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:22:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:23:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:23:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:46 +0000 Subject: Change in ...osmo-msc[master]: sgs_iface: Accept messages with unknown TLV elements In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15599 ) Change subject: sgs_iface: Accept messages with unknown TLV elements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Gerrit-Change-Number: 15599 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:23:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:48 +0000 Subject: Change in ...osmo-msc[master]: sgs_iface: Accept messages with unknown TLV elements In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15599 ) Change subject: sgs_iface: Accept messages with unknown TLV elements ...................................................................... sgs_iface: Accept messages with unknown TLV elements 3GPP TS 29.118, chapter 7.5 states that unknown TLV elements should be ignored rather than that the whole message is discarded a STATUS message is sent. Lets turn the returncode check of the tlv_parse() call into a log message and continue normally. Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Related: OS#4214 --- M src/libmsc/sgs_iface.c 1 file changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved Objections: fixeria: I would prefer this is not merged as is diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index b12991c..a4527f4 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -945,10 +945,8 @@ /* Parse TLV elements */ rc = tlv_parse(&tp, &sgsap_ie_tlvdef, msgb_l2(msg) + 1, msgb_l2len(msg) - 1, 0, 0); - if (rc < 0) { - TX_STATUS_AND_LOG(sgc, msg_type, SGSAP_SGS_CAUSE_SEMANT_INCORR_MSG, "SGsAP Message %s parsing error\n"); - goto error; - } + if (rc < 0) + LOGSGC(sgc, LOGL_NOTICE, "SGsAP Message %s contains unknown TLV IEs\n", sgsap_msg_type_name(msg_type)); /* Most of the messages contain an IMSI as mandatory IE, parse it right here */ if (!TLVP_PRESENT(&tp, SGSAP_IE_IMSI) && -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic6714451ad970043d4765f8420d753daf5294a44 Gerrit-Change-Number: 15599 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:53 +0000 Subject: Change in ...osmo-msc[master]: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15598 ) Change subject: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Gerrit-Change-Number: 15598 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:23:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:23:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:23:55 +0000 Subject: Change in ...osmo-msc[master]: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15598 ) Change subject: paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout When pagig for a CS-Call via SGs times out, the MME expects to be informed about this via an SGsAP-SERVICE-ABORT-REQUEST, make sure this message is sent, but only for CS-Fallback calls. Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Depends: osmo-ttcn3-hacks I99950a17ccf26aaa0eebded5480f33be4c57586a Related: OS#3614 --- M include/osmocom/msc/sgs_iface.h M src/libmsc/paging.c M src/libmsc/sgs_iface.c 3 files changed, 27 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/msc/sgs_iface.h b/include/osmocom/msc/sgs_iface.h index 575468e..a319663 100644 --- a/include/osmocom/msc/sgs_iface.h +++ b/include/osmocom/msc/sgs_iface.h @@ -89,4 +89,5 @@ int sgs_iface_tx_paging(struct vlr_subscr *vsub, enum sgsap_service_ind serv_ind); int sgs_iface_tx_dtap_ud(struct msc_a *msc_a, struct msgb *msg); void sgs_iface_tx_release(struct vlr_subscr *vsub); +void sgs_iface_tx_serv_abrt(struct vlr_subscr *vsub); diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 182b036..743ce5c 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -49,6 +49,10 @@ static void paging_response_timer_cb(void *data) { struct vlr_subscr *vsub = data; + + if (vsub->cs.attached_via_ran == OSMO_RAT_EUTRAN_SGS) + sgs_iface_tx_serv_abrt(vsub); + paging_expired(vsub); } diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index a4527f4..5ccded7 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -1256,6 +1256,28 @@ sgs_tx(mme->conn, msg_sgs); } +/*! Send SGsAP-SERVICE-ABORT-REQUEST message to MME + * \param[in] vsub subscriber context */ +void sgs_iface_tx_serv_abrt(struct vlr_subscr *vsub) +{ + struct msgb *msg_sgs; + struct sgs_mme_ctx *mme; + + OSMO_ASSERT(vsub); + + /* The service abort procedure is only defined for MT calls, + * see also 3GPP TS 29.118, chapter 5.13.2 */ + if (vsub->sgs.paging_serv_ind != SGSAP_SERV_IND_CS_CALL) + return; + + mme = sgs_mme_ctx_by_vsub(vsub, SGSAP_MSGT_DL_UD); + if (!mme) + return; + + msg_sgs = gsm29118_create_service_abort_req(vsub->imsi); + sgs_tx(mme->conn, msg_sgs); +} + /*! initalize SGs new interface * \param[in] ctx talloc context * \param[in] network associated gsm network -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f8f153afe24cf2efa245713509bdc8488902877 Gerrit-Change-Number: 15598 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:24:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:24:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Cosmetic: Fix comment In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 ) Change subject: Cosmetic: Fix comment ...................................................................... Cosmetic: Fix comment Change-Id: Ie1c80d951ea2f8e3e154beb5623aa0d5f5874a60 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7499456..7c4ac51 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4858,9 +4858,9 @@ /* Even on a failed paging the SGs Association should stay intact */ f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-ASSOCIATED"); - /* Note: We do not execute f_sgsap_bssmap_screening() here since the - * MSC/VLR would re-try to deliver the test SMS trigered above and - * so the screening would fail. */ + /* Make sure that the SMS we just inserted is cleared and the + * subscriber is expired. This is necessary because otherwise the MSC + * might re-try the SMS delivery and disturb the following tests. */ f_vty_sms_clear(hex2str(g_pars.imsi)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1c80d951ea2f8e3e154beb5623aa0d5f5874a60 Gerrit-Change-Number: 15596 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:24:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:24:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 ) Change subject: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a Gerrit-Change-Number: 15597 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 26 Sep 2019 19:24:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:24:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 ) Change subject: MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout ...................................................................... MSC_Tests: Expect SGsAP-SERVICE-ABORT-REQUEST on paging timeout When a paging for a CS-Call times out the MSC/VLR is expected to send an SGsAP-SERVICE-ABORT-REQUEST to the MME to indicate that the paging has timed out. This is not taken into accound yet by TTCN3 test TC_sgsap_paging_and_nothing Related: OS#3614 Depends: osmo-msc I3f8f153afe24cf2efa245713509bdc8488902877 Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a --- M msc/MSC_Tests.ttcn 1 file changed, 21 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 7c4ac51..063105c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4491,6 +4491,7 @@ var octetstring vlr_name := f_enc_dns_hostname(mp_vlr_name); var template PDU_SGsAP exp_resp := tr_SGsAP_PAGING_REQ(g_pars.imsi, vlr_name, CS_call_indicator, omit); + var template PDU_SGsAP exp_serv_abrt := ts_SGsAP_SERVICE_ABORT_REQ(g_pars.imsi); var template LocationAreaId exp_lai := ts_SGsAP_IE_Lai(valueof(ts_SGsAP_LAI('901'H, '70'H, 2342))); exp_resp.sGsAP_PAGING_REQUEST.locationAreaId := exp_lai; @@ -4505,9 +4506,26 @@ } } - /* Now do nothing, the MSC/VLR should fail silently to page after a - * few seconds, The SGs association must remain unchanged. */ - f_sleep(15.0); + /* While we are doing nothing, expect an SGsAP-SERVICE-ABORT-REQUEST + * after some time */ + timer T := 10.0; + T.start + alt { + [] SGsAP.receive(exp_serv_abrt) + { + setverdict(pass); + } + [] SGsAP.receive { + setverdict(fail, "unexpected SGsAP message received"); + self.stop; + } + [] T.timeout { + setverdict(fail, "MSC did not send SGsAP-SERVICE-ABORT-REQUEST"); + self.stop; + } + } + + /* The SGs association must remain unchanged. */ f_ctrl_get_exp(IPA_CTRL, "fsm.SGs-UE.id.imsi:" & hex2str(g_pars.imsi) & ".state", "SGs-ASSOCIATED"); f_sgsap_bssmap_screening(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99950a17ccf26aaa0eebded5480f33be4c57586a Gerrit-Change-Number: 15597 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:30:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:30:42 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15591 ) Change subject: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 Gerrit-Change-Number: 15591 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:30:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:30:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:30:46 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Add Procedure Codes and IEI constants to CommonDataTypes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15593 ) Change subject: sabp: Add Procedure Codes and IEI constants to CommonDataTypes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e Gerrit-Change-Number: 15593 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:30:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:30:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:30:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP (Service Area Broadcast Protocol) definitions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 ) Change subject: SABP (Service Area Broadcast Protocol) definitions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 Gerrit-Change-Number: 15589 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:30:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:30:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:30:58 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15594 ) Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:30:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP CodecPort and SABP_Adapter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 ) Change subject: SABP CodecPort and SABP_Adapter ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 Gerrit-Change-Number: 15590 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:31:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP (Service Area Broadcast Protocol) definitions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 ) Change subject: SABP (Service Area Broadcast Protocol) definitions ...................................................................... SABP (Service Area Broadcast Protocol) definitions Using ASN.1 syntax copy+pasted from 3GPP TS 25.419 version 15.0.0 Release 15 Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 --- A library/sabp/SABP_CommonDataTypes.asn A library/sabp/SABP_Constants.asn A library/sabp/SABP_Containers.asn A library/sabp/SABP_EncDec.cc A library/sabp/SABP_IEs.asn A library/sabp/SABP_PDU_Contents.asn A library/sabp/SABP_PDU_Descriptions.asn A library/sabp/SABP_Templates.ttcn A library/sabp/SABP_Types.ttcn 9 files changed, 1,747 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/sabp/SABP_CommonDataTypes.asn b/library/sabp/SABP_CommonDataTypes.asn new file mode 100644 index 0000000..92f3e12 --- /dev/null +++ b/library/sabp/SABP_CommonDataTypes.asn @@ -0,0 +1,16 @@ +-- +-- Common definitions +-- +-- ************************************************************** +SABP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +Criticality ::= ENUMERATED { reject, ignore, notify } +Presence ::= ENUMERATED { optional, conditional, mandatory } +ProcedureCode ::= INTEGER (0..255) +ProtocolExtensionID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER (0..65535) +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} +END diff --git a/library/sabp/SABP_Constants.asn b/library/sabp/SABP_Constants.asn new file mode 100644 index 0000000..5b390a9 --- /dev/null +++ b/library/sabp/SABP_Constants.asn @@ -0,0 +1,66 @@ +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** +SABP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** +id-Write-Replace INTEGER ::= 0 +id-Kill INTEGER ::= 1 +id-Load-Status-Enquiry INTEGER ::= 2 +id-Message-Status-Query INTEGER ::= 3 +id-Restart-Indication INTEGER ::= 4 +id-Reset INTEGER ::= 5 +id-Failure-Indication INTEGER ::= 6 +id-Error-Indication INTEGER ::= 7 +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** +id-Broadcast-Message-Content INTEGER ::= 0 +id-Category INTEGER ::= 1 +id-Cause INTEGER ::= 2 +id-Criticality-Diagnostics INTEGER ::=3 +id-Data-Coding-Scheme INTEGER ::= 4 +id-Failure-List INTEGER ::= 5 +id-Message-Identifier INTEGER ::= 6 +id-New-Serial-Number INTEGER ::= 7 +id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 +id-Number-of-Broadcasts-Requested INTEGER ::= 9 +id-Old-Serial-Number INTEGER ::= 10 +id-Radio-Resource-Loading-List INTEGER ::= 11 +id-Recovery-Indication INTEGER ::= 12 +id-Repetition-Period INTEGER ::= 13 +id-Serial-Number INTEGER ::= 14 +id-Service-Areas-List INTEGER ::= 15 +id-MessageStructure INTEGER ::= 16 +id-TypeOfError INTEGER ::= 17 +id-Paging-ETWS-Indicator INTEGER ::= 18 +id-Warning-Type INTEGER ::= 19 +id-WarningSecurityInfo INTEGER ::= 20 +id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofSAI INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxNrOfLevels INTEGER ::= 256 +END diff --git a/library/sabp/SABP_Containers.asn b/library/sabp/SABP_Containers.asn new file mode 100644 index 0000000..0aea9cc --- /dev/null +++ b/library/sabp/SABP_Containers.asn @@ -0,0 +1,94 @@ +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** +SABP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + Presence, + ProtocolExtensionID, + ProtocolIE-ID +FROM SABP-CommonDataTypes + maxProtocolExtensions, + maxProtocolIEs +FROM SABP-Constants; +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** +SABP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** +SABP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** +ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} +ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** +ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} +ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} +END diff --git a/library/sabp/SABP_EncDec.cc b/library/sabp/SABP_EncDec.cc new file mode 100644 index 0000000..3c60e82 --- /dev/null +++ b/library/sabp/SABP_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "SABP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace SABP__Types { + +TTCN_Module SABP__EncDec("SABP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__SABP__PDU(const SABP__PDU__Descriptions::SABP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(SABP__PDU__Descriptions::SABP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_SABP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +SABP__PDU__Descriptions::SABP__PDU dec__SABP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_SABP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + SABP__PDU__Descriptions::SABP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(SABP__PDU__Descriptions::SABP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/sabp/SABP_IEs.asn b/library/sabp/SABP_IEs.asn new file mode 100644 index 0000000..e21e007 --- /dev/null +++ b/library/sabp/SABP_IEs.asn @@ -0,0 +1,203 @@ +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** +SABP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +IMPORTS + maxNrOfErrors, + maxnoofSAI, + maxNrOfLevels, + id-MessageStructure, + id-TypeOfError +FROM SABP-Constants + Criticality, + ProcedureCode, + TriggeringMessage, + ProtocolIE-ID +FROM SABP-CommonDataTypes + ProtocolExtensionContainer{}, + SABP-PROTOCOL-EXTENSION +FROM SABP-Containers; +-- A +Available-Bandwidth ::= INTEGER (0..20480) +-- bits/sec +-- B +Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e. +-- the message. +Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED { + broadcast-Message-Content-not-valid, + ... +} +-- C +Category ::= ENUMERATED { + high-priority, + background-priority, + normal-priority, + default-priority, + ... +} +Cause ::= INTEGER { + parameter-not-recognised (0), + parameter-value-invalid (1), + valid-CN-message-not-identified (2), + service-area-identity-not-valid (3), + unrecognised-message (4), + missing-mandatory-element (5), + rNC-capacity-exceeded (6), + rNC-memory-exceeded (7), + service-area-broadcast-not-supported (8), + service-area-broadcast-not-operational (9), + message-reference-already-used (10), + unspecifed-error (11), + transfer-syntax-error (12), + semantic-error (13), + message-not-compatible-with-receiver-state (14), + abstract-syntax-error-reject (15), + abstract-syntax-error-ignore-and-notify (16), + abstract-syntax-error-falsely-constructed-message (17) +} (0..255) +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} +CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } +CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } +MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- D +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) +-- E +-- F +Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item +Failure-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + ... +} +FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +-- G +-- H +-- I +-- J +-- K +-- L +-- M +Message-Identifier ::= BIT STRING (SIZE (16)) +-- N +New-Serial-Number ::= Serial-Number +Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Number-of-Broadcasts-Completed-List-Item +Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + number-of-broadcasts-completed INTEGER (0..65535), + number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + ... +} +NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Number-Of-Broadcasts-Completed-Info ::= ENUMERATED { + overflow, + unknown, + ... +} +Number-of-Broadcasts-Requested ::= INTEGER { + broadcast-indefinitely (0) +} (0..65535) +-- O +Old-Serial-Number ::= Serial-Number +-- P +Paging-ETWS-Indicator ::= ENUMERATED { + paging, + ... +} +-- Q +-- R +Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Radio-Resource-Loading-List-Item +Radio-Resource-Loading-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + available-bandwidth Available-Bandwidth, + iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + ... +} +RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Recovery-Indication ::= ENUMERATED { + data-lost, + data-available +} +RepetitionNumber0 ::= INTEGER(0..255) +RepetitionNumber1 ::= INTEGER(1..256) +Repetition-Period ::= INTEGER (1..4096) +-- Each unit represents a repetition of one second to a maximum of +-- once per 4096 seconds (~1 hour). +-- S +Serial-Number ::= BIT STRING (SIZE (16)) +Service-Area-Identifier ::= SEQUENCE { + pLMNidentity OCTET STRING (SIZE (3)) + -- Digits 0 to 9, two digits per octet. -- + -- Each octet encoded 0000 to 1001. -- + -- 1111 used as filler -- + -- Bit 4 to 1 of octet n encoding digit 2n-1. -- + -- Bit 8 to 5 of octet n encoding digit 2n. -- + -- The PLMN identity consists of 3 digits from MCC -- + -- followed by either a filler plus 2 digits -- + -- from MNC (in case of 2 digit MNC) or 3 digits -- + -- from MNC (in case of 3 digit MNC). -- , + lac OCTET STRING (SIZE (2)) + -- 0000 and FFFE not allowed -- , + sac OCTET STRING (SIZE (2)) +} +-- **TODO** The IE type for these parameters is not known as yet +Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier +-- T +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +-- U +-- V +-- W +WarningSecurityInfo ::= OCTET STRING (SIZE (50)) +Warning-Type ::= OCTET STRING (SIZE(2)) +-- X +-- Y +END diff --git a/library/sabp/SABP_PDU_Contents.asn b/library/sabp/SABP_PDU_Contents.asn new file mode 100644 index 0000000..814da2f --- /dev/null +++ b/library/sabp/SABP_PDU_Contents.asn @@ -0,0 +1,447 @@ +-- ************************************************************** +-- +-- PDU definitions for SABP. +-- +-- ************************************************************** +SABP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Broadcast-Message-Content, + Category, + Cause, +Criticality-Diagnostics, + Data-Coding-Scheme, + Failure-List, + Message-Identifier, + New-Serial-Number, + Number-of-Broadcasts-Completed-List, + Number-of-Broadcasts-Requested, + Old-Serial-Number, + Paging-ETWS-Indicator, + Radio-Resource-Loading-List, + Recovery-Indication, + Repetition-Period, + Serial-Number, + Service-Areas-List, + WarningSecurityInfo, + Warning-Type, + Broadcast-Message-Content-Validity-Indicator +FROM SABP-IEs + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + SABP-PROTOCOL-EXTENSION, + SABP-PROTOCOL-IES +FROM SABP-Containers + id-Broadcast-Message-Content, + id-Category, + id-Criticality-Diagnostics, + id-Cause, + id-Data-Coding-Scheme, + id-Failure-List, + id-Message-Identifier, + id-New-Serial-Number, + id-Number-of-Broadcasts-Completed-List, + id-Number-of-Broadcasts-Requested, + id-Old-Serial-Number, + id-Paging-ETWS-Indicator, + id-Radio-Resource-Loading-List, + id-Recovery-Indication, + id-Repetition-Period, + id-Serial-Number, + id-Service-Areas-List, + id-WarningSecurityInfo, + id-Warning-Type, + id-Broadcast-Message-Content-Validity-Indicator +FROM SABP-Constants; +-- ************************************************************** +-- +-- Write-Replace +-- +-- ************************************************************** +Write-Replace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL, + ... +} +Write-Replace-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Requested + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } | + { ID id-Broadcast-Message-Content + CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory }, + ... +} +Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= { + { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } | + { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } | + { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } | + { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE +optional }, + ... +} +-- ************************************************************** +-- +-- Write-Replace-Complete +-- +-- ************************************************************** +Write-Replace-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL, + ... +} +Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Write-Replace-Failure +-- +-- ************************************************************** +Write-Replace-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL, + ... +} +Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill +-- +-- ************************************************************** +Kill ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL, + ... +} +Kill-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Kill-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Complete +-- +-- ************************************************************** +Kill-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL, + ... +} +Kill-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Failure +-- +-- ************************************************************** +Kill-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL, + ... +} +Kill-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query +-- +-- ************************************************************** +Load-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL, + ... +} +Load-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Complete +-- +-- ************************************************************** +Load-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL, + ... +} +Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Radio-Resource-Loading-List + CRITICALITY reject TYPE Radio-Resource-Loading-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Failure +-- +-- ************************************************************** +Load-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL, + ... +} +Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Radio-Resource-Loading-List + CRITICALITY ignore TYPE Radio-Resource-Loading-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query +-- +-- ************************************************************** +Message-Status-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Complete +-- +-- ************************************************************** +Message-Status-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Failure +-- +-- ************************************************************** +Message-Status-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL, + ... +} +Reset-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Reset-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Complete +-- +-- ************************************************************** +Reset-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL, + ... +} +Reset-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Failure +-- +-- ************************************************************** +Reset-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, + ... +} +Reset-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + ... +} +Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Restart +-- +-- ************************************************************** +Restart ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Restart-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL, + ... +} +Restart-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } , + ... +} +Restart-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Failure +-- +-- ************************************************************** +Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL, + ... +} +Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Error-Indication +-- +-- ************************************************************** +Error-Indication ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Error-Indication-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL, + ... +} +Error-Indication-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } | + { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +END diff --git a/library/sabp/SABP_PDU_Descriptions.asn b/library/sabp/SABP_PDU_Descriptions.asn new file mode 100644 index 0000000..428c35a --- /dev/null +++ b/library/sabp/SABP_PDU_Descriptions.asn @@ -0,0 +1,168 @@ +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +SABP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)} +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + ProcedureCode +FROM SABP-CommonDataTypes + Error-Indication, + Failure, + Kill, + Kill-Complete, + Kill-Failure, + Load-Query, + Load-Query-Complete, + Load-Query-Failure, + Reset, + Reset-Complete, + Reset-Failure, + Restart, + Message-Status-Query, + Message-Status-Query-Complete, + Message-Status-Query-Failure, + Write-Replace, + Write-Replace-Complete, + Write-Replace-Failure +FROM SABP-PDU-Contents + id-Error-Indication, + id-Failure-Indication, + id-Kill, + id-Reset, + id-Restart-Indication, + id-Load-Status-Enquiry, + id-Message-Status-Query, + id-Write-Replace +FROM SABP-Constants; +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME +&SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} +InitiatingMessage ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +SuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= { + SABP-ELEMENTARY-PROCEDURES-CLASS-1 | + SABP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= { + write-Replace | + kill | + load-Status-Enquiry | + message-Status-Query | + reset , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= { + restart-Indication | + failure-Indication | + error-Indication , + ... +} +write-Replace SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Write-Replace + SUCCESSFUL OUTCOME Write-Replace-Complete + UNSUCCESSFUL OUTCOME Write-Replace-Failure + PROCEDURE CODE id-Write-Replace + CRITICALITY reject +} +kill SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Kill + SUCCESSFUL OUTCOME Kill-Complete + UNSUCCESSFUL OUTCOME Kill-Failure + PROCEDURE CODE id-Kill + CRITICALITY reject +} +load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Load-Query + SUCCESSFUL OUTCOME Load-Query-Complete + UNSUCCESSFUL OUTCOME Load-Query-Failure + PROCEDURE CODE id-Load-Status-Enquiry + CRITICALITY reject +} +message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Message-Status-Query + SUCCESSFUL OUTCOME Message-Status-Query-Complete + UNSUCCESSFUL OUTCOME Message-Status-Query-Failure + PROCEDURE CODE id-Message-Status-Query + CRITICALITY reject +} +reset SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME Reset-Complete + UNSUCCESSFUL OUTCOME Reset-Failure + PROCEDURE CODE id-Reset + CRITICALITY reject +} +restart-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Restart + PROCEDURE CODE id-Restart-Indication + CRITICALITY ignore +} +failure-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Failure + PROCEDURE CODE id-Failure-Indication + CRITICALITY ignore +} +error-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Error-Indication + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore +} +END diff --git a/library/sabp/SABP_Templates.ttcn b/library/sabp/SABP_Templates.ttcn new file mode 100644 index 0000000..a5ed81d --- /dev/null +++ b/library/sabp/SABP_Templates.ttcn @@ -0,0 +1,682 @@ +/* SABP Templates in TTCN-3 + * (C) 2019 Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module SABP_Templates { + +import from General_Types all; + +import from SABP_IEs all; +import from SABP_CommonDataTypes all; +import from SABP_Constants all; +import from SABP_Containers all; +import from SABP_PDU_Contents all; +import from SABP_PDU_Descriptions all; + +template (value) Service_Area_Identifier ts_SabpSai(template (value) OCT3 plmn_id, + template (value) OCT2 lac, + template (value) OCT2 sac) := { + pLMNidentity := plmn_id, + lac := lac, + sac := sac +} + +/* 9.1.3 WRITE REPLACE */ +template (value) SABP_PDU +ts_SABP_Write(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Service_Areas_List sa_list, template (value) integer rep_per, + template (value) integer num_bcast, template (value) BIT8 dcs, + template (value) bitstring content) := { + initiatingMessage := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + /* Optional: Old Serial Number */ + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, { + /* Optional: Category */ + id := SABP_Constants.id_Repetition_Period, + criticality := reject, + value_ := { Repetition_Period := rep_per } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Requested, + criticality := reject, + value_ := { Number_of_Broadcasts_Requested := num_bcast } + }, { + id := SABP_Constants.id_Data_Coding_Scheme, + criticality := reject, + value_ := { Data_Coding_Scheme := dcs } + }, { + id := SABP_Constants.id_Broadcast_Message_Content, + criticality := reject, + value_ := { Broadcast_Message_Content := content } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Write(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Service_Areas_List sa_list := ?, template (present) integer rep_per := ?, + template (present) integer num_bcast := ?, template (present) BIT8 dcs := ?, + template (present) bitstring content := ?) := { + initiatingMessage := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, *, /* Optional: Old Serial Number */ + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * /* Optional: Category */, + { + id := SABP_Constants.id_Repetition_Period, + criticality := reject, + value_ := { Repetition_Period := rep_per } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Requested, + criticality := reject, + value_ := { Number_of_Broadcasts_Requested := num_bcast } + }, { + id := SABP_Constants.id_Data_Coding_Scheme, + criticality := reject, + value_ := { Data_Coding_Scheme := dcs } + }, { + id := SABP_Constants.id_Broadcast_Message_Content, + criticality := reject, + value_ := { Broadcast_Message_Content := content } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.4 WRITE REPLACE COMPLETE */ +template (value) SABP_PDU +ts_SABPWriteCompl(template (value) BIT16 msg_id, template (value) BIT16 ser_nr) := { + successfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + } + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_WriteCompl(template (present) BIT16 msg_id, template (present) BIT16 ser_nr) := { + successfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, * + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.5 WRITE REPLACE FAILURE */ +template (value) SABP_PDU +ts_SABP_WriteFail(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Failure_List fail_list) := { + unsuccessfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + } + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_WriteFail(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Failure_List fail_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Write_Replace, + criticality := reject, + value_ := { + Write_Replace_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_New_Serial_Number, + criticality := reject, + value_ := { New_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + }, * + /* Optional: Number of Broadcasts Completed List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.6 KILL */ +template (value) SABP_PDU +ts_SABP_Kill(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + kill_ := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Kill(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + kill_ := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.7 KILL COMPLETE */ +template (value) SABP_PDU +ts_SABP_KillCompl(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Number_of_Broadcasts_Completed_List num_bcast_compl) := { + successfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Completed_List, + criticality := reject, + value_ := { Number_of_Broadcasts_Completed_List := num_bcast_compl } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_KillCompl(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Number_of_Broadcasts_Completed_List num_bcast_compl := ?) := { + successfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Number_of_Broadcasts_Completed_List, + criticality := reject, + value_ := { Number_of_Broadcasts_Completed_List := num_bcast_compl } + }, * + }, + protocolExtensions := * + } + } + } +} + + +/* 9.1.7 KILL FAILURE */ +template (value) SABP_PDU +ts_SABP_KillFail(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Failure_List fail_list) := { + unsuccessfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + } + /* Optional: Number-of-Broadcasts-Completed-List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_KillFail(template (present) BIT16 msg_id, template (present) BIT16 ser_nr, + template (present) Failure_List fail_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Kill, + criticality := reject, + value_ := { + Kill_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := reject, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Old_Serial_Number, + criticality := reject, + value_ := { Old_Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := fail_list } + }, * + /* Optional: Number-of-Broadcasts-Completed-List */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + +/* TODO: Load Query + Complete + Failure */ +/* TODO: Message Status Query + Complete + Failure */ + +/* 9.1.15 RESET */ +template (value) SABP_PDU +ts_SABP_Reset(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Reset(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + + +/* 9.1.16 RESET COMPLETE */ +template (value) SABP_PDU +ts_SABP_ResetCompl(template (value) Service_Areas_List sa_list) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ResetCompl(template (present) Service_Areas_List sa_list) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Complete := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.17 RESET FAILURE */ +template (value) SABP_PDU +ts_SABP_ResetFail(template (value) Failure_List f_list) := { + unsuccessfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := f_list } + } + /* Optional: Service Area List */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ResetFail(template (present) Failure_List f_list := ?) := { + unsuccessfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset_Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Failure_List, + criticality := reject, + value_ := { Failure_List := f_list } + }, * + /* Optional: Service Area List */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.18 RESTART (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_Restart(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Restart_Indication, + criticality := ignore, + value_ := { + Restart := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + } + /* Optional: Recovery_Indication */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Restart(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Restart_Indication, + criticality := ignore, + value_ := { + Restart := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := reject, + value_ := { Service_Areas_List := sa_list } + }, * + /* Optional: Recovery_Indication */ + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.19 FAILURE (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_Failure(template (value) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Failure_Indication, + criticality := ignore, + value_ := { + Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := ignore, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_Failure(template (present) Service_Areas_List sa_list) := { + initiatingMessage := { + procedureCode := id_Failure_Indication, + criticality := ignore, + value_ := { + Failure := { + protocolIEs := { + { + id := SABP_Constants.id_Service_Areas_List, + criticality := ignore, + value_ := { Service_Areas_List := sa_list } + } + }, + protocolExtensions := * + } + } + } +} + +/* 9.1.20 ERROR INDICATION (RNC->CN) */ +template (value) SABP_PDU +ts_SABP_ErrorInd(template (value) BIT16 msg_id, template (value) BIT16 ser_nr, + template (value) Cause cause) := { + initiatingMessage := { + procedureCode := id_Error_Indication, + criticality := ignore, + value_ := { + Error_Indication := { + protocolIEs := { + { + id := SABP_Constants.id_Message_Identifier, + criticality := ignore, + value_ := { Message_Identifier := msg_id } + }, { + id := SABP_Constants.id_Serial_Number, + criticality := ignore, + value_ := { Serial_Number := ser_nr } + }, { + id := SABP_Constants.id_Cause, + criticality := ignore, + value_ :={ Cause := cause } + } + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := omit + } + } + } +} +template (present) SABP_PDU +tr_SABP_ErrorInd := { + initiatingMessage := { + procedureCode := id_Error_Indication, + criticality := ignore, + value_ := { + Error_Indication := { + protocolIEs := { + * + /* Optional: Message-Identifier */ + /* Optional: Serial-Number */ + /* Optional: Cause */ + /* Optional: Criticality-Diagnostics */ + }, + protocolExtensions := * + } + } + } +} + + + +} + diff --git a/library/sabp/SABP_Types.ttcn b/library/sabp/SABP_Types.ttcn new file mode 100644 index 0000000..df86549 --- /dev/null +++ b/library/sabp/SABP_Types.ttcn @@ -0,0 +1,7 @@ +module SABP_Types { + + import from SABP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_SABP_PDU(in SABP_PDU pdu) return octetstring; + external function dec_SABP_PDU(in octetstring stream) return SABP_PDU; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137 Gerrit-Change-Number: 15589 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SABP CodecPort and SABP_Adapter In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 ) Change subject: SABP CodecPort and SABP_Adapter ...................................................................... SABP CodecPort and SABP_Adapter These modules allow TTCN-3 tests to interface with SABP peers over TCP. Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 --- A library/SABP_Adapter.ttcn A library/SABP_CodecPort.ttcn A library/SABP_CodecPort_CtrlFunct.ttcn A library/SABP_CodecPort_CtrlFunctDef.cc 4 files changed, 348 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/SABP_Adapter.ttcn b/library/SABP_Adapter.ttcn new file mode 100644 index 0000000..e94e91c --- /dev/null +++ b/library/SABP_Adapter.ttcn @@ -0,0 +1,165 @@ +module SABP_Adapter { + +/* SABP Adapter layer, sitting on top of SABP_CodecPort. + * test suites can 'inherit' in order to have a SABP connection to the IUT which they're testing + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from Osmocom_Types all; +import from General_Types all; +import from SABP_Types all; +import from SABP_PDU_Descriptions all; +import from SABP_Templates all; +import from SABP_CodecPort all; +import from SABP_CodecPort_CtrlFunct all; +import from IPL4asp_Types all; +import from IPL4asp_PortType all; +//import from Socket_API_Definitions all; + +const integer SABP_HDR_LEN := 3; + +const integer NUM_SABP := 3; + +type component SABP_Adapter_CT { + /* down-facing port to SABP Codec port */ + port SABP_CODEC_PT SABP[NUM_SABP]; + var IPL4asp_Types.ConnectionId g_sabp_conn_id[NUM_SABP] := { -1, -1, -1 }; +} + +/*! parse a single APER length determinant. Return -1 if input insufficient or -2 if invalid */ +private function f_aper_len_det(in octetstring stream, out integer len_len) return integer { + if (lengthof(stream) < 1) { + return -1; + } + + select (stream[0] and4b 'C0'O) { + case ('00'O) { + /* total length is encoded in this octet */ + len_len := 1; + return oct2int(stream[0]); + } + case ('80'O) { + /* total length (up to 16k) encoded in two octets */ + if (lengthof(stream) < 2) { + return -1; + } + len_len := 2; + return (oct2int(stream[0] and4b '3F'O) * 256) + oct2int(stream[1]); + } + case ('C0'O) { + /* total length not known, encoded in chunks; first chunk length now known */ + len_len := 1; + return oct2int(stream[0] and4b '3F'O) * 16384; + } + case else { + return -2; + } + + } +} + +/* The callback function has to return the length of the message if completely received. It has to return + * "-1" if the length cannot be determined. If the message is incomplete, but the length can be + * determined, then the function should return the length. In this case the callback function will not be + * called again for the given message - possibly increasing the performance. Alternatively the function may + * always return "-1" when the message is incomplete. + * If the callback function detects that the it will be impossible to determine the length of the message, + * even receiving more octets, should return "-2". In this case the connection will be closed and the + * length calculation error will be reported. */ +private function f_APER_getMsgLen(in octetstring stream, inout ro_integer args) return integer { + var integer stream_len := lengthof(stream); + var integer hdr_len := args[0]; + var octetstring stream_nohdr; + var integer len, len_len; + + if (stream_len < hdr_len + 1) { + return -1; + } + stream_nohdr := substr(stream, hdr_len, stream_len-hdr_len); + + len := f_aper_len_det(stream_nohdr, len_len); + if (len < 0) { + /* error: return to caller */ + return len; + } + if (len < 16384) { + /* full length is known: return to caller */ + return hdr_len + len_len + len; + } else { + /* 'cursor' to next length indicator */ + var integer cur := hdr_len + len_len + len; + /* iterate the whole chain of chunks */ + while (true) { + if (stream_len < cur + 1) { + return -1; + } + len := f_aper_len_det(substr(stream, cur, stream_len-cur), len_len); + if (len < 0) { + /* error: return to caller */ + return len; + } + if (len < 16384) { + /* final chunk: segment with less than 16384 bytes */ + return cur + len_len + len; + } else { + /* point to next chunk */ + cur := cur + len_len + len; + } + } + } + /* not reached */ + return -2; +} + +private function f_set_tcp_segmentation(integer idx) runs on SABP_Adapter_CT { + /* Set function for dissecting the binary stream into packets */ + var f_IPL4_getMsgLen vl_f := refers(f_APER_getMsgLen); + /* Offset: 1, size of length: 3, delta: 4, multiplier: 1, big-endian */ + SABP_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(SABP[idx], g_sabp_conn_id[idx], vl_f, {SABP_HDR_LEN}); +} + +function f_connect(charstring remote_host, IPL4asp_Types.PortNumber remote_port, + charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on SABP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:SABP[idx], system:SABP); + res := SABP_CodecPort_CtrlFunct.f_IPL4_connect(SABP[idx], remote_host, remote_port, + local_host, local_port, 0, { tcp :={} }); + if (not ispresent(res.connId)) { + setverdict(fail, "Could not connect to SABP port, check your configuration"); + mtc.stop; + } + g_sabp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +/* Function to use to bind to a local port as IPA server, accepting remote clients */ +function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, integer idx := 0) +runs on SABP_Adapter_CT { + var IPL4asp_Types.Result res; + map(self:SABP[idx], system:SABP); + res := SABP_CodecPort_CtrlFunct.f_IPL4_listen(SABP[idx], local_host, local_port, { tcp:={} }); + g_sabp_conn_id[idx] := res.connId; + + f_set_tcp_segmentation(idx); +} + +function f_sabp_send(template (value) SABP_PDU pdu, integer idx := 0) runs on SABP_Adapter_CT { + SABP[idx].send(ts_SABP_Send(g_sabp_conn_id[idx], pdu)); +} + +function f_sabp_exp(template SABP_PDU exp, integer idx := 0) runs on SABP_Adapter_CT return SABP_PDU { + var SABP_RecvFrom rf; + SABP[idx].receive(tr_SABP_Recv(g_sabp_conn_id[idx], exp)) -> value rf; + return rf.msg; +} + + +} diff --git a/library/SABP_CodecPort.ttcn b/library/SABP_CodecPort.ttcn new file mode 100644 index 0000000..65fb542 --- /dev/null +++ b/library/SABP_CodecPort.ttcn @@ -0,0 +1,65 @@ +module SABP_CodecPort { + +/* Simple SABP Codec Port, translating between raw TCP octetstring payload + * towards the IPL4asp port provider, and SABP primitives + * which carry the decoded SABP data types as payload. + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + + +import from IPL4asp_PortType all; +import from IPL4asp_Types all; +import from SABP_PDU_Descriptions all; +import from SABP_Types all; + +type record SABP_RecvFrom { + ConnectionId connId, + SABP_PDU msg +} + +type record SABP_Send { + ConnectionId connId, + SABP_PDU msg +} + +template (value) SABP_Send ts_SABP_Send(ConnectionId conn_id, template (value) SABP_PDU msg) := { + connId := conn_id, + msg := msg +} + +template SABP_RecvFrom tr_SABP_Recv(template ConnectionId conn_id, template SABP_PDU msg) := { + connId := conn_id, + msg := msg +} + +private function IPL4_to_SABP_RecvFrom(in ASP_RecvFrom pin, out SABP_RecvFrom pout) { + pout.connId := pin.connId; + pout.msg := dec_SABP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +private function SABP_to_IPL4_Send(in SABP_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { tcp := {} }; + pout.msg := enc_SABP_PDU(pin.msg); +} with { extension "prototype(fast)" } + +type port SABP_CODEC_PT message { + out SABP_Send; + in SABP_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; +} with { extension "user IPL4asp_PT + out(SABP_Send -> ASP_Send: function(SABP_to_IPL4_Send)) + in(ASP_RecvFrom -> SABP_RecvFrom: function(IPL4_to_SABP_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" +} + + + +} diff --git a/library/SABP_CodecPort_CtrlFunct.ttcn b/library/SABP_CodecPort_CtrlFunct.ttcn new file mode 100644 index 0000000..814c701 --- /dev/null +++ b/library/SABP_CodecPort_CtrlFunct.ttcn @@ -0,0 +1,52 @@ +module SABP_CodecPort_CtrlFunct { + + import from SABP_CodecPort all; + import from IPL4asp_Types all; + + external function f_IPL4_listen( + inout SABP_CODEC_PT portRef, + in HostName locName, + in PortNumber locPort, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_connect( + inout SABP_CODEC_PT portRef, + in HostName remName, + in PortNumber remPort, + in HostName locName, + in PortNumber locPort, + in ConnectionId connId, + in ProtoTuple proto, + in OptionList options := {} + ) return Result; + + external function f_IPL4_close( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + in ProtoTuple proto := { unspecified := {} } + ) return Result; + + external function f_IPL4_setUserData( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + in UserData userData + ) return Result; + + external function f_IPL4_getUserData( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + out UserData userData + ) return Result; + + external function f_IPL4_setGetMsgLen( + inout SABP_CODEC_PT portRef, + in ConnectionId id, + inout f_IPL4_getMsgLen f, + in ro_integer msgLenArgs + ); + + +} + diff --git a/library/SABP_CodecPort_CtrlFunctDef.cc b/library/SABP_CodecPort_CtrlFunctDef.cc new file mode 100644 index 0000000..f146d6d --- /dev/null +++ b/library/SABP_CodecPort_CtrlFunctDef.cc @@ -0,0 +1,66 @@ +#include "IPL4asp_PortType.hh" +#include "SABP_CodecPort.hh" +#include "IPL4asp_PT.hh" + +namespace SABP__CodecPort__CtrlFunct { + + IPL4asp__Types::Result f__IPL4__listen( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__listen(portRef, locName, locPort, proto, options); + } + + IPL4asp__Types::Result f__IPL4__connect( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::HostName& remName, + const IPL4asp__Types::PortNumber& remPort, + const IPL4asp__Types::HostName& locName, + const IPL4asp__Types::PortNumber& locPort, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto, + const IPL4asp__Types::OptionList& options) + { + return f__IPL4__PROVIDER__connect(portRef, remName, remPort, + locName, locPort, connId, proto, options); + } + + IPL4asp__Types::Result f__IPL4__close( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::ProtoTuple& proto) + { + return f__IPL4__PROVIDER__close(portRef, connId, proto); + } + + IPL4asp__Types::Result f__IPL4__setUserData( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + const IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__setUserData(portRef, connId, userData); + } + + IPL4asp__Types::Result f__IPL4__getUserData( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + IPL4asp__Types::UserData& userData) + { + return f__IPL4__PROVIDER__getUserData(portRef, connId, userData); + } + + void f__IPL4__setGetMsgLen( + SABP__CodecPort::SABP__CODEC__PT& portRef, + const IPL4asp__Types::ConnectionId& connId, + Socket__API__Definitions::f__getMsgLen& f, + const Socket__API__Definitions::ro__integer& msgLenArgs) + { + return f__IPL4__PROVIDER__setGetMsgLen(portRef, connId, f, msgLenArgs); + } + + +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6c3cfff044ec447d3e58b646c85ccb0531843b51 Gerrit-Change-Number: 15590 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:19 +0000 Subject: Change in ...osmo-iuh[master]: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our t... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15592 ) Change subject: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8211bc334b325e8950edcd769917f164a65591ba Gerrit-Change-Number: 15592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:31:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:25 +0000 Subject: Change in ...osmo-iuh[master]: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our t... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15592 ) Change subject: sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) ...................................................................... sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain) Change-Id: I8211bc334b325e8950edcd769917f164a65591ba --- M asn1/sabp/SABP-IEs.asn A asn1/sabp/SABP-PDU.asn 2 files changed, 155 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn index e21e007..0efd14e 100644 --- a/asn1/sabp/SABP-IEs.asn +++ b/asn1/sabp/SABP-IEs.asn @@ -12,6 +12,7 @@ maxNrOfErrors, maxnoofSAI, maxNrOfLevels, + maxProtocolExtensions, id-MessageStructure, id-TypeOfError FROM SABP-Constants @@ -20,9 +21,11 @@ TriggeringMessage, ProtocolIE-ID FROM SABP-CommonDataTypes - ProtocolExtensionContainer{}, - SABP-PROTOCOL-EXTENSION -FROM SABP-Containers; + IE +FROM SABP-PDU; + +IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE + -- A Available-Bandwidth ::= INTEGER (0..20480) -- bits/sec @@ -66,7 +69,7 @@ triggeringMessage TriggeringMessage OPTIONAL, procedureCriticality Criticality OPTIONAL, iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -77,19 +80,19 @@ iECriticality Criticality, iE-ID ProtocolIE-ID, repetitionNumber RepetitionNumber0 OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { - { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| - { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + -- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + -- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, ... } MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF SEQUENCE { iE-ID ProtocolIE-ID, repetitionNumber RepetitionNumber1 OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -103,7 +106,7 @@ Failure-List-Item ::= SEQUENCE { service-area-identifier Service-Area-Identifier, cause Cause, - iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -125,7 +128,7 @@ service-area-identifier Service-Area-Identifier, number-of-broadcasts-completed INTEGER (0..65535), number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { @@ -153,7 +156,7 @@ Radio-Resource-Loading-List-Item ::= SEQUENCE { service-area-identifier Service-Area-Identifier, available-bandwidth Available-Bandwidth, - iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + iE-Extensions IE-Extensions OPTIONAL, ... } RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { diff --git a/asn1/sabp/SABP-PDU.asn b/asn1/sabp/SABP-PDU.asn new file mode 100644 index 0000000..becb238 --- /dev/null +++ b/asn1/sabp/SABP-PDU.asn @@ -0,0 +1,141 @@ +SABP-PDU { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp(3) version1 (1) sabp-PDU (255) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxProtocolIEs +FROM SABP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID +FROM SABP-CommonDataTypes; + +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode ProcedureCode, + criticality Criticality, + value ANY +} + + +Write-Replace ::= SEQUENCE { + write-Replace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Write-Replace-Complete ::= SEQUENCE { + write-Replace-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Write-Replace-Failure ::= SEQUENCE { + write-Replace-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill ::= SEQUENCE { + kill-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill-Complete ::= SEQUENCE { + kill-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Kill-Failure ::= SEQUENCE { + kill-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query ::= SEQUENCE { + load-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query-Complete ::= SEQUENCE { + load-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Load-Query-Failure ::= SEQUENCE { + load-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query ::= SEQUENCE { + message-Status-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query-Complete ::= SEQUENCE { + message-Status-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Message-Status-Query-Failure ::= SEQUENCE { + message-Status-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset ::= SEQUENCE { + reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset-Complete ::= SEQUENCE { + reset-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Reset-Failure ::= SEQUENCE { + reset-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Restart ::= SEQUENCE { + restart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Failure ::= SEQUENCE { + failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + +Error-Indication ::= SEQUENCE { + error-Indication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, + ... +} + + +IE ::= SEQUENCE { + id ProtocolIE-ID, + criticality Criticality, + value ANY +} + +END -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8211bc334b325e8950edcd769917f164a65591ba Gerrit-Change-Number: 15592 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:25 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15591 ) Change subject: sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) ...................................................................... sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03) They cannot immediately be consumed by our (ancient, hacked) asn1c toolchain, so we have to massage them into the supported format in follow-up commits. Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 --- A asn1/sabp/SABP-CommonDataTypes.asn A asn1/sabp/SABP-Constants.asn A asn1/sabp/SABP-Containers.asn A asn1/sabp/SABP-IEs.asn A asn1/sabp/SABP-PDU-Contents.asn A asn1/sabp/SABP-PDU-Descriptions.asn 6 files changed, 994 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn new file mode 100644 index 0000000..92f3e12 --- /dev/null +++ b/asn1/sabp/SABP-CommonDataTypes.asn @@ -0,0 +1,16 @@ +-- +-- Common definitions +-- +-- ************************************************************** +SABP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-CommonDataTypes (3) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +Criticality ::= ENUMERATED { reject, ignore, notify } +Presence ::= ENUMERATED { optional, conditional, mandatory } +ProcedureCode ::= INTEGER (0..255) +ProtocolExtensionID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER (0..65535) +TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} +END diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn new file mode 100644 index 0000000..5b390a9 --- /dev/null +++ b/asn1/sabp/SABP-Constants.asn @@ -0,0 +1,66 @@ +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** +SABP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** +id-Write-Replace INTEGER ::= 0 +id-Kill INTEGER ::= 1 +id-Load-Status-Enquiry INTEGER ::= 2 +id-Message-Status-Query INTEGER ::= 3 +id-Restart-Indication INTEGER ::= 4 +id-Reset INTEGER ::= 5 +id-Failure-Indication INTEGER ::= 6 +id-Error-Indication INTEGER ::= 7 +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** +id-Broadcast-Message-Content INTEGER ::= 0 +id-Category INTEGER ::= 1 +id-Cause INTEGER ::= 2 +id-Criticality-Diagnostics INTEGER ::=3 +id-Data-Coding-Scheme INTEGER ::= 4 +id-Failure-List INTEGER ::= 5 +id-Message-Identifier INTEGER ::= 6 +id-New-Serial-Number INTEGER ::= 7 +id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 +id-Number-of-Broadcasts-Requested INTEGER ::= 9 +id-Old-Serial-Number INTEGER ::= 10 +id-Radio-Resource-Loading-List INTEGER ::= 11 +id-Recovery-Indication INTEGER ::= 12 +id-Repetition-Period INTEGER ::= 13 +id-Serial-Number INTEGER ::= 14 +id-Service-Areas-List INTEGER ::= 15 +id-MessageStructure INTEGER ::= 16 +id-TypeOfError INTEGER ::= 17 +id-Paging-ETWS-Indicator INTEGER ::= 18 +id-Warning-Type INTEGER ::= 19 +id-WarningSecurityInfo INTEGER ::= 20 +id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofSAI INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 +maxNrOfLevels INTEGER ::= 256 +END diff --git a/asn1/sabp/SABP-Containers.asn b/asn1/sabp/SABP-Containers.asn new file mode 100644 index 0000000..0aea9cc --- /dev/null +++ b/asn1/sabp/SABP-Containers.asn @@ -0,0 +1,94 @@ +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** +SABP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + Presence, + ProtocolExtensionID, + ProtocolIE-ID +FROM SABP-CommonDataTypes + maxProtocolExtensions, + maxProtocolIEs +FROM SABP-Constants; +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** +SABP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** +SABP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality DEFAULT ignore, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** +ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} +ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** +ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} +ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} +END diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn new file mode 100644 index 0000000..e21e007 --- /dev/null +++ b/asn1/sabp/SABP-IEs.asn @@ -0,0 +1,203 @@ +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** +SABP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-IEs (2) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +IMPORTS + maxNrOfErrors, + maxnoofSAI, + maxNrOfLevels, + id-MessageStructure, + id-TypeOfError +FROM SABP-Constants + Criticality, + ProcedureCode, + TriggeringMessage, + ProtocolIE-ID +FROM SABP-CommonDataTypes + ProtocolExtensionContainer{}, + SABP-PROTOCOL-EXTENSION +FROM SABP-Containers; +-- A +Available-Bandwidth ::= INTEGER (0..20480) +-- bits/sec +-- B +Broadcast-Message-Content ::= BIT STRING (SIZE (1..9968))-- This IE is sent from the CN to the RNC containing user information i.e. +-- the message. +Broadcast-Message-Content-Validity-Indicator ::= ENUMERATED { + broadcast-Message-Content-not-valid, + ... +} +-- C +Category ::= ENUMERATED { + high-priority, + background-priority, + normal-priority, + default-priority, + ... +} +Cause ::= INTEGER { + parameter-not-recognised (0), + parameter-value-invalid (1), + valid-CN-message-not-identified (2), + service-area-identity-not-valid (3), + unrecognised-message (4), + missing-mandatory-element (5), + rNC-capacity-exceeded (6), + rNC-memory-exceeded (7), + service-area-broadcast-not-supported (8), + service-area-broadcast-not-operational (9), + message-reference-already-used (10), + unspecifed-error (11), + transfer-syntax-error (12), + semantic-error (13), + message-not-compatible-with-receiver-state (14), + abstract-syntax-error-reject (15), + abstract-syntax-error-ignore-and-notify (16), + abstract-syntax-error-falsely-constructed-message (17) +} (0..255) +Criticality-Diagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} +CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } +CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }| + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } +MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- D +Data-Coding-Scheme ::= BIT STRING (SIZE (8)) +-- E +-- F +Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item +Failure-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL, + ... +} +FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +-- G +-- H +-- I +-- J +-- K +-- L +-- M +Message-Identifier ::= BIT STRING (SIZE (16)) +-- N +New-Serial-Number ::= Serial-Number +Number-of-Broadcasts-Completed-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Number-of-Broadcasts-Completed-List-Item +Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + number-of-broadcasts-completed INTEGER (0..65535), + number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL, + ... +} +NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Number-Of-Broadcasts-Completed-Info ::= ENUMERATED { + overflow, + unknown, + ... +} +Number-of-Broadcasts-Requested ::= INTEGER { + broadcast-indefinitely (0) +} (0..65535) +-- O +Old-Serial-Number ::= Serial-Number +-- P +Paging-ETWS-Indicator ::= ENUMERATED { + paging, + ... +} +-- Q +-- R +Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF + Radio-Resource-Loading-List-Item +Radio-Resource-Loading-List-Item ::= SEQUENCE { + service-area-identifier Service-Area-Identifier, + available-bandwidth Available-Bandwidth, + iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL, + ... +} +RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= { +... +} +Recovery-Indication ::= ENUMERATED { + data-lost, + data-available +} +RepetitionNumber0 ::= INTEGER(0..255) +RepetitionNumber1 ::= INTEGER(1..256) +Repetition-Period ::= INTEGER (1..4096) +-- Each unit represents a repetition of one second to a maximum of +-- once per 4096 seconds (~1 hour). +-- S +Serial-Number ::= BIT STRING (SIZE (16)) +Service-Area-Identifier ::= SEQUENCE { + pLMNidentity OCTET STRING (SIZE (3)) + -- Digits 0 to 9, two digits per octet. -- + -- Each octet encoded 0000 to 1001. -- + -- 1111 used as filler -- + -- Bit 4 to 1 of octet n encoding digit 2n-1. -- + -- Bit 8 to 5 of octet n encoding digit 2n. -- + -- The PLMN identity consists of 3 digits from MCC -- + -- followed by either a filler plus 2 digits -- + -- from MNC (in case of 2 digit MNC) or 3 digits -- + -- from MNC (in case of 3 digit MNC). -- , + lac OCTET STRING (SIZE (2)) + -- 0000 and FFFE not allowed -- , + sac OCTET STRING (SIZE (2)) +} +-- **TODO** The IE type for these parameters is not known as yet +Service-Areas-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Service-Area-Identifier +-- T +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +-- U +-- V +-- W +WarningSecurityInfo ::= OCTET STRING (SIZE (50)) +Warning-Type ::= OCTET STRING (SIZE(2)) +-- X +-- Y +END diff --git a/asn1/sabp/SABP-PDU-Contents.asn b/asn1/sabp/SABP-PDU-Contents.asn new file mode 100644 index 0000000..814da2f --- /dev/null +++ b/asn1/sabp/SABP-PDU-Contents.asn @@ -0,0 +1,447 @@ +-- ************************************************************** +-- +-- PDU definitions for SABP. +-- +-- ************************************************************** +SABP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Contents (1) } +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Broadcast-Message-Content, + Category, + Cause, +Criticality-Diagnostics, + Data-Coding-Scheme, + Failure-List, + Message-Identifier, + New-Serial-Number, + Number-of-Broadcasts-Completed-List, + Number-of-Broadcasts-Requested, + Old-Serial-Number, + Paging-ETWS-Indicator, + Radio-Resource-Loading-List, + Recovery-Indication, + Repetition-Period, + Serial-Number, + Service-Areas-List, + WarningSecurityInfo, + Warning-Type, + Broadcast-Message-Content-Validity-Indicator +FROM SABP-IEs + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + SABP-PROTOCOL-EXTENSION, + SABP-PROTOCOL-IES +FROM SABP-Containers + id-Broadcast-Message-Content, + id-Category, + id-Criticality-Diagnostics, + id-Cause, + id-Data-Coding-Scheme, + id-Failure-List, + id-Message-Identifier, + id-New-Serial-Number, + id-Number-of-Broadcasts-Completed-List, + id-Number-of-Broadcasts-Requested, + id-Old-Serial-Number, + id-Paging-ETWS-Indicator, + id-Radio-Resource-Loading-List, + id-Recovery-Indication, + id-Repetition-Period, + id-Serial-Number, + id-Service-Areas-List, + id-WarningSecurityInfo, + id-Warning-Type, + id-Broadcast-Message-Content-Validity-Indicator +FROM SABP-Constants; +-- ************************************************************** +-- +-- Write-Replace +-- +-- ************************************************************** +Write-Replace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Extensions} } OPTIONAL, + ... +} +Write-Replace-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY ignore TYPE Old-Serial-Number PRESENCE optional } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Category CRITICALITY ignore TYPE Category PRESENCE optional } | + { ID id-Repetition-Period CRITICALITY reject TYPE Repetition-Period PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Requested + CRITICALITY reject TYPE Number-of-Broadcasts-Requested PRESENCE mandatory } | + { ID id-Data-Coding-Scheme CRITICALITY reject TYPE Data-Coding-Scheme PRESENCE mandatory } | + { ID id-Broadcast-Message-Content + CRITICALITY reject TYPE Broadcast-Message-Content PRESENCE mandatory }, + ... +} +Write-Replace-Extensions SABP-PROTOCOL-EXTENSION ::= { + { ID id-WarningSecurityInfo CRITICALITY ignore EXTENSION WarningSecurityInfo PRESENCE optional } | + { ID id-Paging-ETWS-Indicator CRITICALITY ignore EXTENSION Paging-ETWS-Indicator PRESENCE optional } | + { ID id-Warning-Type CRITICALITY ignore EXTENSION Warning-Type PRESENCE optional } | + { ID id-Broadcast-Message-Content-Validity-Indicator CRITICALITY ignore EXTENSION Broadcast-Message-Content-Validity-Indicator PRESENCE +optional }, + ... +} +-- ************************************************************** +-- +-- Write-Replace-Complete +-- +-- ************************************************************** +Write-Replace-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Complete-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Complete-Extensions} } OPTIONAL, + ... +} +Write-Replace-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Write-Replace-Failure +-- +-- ************************************************************** +Write-Replace-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Write-Replace-Failure-IEs} }, + protocolExtensions ProtocolExtensionContainer { {Write-Replace-Failure-Extensions} } OPTIONAL, + ... +} +Write-Replace-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-New-Serial-Number CRITICALITY reject TYPE New-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Write-Replace-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill +-- +-- ************************************************************** +Kill ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Extensions}} OPTIONAL, + ... +} +Kill-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Kill-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Complete +-- +-- ************************************************************** +Kill-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Complete-Extensions}} OPTIONAL, + ... +} +Kill-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory }| +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Kill-Failure +-- +-- ************************************************************** +Kill-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Kill-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Kill-Failure-Extensions}} OPTIONAL, + ... +} +Kill-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Kill-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query +-- +-- ************************************************************** +Load-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Extensions}} OPTIONAL, + ... +} +Load-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Load-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Complete +-- +-- ************************************************************** +Load-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Complete-Extensions}} OPTIONAL, + ... +} +Load-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Radio-Resource-Loading-List + CRITICALITY reject TYPE Radio-Resource-Loading-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Load-Query-Failure +-- +-- ************************************************************** +Load-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Load-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Load-Query-Failure-Extensions}} OPTIONAL, + ... +} +Load-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Radio-Resource-Loading-List + CRITICALITY ignore TYPE Radio-Resource-Loading-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Load-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query +-- +-- ************************************************************** +Message-Status-Query ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Message-Status-Query-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Complete +-- +-- ************************************************************** +Message-Status-Query-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Complete-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY reject TYPE Number-of-Broadcasts-Completed-List + PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Message-Status-Query-Failure +-- +-- ************************************************************** +Message-Status-Query-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Message-Status-Query-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Message-Status-Query-Failure-Extensions}} OPTIONAL, + ... +} +Message-Status-Query-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY reject TYPE Message-Identifier PRESENCE mandatory } | + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Old-Serial-Number CRITICALITY reject TYPE Old-Serial-Number PRESENCE mandatory } | + { ID id-Number-of-Broadcasts-Completed-List + CRITICALITY ignore TYPE Number-of-Broadcasts-Completed-List + PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Message-Status-Query-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Extensions}} OPTIONAL, + ... +} +Reset-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Reset-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Complete +-- +-- ************************************************************** +Reset-Complete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Complete-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Complete-Extensions}} OPTIONAL, + ... +} +Reset-Complete-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE mandatory } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Reset-Complete-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Reset-Failure +-- +-- ************************************************************** +Reset-Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Reset-Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Reset-Failure-Extensions}} OPTIONAL, + ... +} +Reset-Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Failure-List CRITICALITY reject TYPE Failure-List PRESENCE mandatory } | + { ID id-Service-Areas-List CRITICALITY reject TYPE Service-Areas-List PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional } , + ... +} +Reset-Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Restart +-- +-- ************************************************************** +Restart ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Restart-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Restart-Extensions}} OPTIONAL, + ... +} +Restart-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } | + { ID id-Recovery-Indication CRITICALITY ignore TYPE Recovery-Indication PRESENCE optional } , + ... +} +Restart-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Failure +-- +-- ************************************************************** +Failure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Failure-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Failure-Extensions}} OPTIONAL, + ... +} +Failure-IEs SABP-PROTOCOL-IES ::= { + { ID id-Service-Areas-List CRITICALITY ignore TYPE Service-Areas-List PRESENCE mandatory } , + ... +} +Failure-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- Error-Indication +-- +-- ************************************************************** +Error-Indication ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{Error-Indication-IEs}}, + protocolExtensions ProtocolExtensionContainer {{Error-Indication-Extensions}} OPTIONAL, + ... +} +Error-Indication-IEs SABP-PROTOCOL-IES ::= { + { ID id-Message-Identifier CRITICALITY ignore TYPE Message-Identifier PRESENCE optional } | + { ID id-Serial-Number CRITICALITY ignore TYPE Serial-Number PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | +{ ID id-Criticality-Diagnostics +CRITICALITY ignore TYPE Criticality-Diagnostics PRESENCE optional }, + ... +} +Error-Indication-Extensions SABP-PROTOCOL-EXTENSION ::= { + ... +} +END diff --git a/asn1/sabp/SABP-PDU-Descriptions.asn b/asn1/sabp/SABP-PDU-Descriptions.asn new file mode 100644 index 0000000..428c35a --- /dev/null +++ b/asn1/sabp/SABP-PDU-Descriptions.asn @@ -0,0 +1,168 @@ +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +SABP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) sabp (3) version1 (1) sabp-PDU-Descriptions (0)} +DEFINITIONS AUTOMATIC TAGS ::= +BEGIN +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** +IMPORTS + Criticality, + ProcedureCode +FROM SABP-CommonDataTypes + Error-Indication, + Failure, + Kill, + Kill-Complete, + Kill-Failure, + Load-Query, + Load-Query-Complete, + Load-Query-Failure, + Reset, + Reset-Complete, + Reset-Failure, + Restart, + Message-Status-Query, + Message-Status-Query-Complete, + Message-Status-Query-Failure, + Write-Replace, + Write-Replace-Complete, + Write-Replace-Failure +FROM SABP-PDU-Contents + id-Error-Indication, + id-Failure-Indication, + id-Kill, + id-Reset, + id-Restart-Indication, + id-Load-Status-Enquiry, + id-Message-Status-Query, + id-Write-Replace +FROM SABP-Constants; +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME +&SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** +SABP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} +InitiatingMessage ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +SuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode SABP-ELEMENTARY-PROCEDURE.&procedureCode ({SABP-ELEMENTARY-PROCEDURES}), + criticality SABP-ELEMENTARY-PROCEDURE.&criticality ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value SABP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({SABP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** +SABP-ELEMENTARY-PROCEDURES SABP-ELEMENTARY-PROCEDURE ::= { + SABP-ELEMENTARY-PROCEDURES-CLASS-1 | + SABP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-1 SABP-ELEMENTARY-PROCEDURE ::= { + write-Replace | + kill | + load-Status-Enquiry | + message-Status-Query | + reset , + ... +} +SABP-ELEMENTARY-PROCEDURES-CLASS-2 SABP-ELEMENTARY-PROCEDURE ::= { + restart-Indication | + failure-Indication | + error-Indication , + ... +} +write-Replace SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Write-Replace + SUCCESSFUL OUTCOME Write-Replace-Complete + UNSUCCESSFUL OUTCOME Write-Replace-Failure + PROCEDURE CODE id-Write-Replace + CRITICALITY reject +} +kill SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Kill + SUCCESSFUL OUTCOME Kill-Complete + UNSUCCESSFUL OUTCOME Kill-Failure + PROCEDURE CODE id-Kill + CRITICALITY reject +} +load-Status-Enquiry SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Load-Query + SUCCESSFUL OUTCOME Load-Query-Complete + UNSUCCESSFUL OUTCOME Load-Query-Failure + PROCEDURE CODE id-Load-Status-Enquiry + CRITICALITY reject +} +message-Status-Query SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Message-Status-Query + SUCCESSFUL OUTCOME Message-Status-Query-Complete + UNSUCCESSFUL OUTCOME Message-Status-Query-Failure + PROCEDURE CODE id-Message-Status-Query + CRITICALITY reject +} +reset SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME Reset-Complete + UNSUCCESSFUL OUTCOME Reset-Failure + PROCEDURE CODE id-Reset + CRITICALITY reject +} +restart-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Restart + PROCEDURE CODE id-Restart-Indication + CRITICALITY ignore +} +failure-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Failure + PROCEDURE CODE id-Failure-Indication + CRITICALITY ignore +} +error-Indication SABP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Error-Indication + PROCEDURE CODE id-Error-Indication + CRITICALITY ignore +} +END -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I9fa05d14493889e0a23354938b04a335a117f242 Gerrit-Change-Number: 15591 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:28 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Generate C/H files for SABP; create libosmo-sabp In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15594 ) Change subject: sabp: Generate C/H files for SABP; create libosmo-sabp ...................................................................... sabp: Generate C/H files for SABP; create libosmo-sabp This uses the (modified) Osmocom asn1c on the (modified) SABP ASN.1 syntax to generate C code + header files for SABP parsing/encoding. It also adds some helper code for message encoding and decoding as well as a new libosmo-sabp shared library which can be used by programs to implement SABP related functionality. Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 --- M .gitignore M Makefile.am M configure.ac M include/osmocom/Makefile.am A include/osmocom/sabp/Makefile.am A include/osmocom/sabp/SABP_Available-Bandwidth.h A include/osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h A include/osmocom/sabp/SABP_Broadcast-Message-Content.h A include/osmocom/sabp/SABP_Category.h A include/osmocom/sabp/SABP_Cause.h A include/osmocom/sabp/SABP_Criticality-Diagnostics.h A include/osmocom/sabp/SABP_Criticality.h A include/osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h A include/osmocom/sabp/SABP_Data-Coding-Scheme.h A include/osmocom/sabp/SABP_Error-Indication.h A include/osmocom/sabp/SABP_Failure-List-Item.h A include/osmocom/sabp/SABP_Failure-List.h A include/osmocom/sabp/SABP_Failure.h A include/osmocom/sabp/SABP_IE-Extensions.h A include/osmocom/sabp/SABP_IE.h A include/osmocom/sabp/SABP_InitiatingMessage.h A include/osmocom/sabp/SABP_Kill-Complete.h A include/osmocom/sabp/SABP_Kill-Failure.h A include/osmocom/sabp/SABP_Kill.h A include/osmocom/sabp/SABP_Load-Query-Complete.h A include/osmocom/sabp/SABP_Load-Query-Failure.h A include/osmocom/sabp/SABP_Load-Query.h A include/osmocom/sabp/SABP_Message-Identifier.h A include/osmocom/sabp/SABP_Message-Status-Query-Complete.h A include/osmocom/sabp/SABP_Message-Status-Query-Failure.h A include/osmocom/sabp/SABP_Message-Status-Query.h A include/osmocom/sabp/SABP_MessageStructure.h A include/osmocom/sabp/SABP_New-Serial-Number.h A include/osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h A include/osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h A include/osmocom/sabp/SABP_Old-Serial-Number.h A include/osmocom/sabp/SABP_Paging-ETWS-Indicator.h A include/osmocom/sabp/SABP_Presence.h A include/osmocom/sabp/SABP_ProcedureCode.h A include/osmocom/sabp/SABP_ProtocolExtensionID.h A include/osmocom/sabp/SABP_ProtocolIE-ID.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h A include/osmocom/sabp/SABP_Radio-Resource-Loading-List.h A include/osmocom/sabp/SABP_Recovery-Indication.h A include/osmocom/sabp/SABP_Repetition-Period.h A include/osmocom/sabp/SABP_RepetitionNumber0.h A include/osmocom/sabp/SABP_RepetitionNumber1.h A include/osmocom/sabp/SABP_Reset-Complete.h A include/osmocom/sabp/SABP_Reset-Failure.h A include/osmocom/sabp/SABP_Reset.h A include/osmocom/sabp/SABP_Restart.h A include/osmocom/sabp/SABP_SABP-PDU.h A include/osmocom/sabp/SABP_Serial-Number.h A include/osmocom/sabp/SABP_Service-Area-Identifier.h A include/osmocom/sabp/SABP_Service-Areas-List.h A include/osmocom/sabp/SABP_SuccessfulOutcome.h A include/osmocom/sabp/SABP_TriggeringMessage.h A include/osmocom/sabp/SABP_TypeOfError.h A include/osmocom/sabp/SABP_UnsuccessfulOutcome.h A include/osmocom/sabp/SABP_Warning-Type.h A include/osmocom/sabp/SABP_WarningSecurityInfo.h A include/osmocom/sabp/SABP_Write-Replace-Complete.h A include/osmocom/sabp/SABP_Write-Replace-Failure.h A include/osmocom/sabp/SABP_Write-Replace.h A include/osmocom/sabp/sabp_common.h A libosmo-sabp.pc.in M src/.gitignore M src/Makefile.am A src/sabp/Makefile.am A src/sabp/SABP_Available-Bandwidth.c A src/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.c A src/sabp/SABP_Broadcast-Message-Content.c A src/sabp/SABP_Category.c A src/sabp/SABP_Cause.c A src/sabp/SABP_Criticality-Diagnostics.c A src/sabp/SABP_Criticality.c A src/sabp/SABP_CriticalityDiagnostics-IE-List.c A src/sabp/SABP_Data-Coding-Scheme.c A src/sabp/SABP_Error-Indication.c A src/sabp/SABP_Failure-List-Item.c A src/sabp/SABP_Failure-List.c A src/sabp/SABP_Failure.c A src/sabp/SABP_IE-Extensions.c A src/sabp/SABP_IE.c A src/sabp/SABP_InitiatingMessage.c A src/sabp/SABP_Kill-Complete.c A src/sabp/SABP_Kill-Failure.c A src/sabp/SABP_Kill.c A src/sabp/SABP_Load-Query-Complete.c A src/sabp/SABP_Load-Query-Failure.c A src/sabp/SABP_Load-Query.c A src/sabp/SABP_Message-Identifier.c A src/sabp/SABP_Message-Status-Query-Complete.c A src/sabp/SABP_Message-Status-Query-Failure.c A src/sabp/SABP_Message-Status-Query.c A src/sabp/SABP_MessageStructure.c A src/sabp/SABP_New-Serial-Number.c A src/sabp/SABP_Number-Of-Broadcasts-Completed-Info.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.c A src/sabp/SABP_Number-of-Broadcasts-Completed-List.c A src/sabp/SABP_Number-of-Broadcasts-Requested.c A src/sabp/SABP_Old-Serial-Number.c A src/sabp/SABP_Paging-ETWS-Indicator.c A src/sabp/SABP_Presence.c A src/sabp/SABP_ProcedureCode.c A src/sabp/SABP_ProtocolExtensionID.c A src/sabp/SABP_ProtocolIE-ID.c A src/sabp/SABP_Radio-Resource-Loading-List-Item.c A src/sabp/SABP_Radio-Resource-Loading-List.c A src/sabp/SABP_Recovery-Indication.c A src/sabp/SABP_Repetition-Period.c A src/sabp/SABP_RepetitionNumber0.c A src/sabp/SABP_RepetitionNumber1.c A src/sabp/SABP_Reset-Complete.c A src/sabp/SABP_Reset-Failure.c A src/sabp/SABP_Reset.c A src/sabp/SABP_Restart.c A src/sabp/SABP_SABP-PDU.c A src/sabp/SABP_Serial-Number.c A src/sabp/SABP_Service-Area-Identifier.c A src/sabp/SABP_Service-Areas-List.c A src/sabp/SABP_SuccessfulOutcome.c A src/sabp/SABP_TriggeringMessage.c A src/sabp/SABP_TypeOfError.c A src/sabp/SABP_UnsuccessfulOutcome.c A src/sabp/SABP_Warning-Type.c A src/sabp/SABP_WarningSecurityInfo.c A src/sabp/SABP_Write-Replace-Complete.c A src/sabp/SABP_Write-Replace-Failure.c A src/sabp/SABP_Write-Replace.c A src/sabp_common.c 133 files changed, 11,908 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ib9580d1af96354398da4c9f97b28a0e23d56e275 Gerrit-Change-Number: 15594 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:31:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:31:26 +0000 Subject: Change in ...osmo-iuh[master]: sabp: Add Procedure Codes and IEI constants to CommonDataTypes In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-iuh/+/15593 ) Change subject: sabp: Add Procedure Codes and IEI constants to CommonDataTypes ...................................................................... sabp: Add Procedure Codes and IEI constants to CommonDataTypes ... this is what's required for asn1c to generate nice C language enums for it. Conversion was performed semi-automatically by use of asn1enum.pl Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e --- M asn1/sabp/SABP-CommonDataTypes.asn M asn1/sabp/SABP-Constants.asn 2 files changed, 72 insertions(+), 32 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/asn1/sabp/SABP-CommonDataTypes.asn b/asn1/sabp/SABP-CommonDataTypes.asn index 92f3e12..40bfb83 100644 --- a/asn1/sabp/SABP-CommonDataTypes.asn +++ b/asn1/sabp/SABP-CommonDataTypes.asn @@ -9,8 +9,41 @@ BEGIN Criticality ::= ENUMERATED { reject, ignore, notify } Presence ::= ENUMERATED { optional, conditional, mandatory } -ProcedureCode ::= INTEGER (0..255) + +ProcedureCode ::= INTEGER { + id-Write-Replace(0), + id-Kill(1), + id-Load-Status-Enquiry(2), + id-Message-Status-Query(3), + id-Restart-Indication(4), + id-Reset(5), + id-Failure-Indication(6), + id-Error-Indication(7) +} (0..255) ProtocolExtensionID ::= INTEGER (0..65535) -ProtocolIE-ID ::= INTEGER (0..65535) +ProtocolIE-ID ::= INTEGER { + id-Broadcast-Message-Content(0), + id-Category(1), + id-Cause(2), + id-Data-Coding-Scheme(4), + id-Failure-List(5), + id-Message-Identifier(6), + id-New-Serial-Number(7), + id-Number-of-Broadcasts-Completed-List(8), + id-Number-of-Broadcasts-Requested(9), + id-Old-Serial-Number(10), + id-Radio-Resource-Loading-List(11), + id-Recovery-Indication(12), + id-Repetition-Period(13), + id-Serial-Number(14), + id-Service-Areas-List(15), + id-MessageStructure(16), + id-TypeOfError(17), + id-Paging-ETWS-Indicator(18), + id-Warning-Type(19), + id-WarningSecurityInfo(20), + id-Broadcast-Message-Content-Validity-Indicator(21) +} (0..65535) + TriggeringMessage ::= ENUMERATED {initiating-message, successful-outcome, unsuccessful-outcome, outcome} END diff --git a/asn1/sabp/SABP-Constants.asn b/asn1/sabp/SABP-Constants.asn index 5b390a9..5db7739 100644 --- a/asn1/sabp/SABP-Constants.asn +++ b/asn1/sabp/SABP-Constants.asn @@ -8,46 +8,53 @@ umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Constants (4) } DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM SABP-CommonDataTypes; + + -- ************************************************************** -- -- Elementary Procedures -- -- ************************************************************** -id-Write-Replace INTEGER ::= 0 -id-Kill INTEGER ::= 1 -id-Load-Status-Enquiry INTEGER ::= 2 -id-Message-Status-Query INTEGER ::= 3 -id-Restart-Indication INTEGER ::= 4 -id-Reset INTEGER ::= 5 -id-Failure-Indication INTEGER ::= 6 -id-Error-Indication INTEGER ::= 7 +id-Write-Replace ProcedureCode ::= 0 +id-Kill ProcedureCode ::= 1 +id-Load-Status-Enquiry ProcedureCode ::= 2 +id-Message-Status-Query ProcedureCode ::= 3 +id-Restart-Indication ProcedureCode ::= 4 +id-Reset ProcedureCode ::= 5 +id-Failure-Indication ProcedureCode ::= 6 +id-Error-Indication ProcedureCode ::= 7 -- ************************************************************** -- -- IEs -- -- ************************************************************** -id-Broadcast-Message-Content INTEGER ::= 0 -id-Category INTEGER ::= 1 -id-Cause INTEGER ::= 2 -id-Criticality-Diagnostics INTEGER ::=3 -id-Data-Coding-Scheme INTEGER ::= 4 -id-Failure-List INTEGER ::= 5 -id-Message-Identifier INTEGER ::= 6 -id-New-Serial-Number INTEGER ::= 7 -id-Number-of-Broadcasts-Completed-List INTEGER ::= 8 -id-Number-of-Broadcasts-Requested INTEGER ::= 9 -id-Old-Serial-Number INTEGER ::= 10 -id-Radio-Resource-Loading-List INTEGER ::= 11 -id-Recovery-Indication INTEGER ::= 12 -id-Repetition-Period INTEGER ::= 13 -id-Serial-Number INTEGER ::= 14 -id-Service-Areas-List INTEGER ::= 15 -id-MessageStructure INTEGER ::= 16 -id-TypeOfError INTEGER ::= 17 -id-Paging-ETWS-Indicator INTEGER ::= 18 -id-Warning-Type INTEGER ::= 19 -id-WarningSecurityInfo INTEGER ::= 20 -id-Broadcast-Message-Content-Validity-Indicator INTEGER ::= 21 +id-Broadcast-Message-Content ProtocolIE-ID ::= 0 +id-Category ProtocolIE-ID ::= 1 +id-Cause ProtocolIE-ID ::= 2 +id-Criticality-Diagnostics ProtocolIE-ID ::=3 +id-Data-Coding-Scheme ProtocolIE-ID ::= 4 +id-Failure-List ProtocolIE-ID ::= 5 +id-Message-Identifier ProtocolIE-ID ::= 6 +id-New-Serial-Number ProtocolIE-ID ::= 7 +id-Number-of-Broadcasts-Completed-List ProtocolIE-ID ::= 8 +id-Number-of-Broadcasts-Requested ProtocolIE-ID ::= 9 +id-Old-Serial-Number ProtocolIE-ID ::= 10 +id-Radio-Resource-Loading-List ProtocolIE-ID ::= 11 +id-Recovery-Indication ProtocolIE-ID ::= 12 +id-Repetition-Period ProtocolIE-ID ::= 13 +id-Serial-Number ProtocolIE-ID ::= 14 +id-Service-Areas-List ProtocolIE-ID ::= 15 +id-MessageStructure ProtocolIE-ID ::= 16 +id-TypeOfError ProtocolIE-ID ::= 17 +id-Paging-ETWS-Indicator ProtocolIE-ID ::= 18 +id-Warning-Type ProtocolIE-ID ::= 19 +id-WarningSecurityInfo ProtocolIE-ID ::= 20 +id-Broadcast-Message-Content-Validity-Indicator ProtocolIE-ID ::= 21 -- ************************************************************** -- -- Extension constants -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/15593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I0cd78a102ec6e31c696efc2cc6a4f08a0ba6d89e Gerrit-Change-Number: 15593 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:32:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:32:03 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 19:32:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:32:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:32:12 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel c... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15408 ) Change subject: bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC ...................................................................... bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC TTCN3 BSC_Tests.TC_ms_rel_ind_does_not_cause_bssmap_reset seems to sometimes run into a race condition on the order of messages received by osmo-bsc comming from MSC and BTS. Usual (expected) scenario): BTS->BSC EST IND BSC->MSC CL3 Info BSC<-MSC CC BTS->BSC REL IND BTS<-BSC DEACT SACCH BSC->MSC ClearRequest BSC<-MSC ClearCommand BSC->MSC ClearComplete BTS<-BSC RF Chan Release BTS->BSC RF Chan Release ACK Sometimes CC message and REL IND message are received swapped (because they are sent by different components asynchronously in TTCN3). As a result, osmo-bsc was failing to go into CLEARING state and was unable to send the ClearRequest because CC was still not received. So the idea is to stay in WAIT_CC until CC is received, then check if the lchan was dropped and in that case go into clearing state. Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 28 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index f8784f9..60f035d 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -332,8 +332,19 @@ struct gsm_subscriber_connection *conn = fi->priv; switch (event) { case GSCON_EV_A_CONN_CFM: - /* MSC has confirmed the connection, we now change into the - * active state and wait there for further operations */ + /* MSC has confirmed the connection */ + + if (!conn->lchan) { + /* If associated lchan was released while we were waiting for the + confirmed connection, then instead simply drop the connection */ + LOGPFSML(fi, LOGL_INFO, + "Connection confirmed but lchan was dropped previously, clearing conn\n"); + osmo_fsm_inst_state_chg(conn->fi, ST_CLEARING, 60, 999); + gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); + break; + } + + /* We now change into the active state and wait there for further operations. */ conn_fsm_state_chg(ST_ACTIVE); /* if there's user payload, forward it just like EV_MT_DTAP */ /* FIXME: Question: if there's user payload attached to the CC, forward it like EV_MT_DTAP? */ @@ -589,7 +600,7 @@ [ST_WAIT_CC] = { .name = "WAIT_CC", .in_event_mask = S(GSCON_EV_A_CONN_CFM), - .out_state_mask = S(ST_ACTIVE), + .out_state_mask = S(ST_ACTIVE) | S(ST_CLEARING), .action = gscon_fsm_wait_cc, }, [ST_ACTIVE] = { @@ -651,10 +662,22 @@ lchan_forget_conn(conn->lchan); conn->lchan = NULL; } + /* If the conn has no lchan anymore, it was released by the BTS and needs to Clear towards MSC. */ if (!conn->lchan) { - if (conn->fi->state != ST_CLEARING) + switch (conn->fi->state) { + case ST_WAIT_CC: + /* The SCCP connection was not yet confirmed by a CC, the BSSAP is not fully established + yet so we cannot release it. First wait for the CC, and release in gscon_fsm_wait_cc(). */ + break; + default: + /* Ensure that the FSM is in ST_CLEARING. */ osmo_fsm_inst_state_chg(conn->fi, ST_CLEARING, 60, 999); - gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); + /* fall thru, omit an error log if already in ST_CLEARING */ + case ST_CLEARING: + /* Request a Clear Command from the MSC. */ + gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); + break; + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id1abf5ee44c60925b478123409f26bd29006202b Gerrit-Change-Number: 15408 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 19:33:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 26 Sep 2019 19:33:14 +0000 Subject: Change in ...libosmocore[master]: No fail if no /proc/cpuinfo In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14798 ) Change subject: No fail if no /proc/cpuinfo ...................................................................... No fail if no /proc/cpuinfo Change-Id: I4b9e12e34f69d98fa87179c7ee390e31001ec943 --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/Makefile.am b/tests/Makefile.am index 92edf75..ececf69 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -336,7 +336,7 @@ TESTSUITE = $(srcdir)/testsuite check-local: atconfig $(TESTSUITE) - cat /proc/cpuinfo + [ -e /proc/cpuinfo ] && cat /proc/cpuinfo $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) $(MAKE) $(AM_MAKEFLAGS) ext-tests -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b9e12e34f69d98fa87179c7ee390e31001ec943 Gerrit-Change-Number: 14798 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Ruben Undheim Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 23:05:46 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 26 Sep 2019 23:05:46 +0000 Subject: Change in ...osmo-msc[master]: catch GSUP auth result without auth_fsm In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15544 ) Change subject: catch GSUP auth result without auth_fsm ...................................................................... Patch Set 1: Code-Review+2 I think this patch is trivial and prevents a crash, so I am going to fast track this now. For further details see OS#4191 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e Gerrit-Change-Number: 15544 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 26 Sep 2019 23:05:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Sep 26 23:05:51 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 26 Sep 2019 23:05:51 +0000 Subject: Change in ...osmo-msc[master]: catch GSUP auth result without auth_fsm In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/15544 ) Change subject: catch GSUP auth result without auth_fsm ...................................................................... catch GSUP auth result without auth_fsm When a vlr_subscr receives an Send Auth Info result, properly check whether the subscriber has an auth_fsm. Before, a missing auth_fsm would crash osmo-msc with: vlr.c:762 Trying to dispatch event 1 to non-existent FSM instance! Related: OS#4191 Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e --- M src/libvlr/vlr.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index a227240..80710b2 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -757,6 +757,12 @@ struct osmo_fsm_inst *auth_fi = vsub->auth_fsm; void *data = (void *) gsup; + if (!auth_fi) { + LOGVSUBP(LOGL_ERROR, vsub, "Received GSUP %s, but there is no auth_fsm\n", + osmo_gsup_message_type_name(gsup->message_type)); + return -1; + } + switch (gsup->message_type) { case OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: osmo_fsm_inst_dispatch(auth_fi, VLR_AUTH_E_HLR_SAI_ACK, data); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1995d8f68cfde1140968fb9a97bd054de950de2e Gerrit-Change-Number: 15544 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 27 02:23:26 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 27 Sep 2019 02:23:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8d72bd355c0_fe22b1cb96365f4158998@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 557s] ar: `u' modifier ignored since `D' is the default (see `U') [ 557s] libtool: link: ranlib .libs/libtransceiver_common.a [ 557s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 557s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 557s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 557s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 557s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 557s] collect2: error: ld returned 1 exit status [ 557s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 557s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 557s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 557s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 557s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 557s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 557s] make[1]: *** [Makefile:444: all] Error 2 [ 557s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 557s] dh_auto_build: make -j1 returned exit code 2 [ 557s] make: *** [debian/rules:6: build] Error 255 [ 557s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 557s] [ 557s] cloud120 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 02:23:18 UTC 2019. [ 557s] [ 557s] ### VM INTERACTION START ### [ 561s] [ 511.582203] sysrq: SysRq : Power Off [ 561s] [ 511.586330] reboot: Power down [ 562s] ### VM INTERACTION END ### [ 562s] [ 562s] cloud120 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 02:23:23 UTC 2019. [ 562s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 27 02:30:33 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 27 Sep 2019 02:30:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8d74641e8d4_fe22b1cb96365f41604f3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 580s] ar: `u' modifier ignored since `D' is the default (see `U') [ 580s] libtool: link: ranlib .libs/libtransceiver_common.a [ 580s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 580s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 581s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 581s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 581s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 581s] collect2: error: ld returned 1 exit status [ 581s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 581s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 581s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 581s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 581s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 581s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 581s] make[1]: *** [Makefile:444: all] Error 2 [ 581s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 581s] dh_auto_build: make -j1 returned exit code 2 [ 581s] make: *** [debian/rules:6: build] Error 255 [ 581s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 581s] [ 581s] lamb62 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 02:30:19 UTC 2019. [ 581s] [ 581s] ### VM INTERACTION START ### [ 584s] [ 564.340610] sysrq: SysRq : Power Off [ 584s] [ 564.364917] reboot: Power down [ 585s] ### VM INTERACTION END ### [ 585s] [ 585s] lamb62 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 02:30:24 UTC 2019. [ 585s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:16:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:16:20 +0000 Subject: Change in ...libosmocore[master]: gsm29205_test: fix error: missing braces around initializer In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15595 ) Change subject: gsm29205_test: fix error: missing braces around initializer ...................................................................... gsm29205_test: fix error: missing braces around initializer Since structure 'osmo_gcr_parsed' does contain arrays, GCC is not happy about the way we initialize it. Let's do it explicitly. Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 --- M tests/gsm29205/gsm29205_test.c 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/gsm29205/gsm29205_test.c b/tests/gsm29205/gsm29205_test.c index 5add1b1..44c3453 100644 --- a/tests/gsm29205/gsm29205_test.c +++ b/tests/gsm29205/gsm29205_test.c @@ -44,7 +44,13 @@ }; uint8_t len; struct msgb *msg; - struct osmo_gcr_parsed p = { 0 }, g = { + struct osmo_gcr_parsed p = { + .net_len = 0, + .net = { 0 }, + .node = 0x00, + .cr = { 0 }, + }; + struct osmo_gcr_parsed g = { .net_len = 3, .net = { 0x51, 0x52, 0x53 }, .node = 0xDEAD, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia814b4a4ed5bec84ff1f69232f7f7d5ca0d19794 Gerrit-Change-Number: 15595 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:17:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:17:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 ) Change subject: library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request ...................................................................... library/RLCMAC_CSN1_Types.ttcn: add UL Packet Resource Request This change implements UL Packet Resource Request message as per 3GPP TS 44.060, section 11.2.16 (only mandatory fields), and a send template 'ts_RlcMacUlCtrl_PKT_RES_REQ' for it. Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 72 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1c8e74c..918cbff 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -353,11 +353,56 @@ variant (tlli) "BYTEORDER(first)" }; + /* 12.30 MS Radio Access Capability 2 (feature bitmask) + * (value part, see 3GPP TS 24.008, 10.5.5.12a) */ + type union MSRadioAccCap2 { + /* TODO: see table 10.5.146/3GPP TS 24.008 */ + bitstring other + }; + + /* Table 11.2.16.2 Access Type */ + type enumerated RlcAccessType { + RLC_ACC_TYPE_TWO_PHASE ('00'B), + RLC_ACC_TYPE_PAG_RESPONSE ('01'B), + RLC_ACC_TYPE_CELL_UPDATE ('10'B), + RLC_ACC_TYPE_MM ('11'B) + } with { variant "FIELDLENGTH(2)" }; + + type union PacketResourceReqID { + GlobalTfi gtfi, + GprsTlli tlli + } with { variant (tlli) "BYTEORDER(first)" }; + + /* 11.2.16 Packet Resource Request */ + type record PacketResourceReq { + BIT1 acc_type_presence, + RlcAccessType acc_type optional, + BIT1 id_type, + PacketResourceReqID id, + BIT1 ms_rac2_presence, + MSRadioAccCap2 ms_rac2 optional, + ChannelReqDescription ch_req_desc, + BIT1 change_mark_presence, + BIT2 change_mark optional, + BIT6 C_val, + BIT1 sign_var_presence, + BIT6 sign_var optional, + ILevels I_levels + /* TODO: additional contents for further Releases (starting from 1999) */ + } with { + variant (acc_type) "PRESENCE(acc_type_presence = '1'B)" + variant (id) "CROSSTAG(gtfi, id_type = '0'B; tlli, id_type = '1'B)" + variant (ms_rac2) "PRESENCE(ms_rac2_presence = '1'B)" + variant (change_mark) "PRESENCE(change_mark_presence = '1'B)" + variant (sign_var) "PRESENCE(sign_var_presence = '1'B)" + }; + /* 11.2.0.2 */ type union RlcmacUlCtrlUnion { PacketCtrlAck ctrl_ack, PacketDlAckNack dl_ack_nack, PacketUlDummy ul_dummy, + PacketResourceReq resource_req, octetstring other } with { variant "" }; @@ -368,6 +413,7 @@ variant (u) "CROSSTAG(ctrl_ack, msg_type = PACKET_CONTROL_ACK; dl_ack_nack, msg_type = PACKET_DL_ACK_NACK; ul_dummy, msg_type = PACKET_UL_DUMMY_CTRL; + resource_req, msg_type = PACKET_RESOURCE_REQUEST; other, OTHERWISE )" }; @@ -563,6 +609,32 @@ } } + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ( + GprsTlli tlli, ChannelReqDescription ch_req_desc, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE + ) := { + msg_type := PACKET_RESOURCE_REQUEST, + u := { + resource_req := { + acc_type_presence := '1'B, + acc_type := acc_type, + id_type := '1'B, + id := { tlli := tlli }, + ms_rac2_presence := '0'B, + ms_rac2 := omit, + ch_req_desc := ch_req_desc, + change_mark_presence := '0'B, + change_mark := omit, + C_val := '000000'B, + sign_var_presence := '0'B, + sign_var := omit, + I_levels := { + iNone, iNone, iNone, iNone, + iNone, iNone, iNone, iNone + } + } + } + } } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0d688beb4112d6db10ac89e2966b555e74887a6e Gerrit-Change-Number: 15525 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:17:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:17:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 ) Change subject: Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases ...................................................................... Introduce PCUIF, BTS and ClckGen components for RAW PCU test cases The problem of existing test cases is that they mix IUT (i.e. OsmoPCU) with OsmoBTS (osmo-bts-virtual) and OsmocomBB (virt_phy). This approach allows to avoid dealing with TDMA clock indications and RTS requests on the PCU interface - this is done by OsmoBTS. On the other hand, our test scenarios may be potentially affected by undiscovered bugs in OsmoBTS and the virt_phy. In order to solve that problem, this change introduces a set of new components and the corresponding handler functions: - RAW_PCUIF_CT / f_PCUIF_CT_handler() - PCU interface (UNIX domain socket) handler. Creates a server listening for incoming connections on a given 'pcu_sock_path', handles connection establishment and message forwarding between connected BTS components (see below) and OsmoPCU. - RAW_PCU_BTS_CT / f_BTS_CT_handler() - represents a single BTS entity, connected to OsmoPCU through the RAW_PCUIF_CT. Takes care about sending System Information 13 to OsmoPCU, forwarding TDMA clock indications from a dedicated ClckGen component (see below), and filtering the received messages by the BTS number. Implements minimalistic scheduler for both DATA.ind and RTS.req messages, so they are send in accordance with the current TDMA frame number. - RAW_PCU_ClckGen_CT / f_ClckGen_CT_handler() - TDMA frame clock counter built on top of a timer. Sends clock indications to the BTS component. All components communicate using TTCN-3 ports and explicitly defined sets of messages (see RAW_PCU_MSG_PT). One noticeable kind of such messages is events (see RAW_PCU_Event and RAW_PCU_EventType). That's how e.g. the PCUIF component can notify the BTS component that OsmoPCU has just connected, or the BTS component can notify the MTC that SI13 negotiation is completed. Events may optionally have parameters (e.g. frame-number for TDMA_EV_*). Furthermore, the proposed set of components allows to have more than one BTS entity, so we can also test multi-BTS operation in the future. +-----+ +----------+ +---------+ | MTC +---------------+ PCUIF_CT +------+ OsmoPCU | +--+--+ +----+-----+ +---------+ | | | | | | | +-----------+ | +---------------+ +----+ BTS_CT #1 +------+ | ClckGen_CT #1 | | +-----+-----+ | +-------+-------+ | | | | | +---------------------------+ | | | +-----------+ | +---------------+ +----+ BTS_CT #2 +------+ | ClckGen_CT #2 | | +-----+-----+ | +-------+-------+ | | | | | +---------------------------+ | | | +-----------+ | +---------------+ +----+ BTS_CT #N +------+ | ClckGen_CT #N | +-----+-----+ +-------+-------+ | | +---------------------------+ Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 --- M library/PCUIF_Types.ttcn A pcu/PCUIF_RAW_Components.ttcn M pcu/PCU_Tests_RAW.ttcn 3 files changed, 483 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index f13a764..bcd9066 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -260,6 +260,15 @@ with { extension "prototype(convert) decode(RAW)" }; +/* Generic template for matching messages by type and/or the BTS number */ +template PCUIF_Message tr_PCUIF_MSG(template PCUIF_MsgType msg_type := ?, + template uint8_t bts_nr := ?) := { + msg_type := msg_type, + bts_nr := bts_nr, + spare := ?, + u := ? +} + template (value) PCUIF_Message ts_PCUIF_RTS_REQ(template (value) uint8_t bts_nr, template (value) uint8_t trx_nr, template (value) uint8_t ts_nr, diff --git a/pcu/PCUIF_RAW_Components.ttcn b/pcu/PCUIF_RAW_Components.ttcn new file mode 100644 index 0000000..2297bbd --- /dev/null +++ b/pcu/PCUIF_RAW_Components.ttcn @@ -0,0 +1,393 @@ +module PCUIF_RAW_Components { + +/* + * Components for (RAW) PCU test cases. + * + * (C) 2019 Vadim Yanitskiy + * + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from IPL4asp_Types all; +import from UD_Types all; + +import from PCUIF_Types all; +import from PCUIF_CodecPort all; + +/* Component communication diagram: + * + * +-----+ +----------+ +---------+ + * | MTC +---------------+ PCUIF_CT +------+ OsmoPCU | + * +--+--+ +----+-----+ +---------+ + * | | + * | | + * | | + * | +-----------+ | +---------------+ + * +----+ BTS_CT #1 +------+ | ClckGen_CT #1 | + * | +-----+-----+ | +-------+-------+ + * | | | | + * | +---------------------------+ + * | | + * | +-----------+ | +---------------+ + * +----+ BTS_CT #2 +------+ | ClckGen_CT #2 | + * | +-----+-----+ | +-------+-------+ + * | | | | + * | +---------------------------+ + * | | + * | +-----------+ | +---------------+ + * +----+ BTS_CT #N +------+ | ClckGen_CT #N | + * +-----+-----+ +-------+-------+ + * | | + * +---------------------------+ + */ + +/* Events are used by the components to indicate that something + * has happened, e.g. we have got a connection from the PCU. */ +type enumerated RAW_PCU_EventType { + /* Events related to RAW_PCUIF_CT */ + PCU_EV_DISCONNECT, /*!< OsmoPCU has disconnected */ + PCU_EV_CONNECT, /*!< OsmoPCU is now connected */ + + /* Events related to RAW_PCU_BTS_CT */ + BTS_EV_SI13_NEGO, /*!< SI13 negotiation complete */ + + /* TDMA clock related events (TDMA frame-number in parameters) */ + TDMA_EV_PDTCH_BLOCK_BEG, /*!< 1/4 bursts of a PDTCH block on both Uplink and Downlink */ + TDMA_EV_PDTCH_BLOCK_END, /*!< 4/4 bursts of a PDTCH block on both Uplink and Downlink */ + TDMA_EV_PTCCH_DL_BLOCK, /*!< 4/4 bursts of a PTCCH block on Downlink */ + TDMA_EV_PTCCH_UL_BURST, /*!< One Access Burst on PTCCH/U */ + + TDMA_EV_PDTCH_BLOCK_SENT /*!< A PDTCH block has been sent to the PCU */ +}; + +/* Union of all possible parameters of the events */ +type union RAW_PCU_EventParam { + integer tdma_fn +}; + +type record RAW_PCU_Event { + RAW_PCU_EventType event, + /* TODO: can we use 'anytype' here? */ + RAW_PCU_EventParam data optional +}; + +template (value) RAW_PCU_Event ts_RAW_PCU_EV(RAW_PCU_EventType event) := { + event := event, + data := omit +} +template RAW_PCU_Event tr_RAW_PCU_EV(template RAW_PCU_EventType event := ?, + template RAW_PCU_EventParam data := *) := { + event := event, + data := data +} + +template (value) RAW_PCU_Event ts_RAW_PCU_CLCK_EV(RAW_PCU_EventType event, integer fn) := { + event := event, + data := { tdma_fn := fn } +} +template RAW_PCU_Event tr_RAW_PCU_CLCK_EV := { + event := (TDMA_EV_PDTCH_BLOCK_BEG, TDMA_EV_PDTCH_BLOCK_END, + TDMA_EV_PTCCH_DL_BLOCK, TDMA_EV_PTCCH_UL_BURST, + TDMA_EV_PDTCH_BLOCK_SENT), + data := { tdma_fn := ? } +} + +/* Generic port for messages and events */ +type port RAW_PCU_MSG_PT message { + inout RAW_PCU_Event; + inout PCUIF_Message; +} with { extension "internal" }; + +/* TDMA frame clock generator */ +type component RAW_PCU_ClckGen_CT { + /* One TDMA frame is 4.615 ms long */ + timer T_TDMAClock := 4.615 / 1000.0; + port RAW_PCU_MSG_PT CLCK; + var integer fn := 0; +} + +function f_ClckGen_CT_handler() +runs on RAW_PCU_ClckGen_CT { + var integer fn104, fn52, fn13; + + while (true) { + fn104 := fn mod 104; + fn52 := fn mod 52; + fn13 := fn mod 13; + + if (fn13 == 0 or fn13 == 4 or fn13 == 8) { + /* 1/4 bursts of a PDTCH block on both Uplink and Downlink */ + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_BEG, fn)); + } else if (fn13 == 3 or fn13 == 7 or fn13 == 11) { + /* 4/4 bursts of a PDTCH block on both Uplink and Downlink */ + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_END, fn)); + } else if (fn104 == 90) { + /* 4/4 bursts of a PTCCH (Timing Advance Control) block on Downlink */ + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_DL_BLOCK, fn)); + } else if (fn52 == 12 or fn52 == 38) { + /* One Access Burst on PTCCH/U */ + CLCK.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PTCCH_UL_BURST, fn)); + } + + /* TDMA hyperframe period is (2048 * 51 * 26) frames */ + fn := (fn + 1) mod (2048 * 51 * 26); + + /* (Re)start TDMA clock timer and wait */ + T_TDMAClock.start; + T_TDMAClock.timeout; + } +} + +type record of PCUIF_Message PCUIF_MsgQueue; + +/* Enqueue a given message to the end of a given queue */ +private function f_PCUIF_MsgQueue_enqueue(inout PCUIF_MsgQueue queue, + in PCUIF_Message msg) +{ + queue := queue & { msg }; +} + +/* Dequeue the first message of a given queue */ +private function f_PCUIF_MsgQueue_dequeue(inout PCUIF_MsgQueue queue, + out PCUIF_Message msg) +{ + var integer len := lengthof(queue); + + if (len == 0) { + setverdict(fail, "Failed to dequeue a message: the queue is empty!"); + mtc.stop; + } + + /* Store the first message */ + msg := queue[0]; + + /* Remove the first message from queue */ + if (len > 1) { + queue := substr(queue, 1, len - 1); + } else { + queue := { }; + } +} + +/* Multiple base stations can be connected to the PCU. This component + * represents one BTS with an associated TDMA clock generator. */ +type component RAW_PCU_BTS_CT { + /* TDMA clock generator */ + var RAW_PCU_ClckGen_CT vc_CLCK_GEN; + port RAW_PCU_MSG_PT CLCK; + + /* Queues of PCUIF messages to be sent + * TODO: we may have multiple PDCH time-slots */ + var PCUIF_MsgQueue pdtch_data_queue := { }; + var PCUIF_MsgQueue pdtch_rts_queue := { }; + var PCUIF_MsgQueue ptcch_rts_queue := { }; + + /* Connection towards the PCU interface */ + port RAW_PCU_MSG_PT PCUIF; + /* Connection towards the test case */ + port RAW_PCU_MSG_PT TC; +} + +private altstep as_BTS_CT_MsgQueue(integer bts_nr) +runs on RAW_PCU_BTS_CT { + var PCUIF_Message pcu_msg; + + /* Enqueue DATA.ind and RTS.req messages */ + [] TC.receive(tr_PCUIF_MSG(PCU_IF_MSG_DATA_IND, bts_nr)) -> value pcu_msg { + f_PCUIF_MsgQueue_enqueue(pdtch_data_queue, pcu_msg); + repeat; + } + [] TC.receive(tr_PCUIF_RTS_REQ(bts_nr, sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg { + f_PCUIF_MsgQueue_enqueue(pdtch_rts_queue, pcu_msg); + repeat; + } + [] TC.receive(tr_PCUIF_RTS_REQ(bts_nr, sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + f_PCUIF_MsgQueue_enqueue(ptcch_rts_queue, pcu_msg); + repeat; + } + /* Forward other messages directly to the PCU */ + [] TC.receive(tr_PCUIF_MSG(?, bts_nr)) -> value pcu_msg { + PCUIF.send(pcu_msg); + repeat; + } +} + +private altstep as_BTS_CT_TDMASched(integer bts_nr) +runs on RAW_PCU_BTS_CT { + var PCUIF_Message pcu_msg; + var RAW_PCU_Event event; + + [] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_BEG)) -> value event { + /* If the RTS queue for PDTCH is not empty, send a message */ + if (lengthof(pdtch_rts_queue) > 0) { + f_PCUIF_MsgQueue_dequeue(pdtch_rts_queue, pcu_msg); + + /* Patch TDMA frame / block number and send */ + pcu_msg.u.rts_req.fn := event.data.tdma_fn; + pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + PCUIF.send(pcu_msg); + } + + /* We don't really need to send every frame to OsmoPCU, because + * it omits frame numbers not starting at a MAC block. */ + PCUIF.send(ts_PCUIF_TIME_IND(bts_nr, event.data.tdma_fn)); + repeat; + } + [lengthof(pdtch_data_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_END)) -> value event { + /* Dequeue a DATA.ind message */ + f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); + + /* Patch TDMA frame / block number */ + pcu_msg.u.data_ind.fn := event.data.tdma_fn; + pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ + + PCUIF.send(pcu_msg); /* Send to the PCU and notify the TC */ + TC.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_SENT, event.data.tdma_fn)); + repeat; + } + [lengthof(ptcch_rts_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_DL_BLOCK)) -> value event { + /* Dequeue an RTS.req message for PTCCH */ + f_PCUIF_MsgQueue_dequeue(ptcch_rts_queue, pcu_msg); + + /* Patch TDMA frame / block number and send */ + pcu_msg.u.rts_req.fn := event.data.tdma_fn; + pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */ + PCUIF.send(pcu_msg); + repeat; + } + /* Ignore other clock events (and guard against an empty queue) */ + [] CLCK.receive(tr_RAW_PCU_CLCK_EV) { repeat; } +} + +function f_BTS_CT_handler(integer bts_nr, PCUIF_info_ind info_ind) +runs on RAW_PCU_BTS_CT { + var PCUIF_Message pcu_msg; + var RAW_PCU_Event event; + + /* Init TDMA clock generator (so we can stop and start it) */ + vc_CLCK_GEN := RAW_PCU_ClckGen_CT.create("ClckGen-" & int2str(bts_nr)) alive; + connect(vc_CLCK_GEN:CLCK, self:CLCK); + + /* Wait until the PCU is connected */ + PCUIF.receive(tr_RAW_PCU_EV(PCU_EV_CONNECT)); + + /* TODO: implement ACT.req handling */ + alt { + /* Wait for TXT.ind (PCU_VERSION) and respond with INFO.ind (SI13) */ + [] PCUIF.receive(tr_PCUIF_TXT_IND(bts_nr, PCU_VERSION, ?)) -> value pcu_msg { + log("Rx TXT.ind from the PCU, version is ", pcu_msg.u.txt_ind.text); + + /* Send System Information 13 to the PCU */ + PCUIF.send(PCUIF_Message:{ + msg_type := PCU_IF_MSG_INFO_IND, + bts_nr := bts_nr, + spare := '0000'O, + u := { info_ind := info_ind } + }); + + /* Notify the test case that we're done with SI13 */ + TC.send(ts_RAW_PCU_EV(BTS_EV_SI13_NEGO)); + + /* Start feeding clock to the PCU */ + vc_CLCK_GEN.start(f_ClckGen_CT_handler()); + repeat; + } + /* PCU -> test case forwarding (filter by the BTS number) */ + [] PCUIF.receive(tr_PCUIF_MSG(?, bts_nr)) -> value pcu_msg { + TC.send(pcu_msg); + repeat; + } + + /* TC -> [Queue] -> PCU forwarding */ + [] as_BTS_CT_MsgQueue(bts_nr); + /* TDMA scheduler (clock and queue handling) */ + [] as_BTS_CT_TDMASched(bts_nr); + + /* TODO: handle events (e.g. disconnection) from the PCU interface */ + [] PCUIF.receive(tr_RAW_PCU_EV) -> value event { + log("Ignore unhandled event: ", event); + repeat; + } + } +} + +/* PCU interface (UNIX domain socket) handler */ +type component RAW_PCUIF_CT { + var ConnectionId g_pcu_conn_id := -1; + var boolean g_pcu_connected := false; + port PCUIF_CODEC_PT PCU; + + /* Connection towards BTS component(s) */ + port RAW_PCU_MSG_PT BTS; + /* Connection to the MTC (test case) */ + port RAW_PCU_MSG_PT MTC; +}; + +/* All received messages and events from OsmoPCU can be additionally sent + * directly to the MTC component. Pass direct := true to enable this mode. */ +function f_PCUIF_CT_handler(charstring pcu_sock_path, boolean direct := false) +runs on RAW_PCUIF_CT { + var PCUIF_send_data pcu_sd_msg; + var PCUIF_Message pcu_msg; + timer T_Conn := 10.0; + + log("Init PCU interface on '" & pcu_sock_path & "', waiting for connection..."); + g_pcu_conn_id := f_pcuif_listen(PCU, pcu_sock_path); + + /* Wait for connection */ + T_Conn.start; + alt { + [not g_pcu_connected] PCU.receive(UD_connected:?) { + log("OsmoPCU is now connected"); + /* Duplicate this event to the MTC if requested */ + if (direct) { MTC.send(ts_RAW_PCU_EV(PCU_EV_CONNECT)); } + BTS.send(ts_RAW_PCU_EV(PCU_EV_CONNECT)); + g_pcu_connected := true; + setverdict(pass); + T_Conn.stop; + repeat; + } + /* PCU -> BTS / MTC message forwarding */ + [g_pcu_connected] PCU.receive(PCUIF_send_data:?) -> value pcu_sd_msg { + /* Send to the BTSes if at least one is connected */ + if (BTS.checkstate("Connected")) { BTS.send(pcu_sd_msg.data); } + /* Duplicate this message to the MTC if requested */ + if (direct) { MTC.send(pcu_sd_msg.data); } + repeat; + } + /* MTC -> PCU message forwarding */ + [g_pcu_connected] MTC.receive(PCUIF_Message:?) -> value pcu_msg { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, pcu_msg)); + repeat; + } + /* BTS -> PCU message forwarding */ + [g_pcu_connected] BTS.receive(PCUIF_Message:?) -> value pcu_msg { + PCU.send(t_SD_PCUIF(g_pcu_conn_id, pcu_msg)); + repeat; + } + [not g_pcu_connected] MTC.receive(PCUIF_Message:?) -> value pcu_msg { + log("PCU is not connected, dropping ", pcu_msg); + repeat; + } + [not g_pcu_connected] BTS.receive(PCUIF_Message:?) -> value pcu_msg { + log("PCU is not connected, dropping ", pcu_msg); + repeat; + } + /* TODO: handle disconnect and reconnect of the PCU */ + [] PCU.receive { + log("Unhandled message on PCU interface"); + repeat; + } + [not g_pcu_connected] T_Conn.timeout { + setverdict(fail, "Timeout waiting for PCU connection"); + mtc.stop; + } + } +} + +} diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 4732da6..8424df3 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -30,6 +30,7 @@ import from UD_Types all; import from PCUIF_Types all; import from PCUIF_CodecPort all; +import from PCUIF_RAW_Components all; import from IPL4asp_Types all; import from NS_CodecPort all; import from NS_CodecPort_CtrlFunct all; @@ -438,6 +439,86 @@ setverdict(pass); } +type component RAW_PCU_Test_CT extends bssgp_CT { + /* Connection to the BTS component (one for now) */ + port RAW_PCU_MSG_PT BTS; + /* Connection to the PCUIF component */ + port RAW_PCU_MSG_PT PCUIF; + + /* Guard timeout */ + timer g_T_guard := 60.0; +}; + +private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + mtc.stop; + } +} + +private function f_init_raw(charstring id) +runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RAW_PCUIF_CT vc_PCUIF; + var RAW_PCU_BTS_CT vc_BTS; + + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard_RAW()); + + /* Init PCU interface component */ + vc_PCUIF := RAW_PCUIF_CT.create("PCUIF-" & id); + connect(vc_PCUIF:MTC, self:PCUIF); + map(vc_PCUIF:PCU, system:PCU); + + /* Create one BTS component (we may want more some day) */ + vc_BTS := RAW_PCU_BTS_CT.create("BTS-" & id); + connect(vc_BTS:PCUIF, vc_PCUIF:BTS); + connect(vc_BTS:TC, self:BTS); + + /* FIXME: make sure to use parameters from mp_gb_cfg.cell_id in the PCU INFO IND */ + info_ind := { + version := PCU_IF_VERSION, + flags := c_PCUIF_Flags_default, + trx := valueof(ts_PCUIF_InfoTrxs_def), + /* TODO: make this configurable */ + bsic := 7, mcc := 262, mnc := 42, + mnc_3_digits := 0, + /* TODO: make this configurable */ + lac := 13135, rac := 0, + nsei := mp_nsconfig.nsei, + nse_timer := { 3, 3, 3, 3, 30, 3, 10 }, + cell_timer := { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }, + cell_id := 20960, + repeat_time := 5 * 50, + repeat_count := 3, + bvci := mp_gb_cfg.bvci, + t3142 := 20, + t3169 := 5, + t3191 := 5, + t3193_10ms := 160, + t3195 := 5, + t3101 := 10, + t3103 := 4, + t3105 := 8, + cv_countdown := 15, + dl_tbf_ext := 250 * 10, /* ms */ + ul_tbf_ext := 250 * 10, /* ms */ + initial_cs := 2, + initial_mcs := 6, + nsvci := { mp_nsconfig.nsvci, 0 }, + local_pprt := { mp_nsconfig.remote_udp_port, 0 }, + remote_port := { mp_nsconfig.local_udp_port, 0 }, + remote_ip := { f_inet_haddr(mp_nsconfig.local_ip), '00000000'O } + }; + + vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path)); + vc_BTS.start(f_BTS_CT_handler(0, info_ind)); + + /* Wait until the BTS is ready (SI13 negotiated) */ + BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); +} + control { execute( TC_ns_reset() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63a23abebab88fd5318eb4d907d6028e7c38e9a3 Gerrit-Change-Number: 15430 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:17:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:17:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation This change introduces a new test case TC_cs_lqual_ul_tbf, which is aimed to test the feedback of OsmoPCU on changing link quality measurements in Uplink Data blocks during an active TBF. Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Related: SYS#4607 --- M library/RLCMAC_Types.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 102 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index f3deafc..39c0c97 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -312,7 +312,7 @@ mac_hdr := { payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), rrbp:= ?, - rrbp_valid := true, + rrbp_valid := ?, usf := ? }, opt := *, diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index fa464a3..7e6611d 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -21,6 +21,9 @@ import from GSM_Types all; import from GSM_RR_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; + import from NS_Types all; import from BSSGP_Types all; import from Osmocom_Gb_Types all; @@ -596,6 +599,103 @@ } } +/* Default link quality adaptation (Coding Scheme) ranges: +/* CS1: ... 6 dB, CS2: 5 .. 8 dB, CS3: 7 .. 13 db, CS4: 12 ... dB */ +private template integer CS1_lqual_dB_range := (-infinity .. 6); +private template integer CS2_lqual_dB_range := (5 .. 8); +private template integer CS3_lqual_dB_range := (7 .. 13); +private template integer CS4_lqual_dB_range := (12 .. infinity); + +testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var GsmRrMessage rr_msg; + var octetstring data; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_msg); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Make sure we received an UL TBF Assignment */ + /* TODO: check if we got single or dynamic assignment */ + if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + mtc.stop; + } + + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* 15 UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ + ul_data.data.tlli := '00000001'O; + + /* 16 UL blocks (0 .. 32 dB, step = 2 dB) */ + for (var integer i := 0; i < 16; i := i + 1) { + /* Prepare a new UL block (CV, random payload) */ + ul_data.data.mac_hdr.countdown := (15 - i); + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Link quality in dB and our CS1-4 expectations */ + var integer lqual := i * 2; + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + log("Sending DATA.ind with link quality (dB): ", lqual); + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := 0, arfcn := 871, lqual_cb := lqual * 10)); + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT)); + + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); + if (not match(dl_block, tr_RLCMAC_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + mtc.stop; + } + + log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", + dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); + + /* Match the received Channel Coding Command */ + var template ChCodingCommand ch_coding; + select (lqual) { + case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } + case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } + case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } + case (CS4_lqual_dB_range) { ch_coding := CH_CODING_CS4; } + } + + if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { + setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + } else { + setverdict(pass); + } + } +} + control { execute( TC_ns_reset() ); @@ -609,6 +709,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_rach_imm_ass() ); + execute( TC_cs_lqual_ul_tbf() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:17:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:17:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 ) Change subject: PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA ...................................................................... PCU_Tests_RAW.ttcn: introduce TC_ta_rach_imm_ass to test initial TA The aim of this test case is to test the correctness of Timing Advance at the time of TBF establishment. In particular, the test case sends several Access Bursts (RACH.ind) with increasing 'qta' value, what causes OsmoPCU to allocate a TBF (Temporary Block Flow) for each RACH.ind and send DATA.req with Immediate Assignment on AGCH, containing the expected Timing Advance value. Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Related: SYS#4606 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 78 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 8424df3..fa464a3 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -7,6 +7,7 @@ those NS and BSSGP implementations on the BSS (PCU) side. */ /* (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy * All rights reserved. * * Released under the terms of GNU General Public License, Version 2 or @@ -519,6 +520,82 @@ BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); } +/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on RAW_PCU_Test_CT return boolean { + var PCUIF_Message pcu_msg; + var GsmRrMessage rr_msg; + var uint32_t fn; + timer T; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := ?, ts_nr := 0, + sapi := PCU_IF_SAPI_AGCH, data := ?)) + -> value pcu_msg { + rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data); + log("Rx Immediate Assignment: ", rr_imm_ass); + + /* Make sure this assignment is for us + * TODO: Uplink or Downlink TBF? */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn))) { + setverdict(pass); + return true; + } + + /* Not for us? Wait for more. */ + repeat; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + } + } + + return false; +} + +/* Test of correct Timing Advance at the time of TBF establishment + * (derived from timing offset of the Access Burst). */ +testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var boolean ok; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* We cannot send too many TBF requests in a short time because + * at some point the PCU will fail to allocate a new TBF. */ + for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { + /* Establish an Uplink TBF (send RACH.ind with current TA) */ + ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Make sure Timing Advance IE matches out expectations */ + if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { + setverdict(pass); + } + } +} + control { execute( TC_ns_reset() ); @@ -531,6 +608,7 @@ execute( TC_ns_so_block() ); execute( TC_pcuif_suspend() ); + execute( TC_ta_rach_imm_ass() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21f76ae723519c0eb54515922a05ca8045b00ade Gerrit-Change-Number: 15410 Gerrit-PatchSet: 11 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 03:17:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 03:17:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 ) Change subject: library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data ...................................................................... library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_data In Ieefa61232eb215a19a02e490255332e28e23b8f8, I had to revert I5808954b5c67c3239e795e43ae77035152d359ef, because that change broke encoding of messages on the PCU interface. Since we cannot use 'PADDING' attribute until its implementation is fixed in TITAN, let's work this around by stripping padding bytes manually in UD_to_PCUIF(). Change-Id: Ibd698094c897d395208e80189457444a91018beb --- M library/PCUIF_CodecPort.ttcn 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 3d6ceac..4b2a8ce 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -26,9 +26,19 @@ pout.data := enc_PCUIF_Message(pin.data); } with { extension "prototype(fast)" }; +private function fix_padding(inout PCUIF_data data) { + data.data := substr(data.data, 0, data.len); +} + private function UD_to_PCUIF(in UD_send_data pin, out PCUIF_send_data pout) { pout.id := pin.id; pout.data := dec_PCUIF_Message(pin.data); + + /* HACK: fix padding in decoded message. Due to a bug in TITAN, we + * cannot just use its 'PADDING' attribute because it breaks decoding. */ + if (ischosen(pout.data.u.data_req)) { fix_padding(pout.data.u.data_req); } + if (ischosen(pout.data.u.data_cnf)) { fix_padding(pout.data.u.data_cnf); } + if (ischosen(pout.data.u.data_ind)) { fix_padding(pout.data.u.data_ind); } } with { extension "prototype(fast)" }; type port PCUIF_CODEC_PT message { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibd698094c897d395208e80189457444a91018beb Gerrit-Change-Number: 15571 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 06:35:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 4: FYI, this test is failing in jenkins: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-pcu-test/test_results_analyzer/ I'm not sure if that is expected. The other new test passes. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 06:35:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:40:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 06:40:14 +0000 Subject: Change in ...osmo-pcu[master]: Move tbf_{dl, ul} child constructors to respective .cpp files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15605 ) Change subject: Move tbf_{dl,ul} child constructors to respective .cpp files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 Gerrit-Change-Number: 15605 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 06:40:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:41:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 06:41:01 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: Setup m_llc_timer in constructor using osmocom API In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15606 ) Change subject: tbf_dl: Setup m_llc_timer in constructor using osmocom API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 Gerrit-Change-Number: 15606 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 06:41:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:42:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 06:42:30 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RL... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15604 ) Change subject: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 Gerrit-Change-Number: 15604 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Sep 2019 06:42:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:42:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 06:42:54 +0000 Subject: Change in ...osmo-pcu[master]: vty: Fix osmo_tdef timers not listed in write config In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15608 ) Change subject: vty: Fix osmo_tdef timers not listed in write config ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f Gerrit-Change-Number: 15608 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Sep 2019 06:42:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 06:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 27 Sep 2019 06:49:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 ) Change subject: PCU_Tests_RAW.ttcn: add test case for UL link quality adaptation ...................................................................... Patch Set 4: > Patch Set 4: > > FYI, this test is failing in jenkins: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-pcu-test/test_results_analyzer/ > > I'm not sure if that is expected. The other new test passes. Yep, it fails on my machine too. For some reason, OsmoPCU changes coding scheme later than expected: DRLCMACMEAS INFO MS (IMSI ): Link quality 12dB (10dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 (gprs_ms.cpp:684) Either this is a bug, or the test expectations are wrong... This "12dB (10dB)" also looks odd. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Gerrit-Change-Number: 15526 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 06:49:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 09:51:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 09:51:01 +0000 Subject: Change in ...osmo-pcu[master]: Move tbf_{dl, ul} child constructors to respective .cpp files In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15605 ) Change subject: Move tbf_{dl,ul} child constructors to respective .cpp files ...................................................................... Move tbf_{dl,ul} child constructors to respective .cpp files Fixes: 9d1cdb1f697057033394590a9b2815efe6c08cd9 Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 3 files changed, 24 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index 3ca39bf..389b186 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -955,17 +955,6 @@ return 0; } -gprs_rlcmac_ul_tbf::gprs_rlcmac_ul_tbf(BTS *bts_) : - gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_UL_TBF), - m_rx_counter(0), - m_contention_resolution_done(0), - m_final_ack_sent(0), - m_ul_gprs_ctrs(NULL), - m_ul_egprs_ctrs(NULL) -{ - memset(&m_usf, 0, sizeof(m_usf)); -} - static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) { tbf->~gprs_rlcmac_ul_tbf(); @@ -1054,19 +1043,6 @@ timespecclear(&dl_loss_tv); } -gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(BTS *bts_) : - gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_DL_TBF), - m_tx_counter(0), - m_wait_confirm(0), - m_dl_ack_requested(false), - m_last_dl_poll_fn(0), - m_last_dl_drained_fn(0), - m_dl_gprs_ctrs(NULL), - m_dl_egprs_ctrs(NULL) -{ - memset(&m_llc_timer, 0, sizeof(m_llc_timer)); -} - static int dl_tbf_dtor(struct gprs_rlcmac_dl_tbf *tbf) { tbf->~gprs_rlcmac_dl_tbf(); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index e9190f6..fdd9ba3 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -76,6 +76,19 @@ tbf->request_dl_ack(); } +gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(BTS *bts_) : + gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_DL_TBF), + m_tx_counter(0), + m_wait_confirm(0), + m_dl_ack_requested(false), + m_last_dl_poll_fn(0), + m_last_dl_drained_fn(0), + m_dl_gprs_ctrs(NULL), + m_dl_egprs_ctrs(NULL) +{ + memset(&m_llc_timer, 0, sizeof(m_llc_timer)); +} + void gprs_rlcmac_dl_tbf::cleanup() { osmo_timer_del(&m_llc_timer); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index a993cce..9e3773c 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -55,6 +55,17 @@ extern void *tall_pcu_ctx; +gprs_rlcmac_ul_tbf::gprs_rlcmac_ul_tbf(BTS *bts_) : + gprs_rlcmac_tbf(bts_, GPRS_RLCMAC_UL_TBF), + m_rx_counter(0), + m_contention_resolution_done(0), + m_final_ack_sent(0), + m_ul_gprs_ctrs(NULL), + m_ul_egprs_ctrs(NULL) +{ + memset(&m_usf, 0, sizeof(m_usf)); +} + /* * Store received block data in LLC message(s) and forward to SGSN * if complete. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id258589d46de42ad4e27889bc396f930b7f94b79 Gerrit-Change-Number: 15605 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 09:51:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 09:51:02 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl: Setup m_llc_timer in constructor using osmocom API In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15606 ) Change subject: tbf_dl: Setup m_llc_timer in constructor using osmocom API ...................................................................... tbf_dl: Setup m_llc_timer in constructor using osmocom API Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 --- M src/tbf_dl.cpp 1 file changed, 1 insertion(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index fdd9ba3..23887d1 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -87,6 +87,7 @@ m_dl_egprs_ctrs(NULL) { memset(&m_llc_timer, 0, sizeof(m_llc_timer)); + osmo_timer_setup(&m_llc_timer, llc_timer_cb, this); } void gprs_rlcmac_dl_tbf::cleanup() @@ -98,11 +99,6 @@ { if (bts_data()->llc_idle_ack_csec > 0) { struct timeval tv; - - /* TODO: this ought to be within a constructor */ - m_llc_timer.data = this; - m_llc_timer.cb = &llc_timer_cb; - csecs_to_timeval(bts_data()->llc_idle_ack_csec, &tv); osmo_timer_schedule(&m_llc_timer, tv.tv_sec, tv.tv_usec); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3e761b319326e33ab1d56c4fb30cafe3b0f96c29 Gerrit-Change-Number: 15606 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 09:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 09:51:03 +0000 Subject: Change in ...osmo-pcu[master]: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RL... In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15604 ) Change subject: tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE ...................................................................... tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE tbf_update_ms_class() is already called two lines above in the common path. Fixes: 409efa1ec84c14aaa43bfac85ba4956e9f3cf16a Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 --- M src/tbf_dl.cpp 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 23887d1..4efb5a4 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -123,7 +123,6 @@ if (state_is(GPRS_RLCMAC_WAIT_RELEASE)) { LOGPTBFDL(this, LOGL_DEBUG, "in WAIT RELEASE state (T3193), so reuse TBF\n"); - tbf_update_ms_class(this, ms_class); establish_dl_tbf_on_pacch(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icbe3805c72a5c77366215be55128b586e5a00fb7 Gerrit-Change-Number: 15604 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 09:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 09:51:03 +0000 Subject: Change in ...osmo-pcu[master]: vty: Fix osmo_tdef timers not listed in write config In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15608 ) Change subject: vty: Fix osmo_tdef timers not listed in write config ...................................................................... vty: Fix osmo_tdef timers not listed in write config Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f --- M src/pcu_vty.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 6592cae..c47c896 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -271,6 +271,8 @@ else vty_out(vty, " gb-dialect classic%s", VTY_NEWLINE); + osmo_tdef_vty_write(vty, bts->T_defs_pcu, " timer "); + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5c7ae18919e4b016505aa01eea6694d8a3f5df5f Gerrit-Change-Number: 15608 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Sep 27 11:32:33 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 27 Sep 2019 11:32:33 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8df3567868e_6cd92b1d301e4600751a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 959s] ar: `u' modifier ignored since `D' is the default (see `U') [ 959s] libtool: link: ranlib .libs/libtransceiver_common.a [ 959s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 959s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 960s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 960s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 960s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 960s] collect2: error: ld returned 1 exit status [ 960s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 960s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 960s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 960s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 960s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 960s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 960s] make[1]: *** [Makefile:444: all] Error 2 [ 960s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 960s] dh_auto_build: make -j1 returned exit code 2 [ 960s] make: *** [debian/rules:6: build] Error 255 [ 960s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 960s] [ 960s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 27 11:32:13 UTC 2019. [ 960s] [ 960s] ### VM INTERACTION START ### [ 964s] [ 936.842132] sysrq: SysRq : Power Off [ 964s] [ 936.975559] reboot: Power down [ 964s] ### VM INTERACTION END ### [ 964s] [ 964s] lamb18 failed "build osmo-trx_1.1.1.dsc" at Fri Sep 27 11:32:17 UTC 2019. [ 964s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Sep 27 11:36:50 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 27 Sep 2019 11:36:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d8df460cd9a1_6cd92b1d301e460076259@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 703s] ar: `u' modifier ignored since `D' is the default (see `U') [ 703s] libtool: link: ranlib .libs/libtransceiver_common.a [ 703s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 703s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 704s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 704s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 704s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 704s] collect2: error: ld returned 1 exit status [ 704s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 704s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 704s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 704s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 704s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 704s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 704s] make[1]: *** [Makefile:444: all] Error 2 [ 704s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 704s] dh_auto_build: make -j1 returned exit code 2 [ 704s] make: *** [debian/rules:6: build] Error 255 [ 704s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 704s] [ 704s] lamb19 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 11:36:42 UTC 2019. [ 704s] [ 704s] ### VM INTERACTION START ### [ 707s] [ 684.327993] sysrq: SysRq : Power Off [ 707s] [ 684.344704] reboot: Power down [ 707s] ### VM INTERACTION END ### [ 707s] [ 707s] lamb19 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Fri Sep 27 11:36:45 UTC 2019. [ 707s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Sep 27 12:57:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 12:57:16 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Use API to get poweron state Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15610 Change subject: bts-trx: vty: Use API to get poweron state ...................................................................... bts-trx: vty: Use API to get poweron state Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/15610/1 diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index c52908e..250d180 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -71,7 +71,7 @@ vty_out(vty, "TRX %d %s%s", trx->nr, sname, VTY_NEWLINE); talloc_free(sname); vty_out(vty, " %s%s", - (l1h->config.poweron) ? "poweron":"poweroff", + trx_if_powered(l1h) ? "poweron":"poweroff", VTY_NEWLINE); if (l1h->config.arfcn_valid) vty_out(vty, " arfcn : %d%s%s", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 Gerrit-Change-Number: 15610 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 12:57:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 12:57:16 +0000 Subject: Change in ...osmo-bts[master]: bts.h: Remove non-existent function definitions Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15611 Change subject: bts.h: Remove non-existent function definitions ...................................................................... bts.h: Remove non-existent function definitions Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 --- M include/osmo-bts/bts.h 1 file changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/15611/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 4d13214..5c719f9 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -30,16 +30,9 @@ int bts_trx_init(struct gsm_bts_trx *trx); void bts_shutdown(struct gsm_bts *bts, const char *reason); -struct gsm_bts *create_bts(uint8_t num_trx, char *id); -int create_ms(struct gsm_bts_trx *trx, int maskc, uint8_t *maskv_tx, - uint8_t *maskv_rx); -void destroy_bts(struct gsm_bts *bts); -int work_bts(struct gsm_bts *bts); int bts_link_estab(struct gsm_bts *bts); int trx_link_estab(struct gsm_bts_trx *trx); int trx_set_available(struct gsm_bts_trx *trx, int avail); -void bts_new_si(void *arg); -void bts_setup_slot(struct gsm_bts_trx_ts *slot, uint8_t comb); int bts_agch_enqueue(struct gsm_bts *bts, struct msgb *msg); struct msgb *bts_agch_dequeue(struct gsm_bts *bts); @@ -68,4 +61,3 @@ int32_t bts_get_avg_fn_advance(struct gsm_bts *bts); #endif /* _BTS_H */ - -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 Gerrit-Change-Number: 15611 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 13:22:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 13:22:59 +0000 Subject: Change in ...osmo-bts[master]: gitignore: add oc2g generated files Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15612 Change subject: gitignore: add oc2g generated files ...................................................................... gitignore: add oc2g generated files Change-Id: I3e7af6d290988099535bab63bbc53a901d16b55f --- M .gitignore 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/15612/1 diff --git a/.gitignore b/.gitignore index 305553f..a4b794a 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,11 @@ src/osmo-bts-virtual/osmo-bts-virtual src/osmo-bts-omldummy/osmo-bts-omldummy +src/osmo-bts-oc2g/osmo-bts-oc2g +src/osmo-bts-oc2g/oc2gbts-mgr +src/osmo-bts-oc2g/oc2gbts-util +src/osmo-bts-oc2g/misc/.dirstamp + tests/atconfig tests/package.m4 tests/agch/agch_test -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e7af6d290988099535bab63bbc53a901d16b55f Gerrit-Change-Number: 15612 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 13:34:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 13:34:07 +0000 Subject: Change in ...osmo-bts[master]: log: set L1 SAPI log context In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15539 ) Change subject: log: set L1 SAPI log context ...................................................................... Patch Set 6: -Code-Review (5 comments) Updated. Now only the TTCN-3 test needs to be updated; therefore I'll set this to WIP again. The TTCN-3 test does not pass since the rewrite in patchset 5, because we are not setting the log context as soon as a message from the PCU socket arrives. It gets set at a later point now, before sending the data to the BTS specific code. https://gerrit.osmocom.org/#/c/15539/5/src/common/l1sap.c File src/common/l1sap.c: https://gerrit.osmocom.org/#/c/15539/5/src/common/l1sap.c at 329 PS5, Line 329: switch(OSMO_PRIM_HDR(&l1sap->oph)) { > cosmetic: 'switch' is not a function Done https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-litecell15/l1_if.c File src/osmo-bts-litecell15/l1_if.c: https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-litecell15/l1_if.c at 801 PS5, Line 801: case GsmL1_Sapi_Idle: > a 'const' look-up table indexed by GsmL1_Sapi would be faster, as it's not going to traverse dozens [?] Done https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-oc2g/l1_if.c File src/osmo-bts-oc2g/l1_if.c: https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-oc2g/l1_if.c at 852 PS5, Line 852: switch(sapi) { > same here regarding the lookup table approach. Done https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-octphy/l1_if.c File src/osmo-bts-octphy/l1_if.c: https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-octphy/l1_if.c at 943 PS5, Line 943: switch(sapi) { > again same... Done https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-sysmo/l1_if.c File src/osmo-bts-sysmo/l1_if.c: https://gerrit.osmocom.org/#/c/15539/5/src/osmo-bts-sysmo/l1_if.c at 803 PS5, Line 803: return L1SAP_COMMON_SAPI_IDLE; > ... Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6b7bb2e1d61502b61214f854a4ec5cbb7267545b Gerrit-Change-Number: 15539 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 27 Sep 2019 13:34:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 13:35:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 13:35:08 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 4: (1 comment) This change is ready for review. https://gerrit.osmocom.org/#/c/15550/3/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/15550/3/src/common/vty.c at 1606 PS3, Line 1606: #define L1_SAPI_CMD_STR "logging filter l1-sapi (rach|agch|pch|bcch|pdtch|prach|ptcch|agch_dt)" > this probably needs updating? Also, the string names can actually be generated, as you already have [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 13:35:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 14:02:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 14:02:54 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15546/6/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/#/c/15546/6/src/tdef.c at 257 PS6, Line 257: Lngth cosmetic: Length -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 27 Sep 2019 14:02:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 14:03:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Sep 2019 14:03:47 +0000 Subject: Change in ...libosmocore[master]: tdef_test: verify case where osmo_tdef_set returns -EEXIST In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15563 ) Change subject: tdef_test: verify case where osmo_tdef_set returns -EEXIST ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436daa804aac11622fde24afe9ea35193d9e9beb Gerrit-Change-Number: 15563 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Sep 2019 14:03:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 14:37:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 14:37:27 +0000 Subject: Change in ...osmo-bts[master]: gitignore: add oc2g generated files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15612 ) Change subject: gitignore: add oc2g generated files ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3e7af6d290988099535bab63bbc53a901d16b55f Gerrit-Change-Number: 15612 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Sep 2019 14:37:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:22:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:22:36 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add mode_priv pointer handing bts_model specific data Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 Change subject: struct gsm_bts: Add mode_priv pointer handing bts_model specific data ...................................................................... struct gsm_bts: Add mode_priv pointer handing bts_model specific data Existing model specific data is moved there. Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e --- M include/osmo-bts/gsm_data_shared.h M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/main.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/scheduler_virtbts.c 6 files changed, 33 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/15613/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index cf7b715..5d8bc76 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -775,19 +775,7 @@ char *sock_path; } pcu; - struct { - uint32_t last_fn; - struct timeval tv_clock; - struct osmo_timer_list fn_timer; - } vbts; -#ifdef ENABLE_OC2GBTS - /* specific to Open Cellular 2G BTS */ - struct { - uint8_t led_ctrl_mode; /* 0: control by BTS, 1: not control by BTS */ - struct llist_head ceased_alarm_list; /* ceased alarm list*/ - unsigned int rtp_drift_thres_ms; /* RTP timestamp drift detection threshold */ - } oc2g; -#endif + void *model_priv; /* Allocated by bts_model, contains model specific data pointer */ }; diff --git a/src/osmo-bts-oc2g/l1_if.h b/src/osmo-bts-oc2g/l1_if.h index 38699e0..11b2c1f 100644 --- a/src/osmo-bts-oc2g/l1_if.h +++ b/src/osmo-bts-oc2g/l1_if.h @@ -30,6 +30,13 @@ _NUM_MQ_WRITE }; +/* gsm_bts->model_priv, specific to Open Cellular 2G BTS */ +struct bts_oc2g_priv { + uint8_t led_ctrl_mode; /* 0: control by BTS, 1: not control by BTS */ + struct llist_head ceased_alarm_list; /* ceased alarm list*/ + unsigned int rtp_drift_thres_ms; /* RTP timestamp drift detection threshold */ +} + struct calib_send_state { FILE *fp; const char *path; diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index 5b66c6f..7149edb 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -87,15 +87,17 @@ static struct osmo_fd accept_fd, read_fd; int rc; + struct bts_oc2g_priv *bts_oc2g = talloc_zero(bts, struct bts_oc2g_priv); + bts->model_priv = bts_oc2g; bts->variant = BTS_OSMO_OC2G; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); /* specific default values for OC2G platform */ /* TODO(oramadan) MERGE - bts->oc2g.led_ctrl_mode = OC2G_BTS_LED_CTRL_MODE_DEFAULT; + bts_oc2g->led_ctrl_mode = OC2G_BTS_LED_CTRL_MODE_DEFAULT; */ /* RTP drift threshold default */ - /* bts->oc2g.rtp_drift_thres_ms = OC2G_BTS_RTP_DRIFT_THRES_DEFAULT; */ + /* bts_oc2g->rtp_drift_thres_ms = OC2G_BTS_RTP_DRIFT_THRES_DEFAULT; */ rc = oml_router_init(bts, OML_ROUTER_PATH, &accept_fd, &read_fd); if (rc < 0) { diff --git a/src/osmo-bts-virtual/l1_if.h b/src/osmo-bts-virtual/l1_if.h index 6a843b3..075856f 100644 --- a/src/osmo-bts-virtual/l1_if.h +++ b/src/osmo-bts-virtual/l1_if.h @@ -5,6 +5,13 @@ #include "virtual_um.h" +/* gsm_bts->model_priv, specific to osmo-bts-virtual */ +struct bts_virt_priv { + uint32_t last_fn; + struct timeval tv_clock; + struct osmo_timer_list fn_timer; +}; + struct vbts_l1h { struct gsm_bts_trx *trx; struct l1sched_trx l1s; diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index aa1c608..c329f3a 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -47,6 +47,7 @@ #include #include #include "virtual_um.h" +#include "l1_if.h" /* dummy, since no direct dsp support */ uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx) @@ -56,6 +57,8 @@ int bts_model_init(struct gsm_bts *bts) { + struct bts_virt_priv *bts_virt = talloc_zero(bts, struct bts_virt_priv); + bts->model_priv = bts_virt; bts->variant = BTS_OSMO_VIRTUAL; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 259a573..3c934b1 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -562,8 +562,9 @@ static void vbts_fn_timer_cb(void *data) { struct gsm_bts *bts = data; + struct bts_virt_priv *bts_virt = (struct bts_virt_priv *)bts->model_priv; struct timeval tv_now; - struct timeval *tv_clock = &bts->vbts.tv_clock; + struct timeval *tv_clock = &bts_virt->tv_clock; int32_t elapsed_us; gettimeofday(&tv_now, NULL); @@ -587,28 +588,29 @@ }; timeradd(tv_clock, &tv_frame, tv_clock); /* increment the frame number in the BTS model instance */ - bts->vbts.last_fn = (bts->vbts.last_fn + 1) % GSM_HYPERFRAME; - vbts_sched_fn(bts, bts->vbts.last_fn); + bts_virt->last_fn = (bts_virt->last_fn + 1) % GSM_HYPERFRAME; + vbts_sched_fn(bts, bts_virt->last_fn); elapsed_us -= FRAME_DURATION_uS; } /* re-schedule the timer */ /* timer is set to frame duration - elapsed time to guarantee that this cb method will be * periodically executed every 4.615ms */ - osmo_timer_schedule(&bts->vbts.fn_timer, 0, FRAME_DURATION_uS - elapsed_us); + osmo_timer_schedule(&bts_virt->fn_timer, 0, FRAME_DURATION_uS - elapsed_us); } int vbts_sched_start(struct gsm_bts *bts) { + struct bts_virt_priv *bts_virt = (struct bts_virt_priv *)bts->model_priv; LOGP(DL1P, LOGL_NOTICE, "starting VBTS scheduler\n"); - memset(&bts->vbts.fn_timer, 0, sizeof(bts->vbts.fn_timer)); - bts->vbts.fn_timer.cb = vbts_fn_timer_cb; - bts->vbts.fn_timer.data = bts; + memset(&bts_virt->fn_timer, 0, sizeof(bts_virt->fn_timer)); + bts_virt->fn_timer.cb = vbts_fn_timer_cb; + bts_virt->fn_timer.data = bts; - gettimeofday(&bts->vbts.tv_clock, NULL); + gettimeofday(&bts_virt->tv_clock, NULL); /* trigger the first timer after 4615us (a frame duration) */ - osmo_timer_schedule(&bts->vbts.fn_timer, 0, FRAME_DURATION_uS); + osmo_timer_schedule(&bts_virt->fn_timer, 0, FRAME_DURATION_uS); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:22:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:22:36 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx priv... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15614 Change subject: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data ...................................................................... bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f --- M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 52 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/15614/1 diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 87df951..29bd246 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -5,6 +5,50 @@ #include #include "trx_if.h" +/* + * TRX frame clock handling + * + * In a "normal" synchronous PHY layer, we would be polled every time + * the PHY needs data for a given frame number. However, the + * OpenBTS-inherited TRX protocol works differently: We (L1) must + * autonomously send burst data based on our own clock, and every so + * often (currently every ~ 216 frames), we get a clock indication from + * the TRX. + * + * We're using a MONOTONIC timerfd interval timer for the 4.615ms frame + * intervals, and then compute + send the 8 bursts for that frame. + * + * Upon receiving a clock indication from the TRX, we compensate + * accordingly: If we were transmitting too fast, we're delaying the + * next interval timer accordingly. If we were too slow, we immediately + * send burst data for the missing frame numbers. + */ + +/*! clock state of a given TRX */ +struct osmo_trx_clock_state { + /*! number of FN periods without TRX clock indication */ + uint32_t fn_without_clock_ind; + struct { + /*! last FN we processed based on FN period timer */ + uint32_t fn; + /*! time at which we last processed FN */ + struct timespec tv; + } last_fn_timer; + struct { + /*! last FN we received a clock indication for */ + uint32_t fn; + /*! time at which we received the last clock indication */ + struct timespec tv; + } last_clk_ind; + /*! Osmocom FD wrapper for timerfd */ + struct osmo_fd fn_timer_ofd; +}; + +/* gsm_bts->model_priv, specific to osmo-bts-trx */ +struct bts_trx_priv { + struct osmo_trx_clock_state clk_s; +}; + struct trx_config { uint8_t trxd_hdr_ver_req; /* requested TRXD header version */ uint8_t trxd_hdr_ver_use; /* actual TRXD header version in use */ diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index b1fa207..cf40ea3 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -97,6 +97,10 @@ int bts_model_init(struct gsm_bts *bts) { + struct bts_trx_priv *bts_trx = talloc_zero(bts, struct bts_trx_priv); + bts_trx->clk_s.fn_timer_ofd.fd = -1; + + bts->model_priv = bts_trx; bts->variant = BTS_OSMO_TRX; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8b0c761..6c3a8ff 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1580,48 +1580,6 @@ return 0; } -/* - * TRX frame clock handling - * - * In a "normal" synchronous PHY layer, we would be polled every time - * the PHY needs data for a given frame number. However, the - * OpenBTS-inherited TRX protocol works differently: We (L1) must - * autonomously send burst data based on our own clock, and every so - * often (currently every ~ 216 frames), we get a clock indication from - * the TRX. - * - * We're using a MONOTONIC timerfd interval timer for the 4.615ms frame - * intervals, and then compute + send the 8 bursts for that frame. - * - * Upon receiving a clock indication from the TRX, we compensate - * accordingly: If we were transmitting too fast, we're delaying the - * next interval timer accordingly. If we were too slow, we immediately - * send burst data for the missing frame numbers. - */ - -/*! clock state of a given TRX */ -struct osmo_trx_clock_state { - /*! number of FN periods without TRX clock indication */ - uint32_t fn_without_clock_ind; - struct { - /*! last FN we processed based on FN period timer */ - uint32_t fn; - /*! time at which we last processed FN */ - struct timespec tv; - } last_fn_timer; - struct { - /*! last FN we received a clock indication for */ - uint32_t fn; - /*! time at which we received the last clock indication */ - struct timespec tv; - } last_clk_ind; - /*! Osmocom FD wrapper for timerfd */ - struct osmo_fd fn_timer_ofd; -}; - -/* TODO: This must go and become part of the phy_link */ -static struct osmo_trx_clock_state g_clk_s = { .fn_timer_ofd.fd = -1 }; - /*! duration of a GSM frame in nano-seconds. (120ms/26) */ #define FRAME_DURATION_nS 4615384 /*! duration of a GSM frame in micro-seconds (120s/26) */ @@ -1665,7 +1623,8 @@ static int trx_fn_timer_cb(struct osmo_fd *ofd, unsigned int what) { struct gsm_bts *bts = ofd->data; - struct osmo_trx_clock_state *tcs = &g_clk_s; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; struct timespec tv_now; uint64_t expire_count; int64_t elapsed_us, error_us; @@ -1748,7 +1707,8 @@ /*! called every time we receive a clock indication from TRX */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn) { - struct osmo_trx_clock_state *tcs = &g_clk_s; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; + struct osmo_trx_clock_state *tcs = &bts_trx->clk_s; struct timespec tv_now; int elapsed_fn; int64_t elapsed_us, elapsed_us_since_clk, elapsed_fn_since_clk, error_us_since_clk; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f Gerrit-Change-Number: 15614 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:22:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:22:37 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Move transceiver_available as part of bts-trx private data Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15615 Change subject: bts-trx: Move transceiver_available as part of bts-trx private data ...................................................................... bts-trx: Move transceiver_available as part of bts-trx private data Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 6 files changed, 37 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/15615/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index cd2a03c..fb75116 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -186,11 +186,28 @@ int l1if_provision_transceiver_trx(struct trx_l1h *l1h) { uint8_t tn; + struct phy_link *plink; + struct gsm_bts *bts; + struct bts_trx_priv *bts_trx; struct phy_instance *pinst = l1h->phy_inst; - struct phy_link *plink = pinst->phy_link; - if (!transceiver_available) + /* During setup, pinst may still not be associated to a TRX nr */ + if (!pinst->trx) { + LOGPPHI(pinst, DL1C, LOGL_INFO, + "Delaying provision, TRX not yet assigned to phy instance\n"); return -EIO; + } + + bts = pinst->trx->bts; + bts_trx = (struct bts_trx_priv *)bts->model_priv; + + if (!bts_trx->available) { + LOGPPHI(pinst, DL1C, LOGL_INFO, + "Delaying provision, TRX not yet available\n"); + return -EIO; + } + + plink = pinst->phy_link; if (l1h->config.poweron && l1h->config.tsc_valid @@ -371,6 +388,7 @@ /* set bts attributes */ static uint8_t trx_set_bts(struct gsm_bts *bts, struct tlv_parsed *new_attr) { + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; struct gsm_bts_trx *trx; uint8_t bsic = bts->bsic; @@ -384,7 +402,7 @@ l1if_provision_transceiver_trx(l1h); } } - check_transceiver_availability(bts, transceiver_available); + check_transceiver_availability(bts, bts_trx->available); return 0; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 29bd246..b2eb404 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -46,6 +46,7 @@ /* gsm_bts->model_priv, specific to osmo-bts-trx */ struct bts_trx_priv { + bool available; struct osmo_trx_clock_state clk_s; }; diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 6c3a8ff..51050fa 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1677,7 +1677,7 @@ no_clock: osmo_timerfd_disable(&tcs->fn_timer_ofd); - transceiver_available = 0; + bts_trx->available = false; bts_shutdown(bts, "No clock from osmo-trx"); @@ -1724,10 +1724,10 @@ clock_gettime(CLOCK_MONOTONIC, &tv_now); /* clock becomes valid */ - if (!transceiver_available) { + if (!bts_trx->available) { LOGP(DL1C, LOGL_NOTICE, "initial GSM clock received: fn=%u\n", fn); - transceiver_available = 1; + bts_trx->available = true; /* start provisioning transceiver */ l1if_provision_transceiver(bts); diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 166cfe6..ccece15 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -48,8 +48,6 @@ #include "l1_if.h" #include "trx_if.h" -int transceiver_available = 0; - /* * socket helper functions */ @@ -196,12 +194,14 @@ static int trx_ctrl_cmd_cb(struct trx_l1h *l1h, int critical, void *cb, const char *cmd, const char *fmt, ...) { + struct gsm_bts *bts = l1h->phy_inst->trx->bts; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; struct trx_ctrl_msg *tcm; struct trx_ctrl_msg *prev = NULL; va_list ap; int pending; - if (!transceiver_available && + if (!bts_trx->available && !(!strcmp(cmd, "POWEROFF") || !strcmp(cmd, "POWERON"))) { LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "CTRL %s ignored: No clock from " "transceiver, please fix!\n", cmd); @@ -1054,6 +1054,8 @@ int trx_if_send_burst(struct trx_l1h *l1h, uint8_t tn, uint32_t fn, uint8_t pwr, const ubit_t *bits, uint16_t nbits) { + struct gsm_bts *bts = l1h->phy_inst->trx->bts; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; uint8_t hdr_ver = l1h->config.trxd_hdr_ver_use; uint8_t buf[TRX_DATA_MSG_MAX_LEN]; @@ -1090,7 +1092,7 @@ /* we must be sure that we have clock, and we have sent all control * data */ - if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { + if (bts_trx->available && llist_empty(&l1h->trx_ctrl_list)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); @@ -1225,7 +1227,9 @@ /*! open the PHY link using TRX protocol */ int bts_model_phy_link_open(struct phy_link *plink) { - struct phy_instance *pinst; + struct phy_instance *pinst = phy_instance_by_num(plink, 0); + struct gsm_bts *bts = pinst->trx->bts; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; int rc; phy_link_state_set(plink, PHY_LINK_CONNECTING); @@ -1248,7 +1252,7 @@ goto cleanup; } /* FIXME: is there better way to check/report TRX availability? */ - transceiver_available = 1; + bts_trx->available = true; return 0; cleanup: diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index dda7116..c187441 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -1,8 +1,6 @@ #ifndef TRX_IF_H #define TRX_IF_H -extern int transceiver_available; - struct trx_l1h; struct trx_ctrl_msg { diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 250d180..d2d0ad2 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -55,10 +55,11 @@ SHOW_STR "Display information about transceivers\n") { struct gsm_bts *bts = vty_bts; + struct bts_trx_priv *bts_trx = (struct bts_trx_priv *)bts->model_priv; struct gsm_bts_trx *trx; struct trx_l1h *l1h; - if (!transceiver_available) { + if (!bts_trx->available) { vty_out(vty, "transceiver is not connected%s", VTY_NEWLINE); } else { vty_out(vty, "transceiver is connected%s", VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 Gerrit-Change-Number: 15615 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:23:10 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... struct gsm_bts: Add model_priv pointer handing bts_model specific data Existing model specific data is moved there. Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e --- M include/osmo-bts/gsm_data_shared.h M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/main.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/scheduler_virtbts.c 6 files changed, 33 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/15613/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:23:10 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx priv... In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/15614 ) Change subject: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data ...................................................................... bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f --- M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 52 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/15614/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f Gerrit-Change-Number: 15614 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 15:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 15:23:10 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Move transceiver_available as part of bts-trx private data In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/15615 ) Change subject: bts-trx: Move transceiver_available as part of bts-trx private data ...................................................................... bts-trx: Move transceiver_available as part of bts-trx private data Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 6 files changed, 37 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/15615/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 Gerrit-Change-Number: 15615 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 21:14:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 21:14:19 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: Hello fixeria, neels, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/15546 to look at the new patch set (#7). Change subject: tdef: Introduce min_val and max_val fields ...................................................................... tdef: Introduce min_val and max_val fields This is useful for timers expected to have a range of valid or expected values. Validation is done at runtime when timer values are set by the app or by the user through the VTY. Related: OS#4190 Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 --- M TODO-RELEASE M include/osmocom/core/tdef.h M src/tdef.c M src/vty/tdef_vty.c M tests/tdef/tdef_test.c M tests/tdef/tdef_test.ok M tests/tdef/tdef_vty_test_config_root.c M tests/tdef/tdef_vty_test_config_root.vty 8 files changed, 175 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/15546/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Sep 27 21:21:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 27 Sep 2019 21:21:55 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 to look at the new patch set (#3). Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... struct gsm_bts: Add model_priv pointer handing bts_model specific data Existing model specific data is moved there. Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e --- M include/osmo-bts/gsm_data_shared.h M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/main.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/scheduler_virtbts.c 6 files changed, 33 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/15613/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Sep 28 01:34:42 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 28 Sep 2019 01:34:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8eb8c2cab2f_6cd92b1d301e46002567c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 774s] ar: `u' modifier ignored since `D' is the default (see `U') [ 774s] libtool: link: ranlib .libs/libtransceiver_common.a [ 774s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 774s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 775s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 775s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 775s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 775s] collect2: error: ld returned 1 exit status [ 775s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 775s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 775s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 775s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 775s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 775s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 775s] make[1]: *** [Makefile:444: all] Error 2 [ 775s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 775s] dh_auto_build: make -j1 returned exit code 2 [ 775s] make: *** [debian/rules:6: build] Error 255 [ 775s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 775s] [ 775s] build81 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 28 01:34:32 UTC 2019. [ 775s] [ 775s] ### VM INTERACTION START ### [ 779s] [ 697.523898] sysrq: SysRq : Power Off [ 779s] [ 697.537780] reboot: Power down [ 779s] ### VM INTERACTION END ### [ 779s] [ 779s] build81 failed "build osmo-trx_1.1.1.28.ee2b.dsc" at Sat Sep 28 01:34:36 UTC 2019. [ 779s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Sep 28 01:48:42 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 28 Sep 2019 01:48:42 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d8ebc095f16c_6cd92b1d301e460025923b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 841s] ar: `u' modifier ignored since `D' is the default (see `U') [ 841s] libtool: link: ranlib .libs/libtransceiver_common.a [ 841s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 841s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 841s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 842s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 842s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 842s] collect2: error: ld returned 1 exit status [ 842s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 842s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 842s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 842s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 842s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 842s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 842s] make[1]: *** [Makefile:444: all] Error 2 [ 842s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 842s] dh_auto_build: make -j1 returned exit code 2 [ 842s] make: *** [debian/rules:6: build] Error 255 [ 842s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 842s] [ 842s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 28 01:48:25 UTC 2019. [ 842s] [ 842s] ### VM INTERACTION START ### [ 845s] [ 811.845485] sysrq: SysRq : Power Off [ 845s] [ 811.875440] reboot: Power down [ 845s] ### VM INTERACTION END ### [ 845s] [ 845s] lamb26 failed "build osmo-trx_1.1.1.dsc" at Sat Sep 28 01:48:29 UTC 2019. [ 845s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:39:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:39:03 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Use API to get poweron state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15610 ) Change subject: bts-trx: vty: Use API to get poweron state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 Gerrit-Change-Number: 15610 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 10:39:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:39:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:39:09 +0000 Subject: Change in ...osmo-bts[master]: bts.h: Remove non-existent function definitions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15611 ) Change subject: bts.h: Remove non-existent function definitions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 Gerrit-Change-Number: 15611 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 10:39:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:40:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:40:08 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... Patch Set 3: what I'm missing here is a *why* -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 10:40:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:41:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:41:19 +0000 Subject: Change in ...libosmocore[master]: tdef: Introduce min_val and max_val fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 ) Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 10:41:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:41:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:41:33 +0000 Subject: Change in ...libosmocore[master]: tdef_test: verify case where osmo_tdef_set returns -EEXIST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15563 ) Change subject: tdef_test: verify case where osmo_tdef_set returns -EEXIST ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436daa804aac11622fde24afe9ea35193d9e9beb Gerrit-Change-Number: 15563 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 28 Sep 2019 10:41:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:46:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:46:08 +0000 Subject: Change in ...osmo-bts[master]: vty: add "logging filter l1-sapi" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15550 ) Change subject: vty: add "logging filter l1-sapi" ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I32d86d3d34757135b4cce59919c2fc2b67f0a889 Gerrit-Change-Number: 15550 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 10:46:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:47:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:47:04 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 28 Sep 2019 10:47:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:47:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:47:13 +0000 Subject: Change in ...osmo-trx[master]: radioInterface: Atomically fetch and change underrun variable In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15524 ) Change subject: radioInterface: Atomically fetch and change underrun variable ...................................................................... radioInterface: Atomically fetch and change underrun variable Otherwise, it could happen that underrun events are lost: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) read(underrun) write(underrun, |val) [maybe underrun becomes TRUE] write(underrun, false) Similary, it could happen the other direction if atomic was only applied to isUnderrun: TxLower (isUnderrun): RxLower (pullBuffer): read(underrun) -> true read(underrun)-> true write(underrun, false) write(underrun, true|val) where val=false So in here isUnderrun would return true twice while it should only return one. Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M Transceiver52M/osmo-trx.cpp M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h M Transceiver52M/radioInterfaceMulti.cpp M Transceiver52M/radioInterfaceResamp.cpp M configure.ac 8 files changed, 61 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index dd57d40..020d94e 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -40,7 +40,9 @@ using namespace std; - +#ifndef HAVE_ATOMIC_OPS + pthread_mutex_t atomic_ops_mutex = PTHREAD_MUTEX_INITIALIZER; +#endif Mutex gStreamLock; ///< Global lock to control access to cout and cerr. diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h index 4cc0884..df61c72 100644 --- a/CommonLibs/Threads.h +++ b/CommonLibs/Threads.h @@ -28,6 +28,8 @@ #ifndef THREADS_H #define THREADS_H +#include "config.h" + #include #include #include @@ -188,8 +190,30 @@ void cancel() { pthread_cancel(mThread); } }; +#ifdef HAVE_ATOMIC_OPS +#define osmo_trx_sync_fetch_and_and(ptr, value) __sync_fetch_and_and((ptr), (value)) +#define osmo_trx_sync_or_and_fetch(ptr, value) __sync_or_and_fetch((ptr), (value)) +#else +extern pthread_mutex_t atomic_ops_mutex; +static inline int osmo_trx_sync_fetch_and_and(int *ptr, int value) +{ + pthread_mutex_lock(&atomic_ops_mutex); + int tmp = *ptr; + *ptr &= value; + pthread_mutex_unlock(&atomic_ops_mutex); + return tmp; +} - +static inline int osmo_trx_sync_or_and_fetch(int *ptr, int value) +{ + int tmp; + pthread_mutex_lock(&atomic_ops_mutex); + *ptr |= value; + tmp = *ptr; + pthread_mutex_unlock(&atomic_ops_mutex); + return tmp; +} +#endif #endif // vim: ts=4 sw=4 diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index ab0b631..9fe6585 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -571,6 +571,11 @@ #endif #endif +#ifndef HAVE_ATOMIC_OPS +#pragma message ("Built without atomic operation support. Using Mutex, it may affect performance!") + printf("Built without atomic operation support. Using Mutex, it may affect performance!\n"); +#endif + if (!log_mutex_init()) { fprintf(stderr, "Failed to initialize log mutex!\n"); exit(2); diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 6e49a75..fbcacf1 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -24,6 +24,7 @@ #include "radioInterface.h" #include "Resampler.h" #include +#include extern "C" { #include "convert.h" @@ -288,9 +289,9 @@ bool RadioInterface::isUnderrun() { - bool retVal = underrun; - underrun = false; - + bool retVal; + /* atomically get previous value of "underrun" and set the var to false */ + retVal = osmo_trx_sync_fetch_and_and(&underrun, false); return retVal; } @@ -340,7 +341,7 @@ segmentLen * 2); } - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); readTimestamp += numRecv; return 0; } @@ -366,7 +367,7 @@ segmentLen, &local_underrun, writeTimestamp); - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += numSent; return true; diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index b12c187..d72fb69 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -48,7 +48,7 @@ std::vector convertRecvBuffer; std::vector convertSendBuffer; std::vector powerScaling; - bool underrun; ///< indicates writes to USRP are too slow + int underrun; ///< indicates writes to USRP are too slow bool overrun; ///< indicates reads from USRP are too slow TIMESTAMP writeTimestamp; ///< sample timestamp of next packet written to USRP TIMESTAMP readTimestamp; ///< sample timestamp of next packet read from USRP diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index eec426e..92e31e1 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -251,7 +251,7 @@ convert_short_float((float *) outerRecvBuffer->begin(), convertRecvBuffer[0], 2 * outerRecvBuffer->size()); - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); readTimestamp += num; channelizer->rotate((float *) outerRecvBuffer->begin(), @@ -348,7 +348,7 @@ LOG(ALERT) << "Transmit error " << num; } - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += num; return true; diff --git a/Transceiver52M/radioInterfaceResamp.cpp b/Transceiver52M/radioInterfaceResamp.cpp index 864cdee..b92432f 100644 --- a/Transceiver52M/radioInterfaceResamp.cpp +++ b/Transceiver52M/radioInterfaceResamp.cpp @@ -184,7 +184,7 @@ convert_short_float((float *) outerRecvBuffer->begin(), convertRecvBuffer[0], 2 * resamp_outchunk); - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); readTimestamp += (TIMESTAMP) resamp_outchunk; /* Write to the end of the inner receive buffer */ @@ -232,7 +232,7 @@ LOG(ALERT) << "Transmit error " << numSent; } - underrun |= local_underrun; + osmo_trx_sync_or_and_fetch(&underrun, local_underrun); writeTimestamp += resamp_outchunk; return true; diff --git a/configure.ac b/configure.ac index fa9cf8d..350c77c 100644 --- a/configure.ac +++ b/configure.ac @@ -190,29 +190,39 @@ AC_DEFUN([CHECK_BUILTIN_SUPPORT], [ AC_CACHE_CHECK( [whether ${CC} has $1 built-in], - [osmo_cv_cc_has_builtin], [ + [osmo_cv_cc_has_$1], [ AC_LINK_IFELSE([ AC_LANG_PROGRAM([], [ - __builtin_cpu_supports("sse"); + $2 ]) ], - [AS_VAR_SET([osmo_cv_cc_has_builtin], [yes])], - [AS_VAR_SET([osmo_cv_cc_has_builtin], [no])]) + [AS_VAR_SET([osmo_cv_cc_has_$1], [yes])], + [AS_VAR_SET([osmo_cv_cc_has_$1], [no])]) ] ) - AS_IF([test yes = AS_VAR_GET([osmo_cv_cc_has_builtin])], [ + AS_IF([test yes = AS_VAR_GET([osmo_cv_cc_has_$1])], [ AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1), 1, [Define to 1 if compiler has the '$1' built-in function]) ], [ - AC_MSG_WARN($2) + AC_MSG_WARN($3) ]) ]) dnl Check if the compiler supports runtime SIMD detection -CHECK_BUILTIN_SUPPORT([__builtin_cpu_supports], +CHECK_BUILTIN_SUPPORT([__builtin_cpu_supports], [__builtin_cpu_supports("sse");], [Runtime SIMD detection will be disabled]) +dnl Check for __sync_fetch_and_add(). +CHECK_BUILTIN_SUPPORT([__sync_fetch_and_and], [int x;__sync_fetch_and_and(&x,1);], + [Atomic operation not available, will use mutex]) +dnl Check for __sync_or_and_fetch(). +CHECK_BUILTIN_SUPPORT([__sync_or_and_fetch], [int x;__sync_or_and_fetch(&x,1);], + [Atomic operation not available, will use mutex]) +AS_IF([test "x$osmo_cv_cc_has___sync_fetch_and_and" = "xyes" && test "x$osmo_cv_cc_has___sync_or_and_fetch" = "xyes"], [ + AC_DEFINE(HAVE_ATOMIC_OPS, 1, [Support all required atomic operations], [AC_MSG_WARN("At least one aotmic operation missing, will use mutex")]) +]) + AM_CONDITIONAL(DEVICE_UHD, [test "x$with_uhd" != "xno"]) AM_CONDITIONAL(DEVICE_USRP1, [test "x$with_usrp1" = "xyes"]) AM_CONDITIONAL(DEVICE_LMS, [test "x$with_lms" = "xyes"]) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I684e0a5d2a9583a161d5a6593559b3a9e7cd57e3 Gerrit-Change-Number: 15524 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:49:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:49:43 +0000 Subject: Change in ...libosmocore[master]: logging: Introduce mutex API to manage log_target in multi-thread envs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15560 ) Change subject: logging: Introduce mutex API to manage log_target in multi-thread envs ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id7711893b34263baacac6caf4d489467053131bb Gerrit-Change-Number: 15560 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sat, 28 Sep 2019 10:49:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 10:50:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 10:50:03 +0000 Subject: Change in ...osmo-trx[master]: Use new libosmocore logging lock API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15561 ) Change subject: Use new libosmocore logging lock API ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I519d0f30bce871005ca26b90177ea4aa4839360a Gerrit-Change-Number: 15561 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 10:50:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:00:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:00:13 +0000 Subject: Change in ...osmo-hlr[master]: change format of 'last LU seen' In-Reply-To: References: Message-ID: Hello lynxis lazus, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/15359 to look at the new patch set (#2). Change subject: change format of 'last LU seen' ...................................................................... change format of 'last LU seen' So far, the time string format comes from ctime_r, and we manually add "UTC" to it. The ctime_r format is wildly chaotic IMHO, mixing weekday, day-of-month and hour and year in very unsorted ways. Adding "UTC" to it is non-standard. Instead use an ISO-8601 standardized time string via strftime(). Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a --- M src/hlr_vty_subscr.c 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/59/15359/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a Gerrit-Change-Number: 15359 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:04:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:04:06 +0000 Subject: Change in ...libosmocore[master]: sim/class_tables: Fix typo in comment Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15616 Change subject: sim/class_tables: Fix typo in comment ...................................................................... sim/class_tables: Fix typo in comment Change-Id: I837c8303a7bb47b690cc8841cf5cafba8ac338af --- M src/sim/class_tables.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/15616/1 diff --git a/src/sim/class_tables.c b/src/sim/class_tables.c index 593b2e8..6f541ee 100644 --- a/src/sim/class_tables.c +++ b/src/sim/class_tables.c @@ -112,7 +112,7 @@ /* ETSI TS 102 221, Table 10.5, CLA = 0x0x, 0x4x or 0x6x */ static const uint8_t uicc_ins_tbl_046[256] = { - [0xA4] = 4, /* SELET FILE */ + [0xA4] = 4, /* SELECT FILE */ [0xB0] = 2, /* READ BINARY */ [0xD6] = 3, /* UPDATE BINARY */ [0xB2] = 2, /* READ RECORD */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I837c8303a7bb47b690cc8841cf5cafba8ac338af Gerrit-Change-Number: 15616 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:04:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:04:06 +0000 Subject: Change in ...libosmocore[master]: cosmetic: clarify c_iflag in osmo_serial_init() Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/15617 Change subject: cosmetic: clarify c_iflag in osmo_serial_init() ...................................................................... cosmetic: clarify c_iflag in osmo_serial_init() We first set the ISTRIP bit only to remove it in the next line. Let's try to avoid confusing the reader. Change-Id: Icba43dd4b6dc4f9c7f8fcf91d24b3baac4e0c74a --- M src/serial.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/15617/1 diff --git a/src/serial.c b/src/serial.c index 1b5a4cf..31cb81d 100644 --- a/src/serial.c +++ b/src/serial.c @@ -97,7 +97,7 @@ tio.c_cflag &= ~(PARENB | CSTOPB | CSIZE | CRTSCTS); tio.c_cflag |= (CREAD | CLOCAL | CS8); tio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); - tio.c_iflag |= (INPCK | ISTRIP); + tio.c_iflag |= (INPCK); tio.c_iflag &= ~(ISTRIP | IXON | IXOFF | IGNBRK | INLCR | ICRNL | IGNCR); tio.c_oflag &= ~(OPOST | ONLCR); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icba43dd4b6dc4f9c7f8fcf91d24b3baac4e0c74a Gerrit-Change-Number: 15617 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:08:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:08:57 +0000 Subject: Change in ...libosmocore[master]: sim/class_tables: Fix typo in comment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15616 ) Change subject: sim/class_tables: Fix typo in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I837c8303a7bb47b690cc8841cf5cafba8ac338af Gerrit-Change-Number: 15616 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 11:08:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:09:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:09:03 +0000 Subject: Change in ...libosmocore[master]: cosmetic: clarify c_iflag in osmo_serial_init() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15617 ) Change subject: cosmetic: clarify c_iflag in osmo_serial_init() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icba43dd4b6dc4f9c7f8fcf91d24b3baac4e0c74a Gerrit-Change-Number: 15617 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 28 Sep 2019 11:09:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:09:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:09:16 +0000 Subject: Change in ...libosmocore[master]: sim/class_tables: Fix typo in comment In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15616 ) Change subject: sim/class_tables: Fix typo in comment ...................................................................... sim/class_tables: Fix typo in comment Change-Id: I837c8303a7bb47b690cc8841cf5cafba8ac338af --- M src/sim/class_tables.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sim/class_tables.c b/src/sim/class_tables.c index 593b2e8..6f541ee 100644 --- a/src/sim/class_tables.c +++ b/src/sim/class_tables.c @@ -112,7 +112,7 @@ /* ETSI TS 102 221, Table 10.5, CLA = 0x0x, 0x4x or 0x6x */ static const uint8_t uicc_ins_tbl_046[256] = { - [0xA4] = 4, /* SELET FILE */ + [0xA4] = 4, /* SELECT FILE */ [0xB0] = 2, /* READ BINARY */ [0xD6] = 3, /* UPDATE BINARY */ [0xB2] = 2, /* READ RECORD */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I837c8303a7bb47b690cc8841cf5cafba8ac338af Gerrit-Change-Number: 15616 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 11:18:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 11:18:09 +0000 Subject: Change in ...libosmocore[master]: cosmetic: clarify c_iflag in osmo_serial_init() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/15617 ) Change subject: cosmetic: clarify c_iflag in osmo_serial_init() ...................................................................... cosmetic: clarify c_iflag in osmo_serial_init() We first set the ISTRIP bit only to remove it in the next line. Let's try to avoid confusing the reader. Change-Id: Icba43dd4b6dc4f9c7f8fcf91d24b3baac4e0c74a --- M src/serial.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/serial.c b/src/serial.c index 1b5a4cf..31cb81d 100644 --- a/src/serial.c +++ b/src/serial.c @@ -97,7 +97,7 @@ tio.c_cflag &= ~(PARENB | CSTOPB | CSIZE | CRTSCTS); tio.c_cflag |= (CREAD | CLOCAL | CS8); tio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); - tio.c_iflag |= (INPCK | ISTRIP); + tio.c_iflag |= (INPCK); tio.c_iflag &= ~(ISTRIP | IXON | IXOFF | IGNBRK | INLCR | ICRNL | IGNCR); tio.c_oflag &= ~(OPOST | ONLCR); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icba43dd4b6dc4f9c7f8fcf91d24b3baac4e0c74a Gerrit-Change-Number: 15617 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:40:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:40:39 +0000 Subject: Change in ...libosmocore[master]: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_... In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... Removed Code-Review-2 by neels -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/12452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 Gerrit-Change-Number: 12452 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:40:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:40:40 +0000 Subject: Change in ...libosmocore[master]: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/12452 ) Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/12452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 Gerrit-Change-Number: 12452 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 28 Sep 2019 12:40:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:43:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:43:24 +0000 Subject: Change in ...libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13338 ) Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 Gerrit-Change-Number: 13338 Gerrit-PatchSet: 14 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 28 Sep 2019 12:43:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:44:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:44:25 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15505 ) Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 28 Sep 2019 12:44:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:44:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:44:30 +0000 Subject: Change in ...pysim[master]: python3 conversion: fix tabs and spaces inconsistency In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/pysim/+/15505 ) Change subject: python3 conversion: fix tabs and spaces inconsistency ...................................................................... python3 conversion: fix tabs and spaces inconsistency Without that fix we have: $ python3 pySim-read.py File "pySim-read.py", line 135 try: ^ TabError: inconsistent use of tabs and spaces in indentation The following command was used to do the conversion: sed 's# #\t#g' -i $(find -name "*.py") Then the remaining spaces spotted during the review were addressed manually. Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f --- M pySim-prog.py M pySim-read.py M pySim/cards.py M pySim/commands.py M pySim/transport/__init__.py 5 files changed, 108 insertions(+), 109 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 990fe15..b070c5e 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -130,7 +130,7 @@ ) parser.add_option("--acc", dest="acc", help="Set ACC bits (Access Control Code). not all card types are supported", - ) + ) parser.add_option("--read-imsi", dest="read_imsi", action="store_true", help="Read the IMSI from the CARD", default=False ) @@ -176,8 +176,8 @@ print kls.name sys.exit(0) - if options.probe: - return options + if options.probe: + return options if options.source == 'csv': if (options.imsi is None) and (options.batch_mode is False) and (options.read_imsi is False) and (options.read_iccid is False): @@ -287,7 +287,7 @@ iccid = ( '89' + # Common prefix (telecom) cc_digits + # Country Code on 2/3 digits - plmn_digits # MCC/MNC on 5/6 digits + plmn_digits # MCC/MNC on 5/6 digits ) ml = 18 - len(iccid) @@ -399,14 +399,14 @@ else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: + if opts.pin_adm_hex is not None: if len(opts.pin_adm_hex) == 16: pin_adm = opts.pin_adm_hex # Ensure that it's hex-encoded try: try_encode = h2b(pin_adm) except ValueError: - raise ValueError("PIN-ADM needs to be hex encoded using this option") + raise ValueError("PIN-ADM needs to be hex encoded using this option") else: raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") @@ -462,8 +462,8 @@ cr.fieldnames = [ field.lower() for field in cr.fieldnames ] i = 0 - if not 'iccid' in cr.fieldnames: - raise Exception("CSV file in wrong format!") + if not 'iccid' in cr.fieldnames: + raise Exception("CSV file in wrong format!") for row in cr: if opts.num is not None and opts.read_iccid is False and opts.read_imsi is False: if opts.num == i: @@ -726,7 +726,7 @@ if opts.card_handler: card_handler = card_handler_auto(sl, opts.card_handler) - else: + else: card_handler = card_handler(sl) # Iterate @@ -762,4 +762,3 @@ sys.exit(rc) first = False - diff --git a/pySim-read.py b/pySim-read.py index 17fce61..4bfa900 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -123,41 +123,41 @@ # EF.PLMNsel try: - (res, sw) = scc.read_binary(EF['PLMNsel']) - if sw == '9000': - print("PLMNsel: %s" % (res)) - else: - print("PLMNsel: Can't read, response code = %s" % (sw,)) + (res, sw) = scc.read_binary(EF['PLMNsel']) + if sw == '9000': + print("PLMNsel: %s" % (res)) + else: + print("PLMNsel: Can't read, response code = %s" % (sw,)) except Exception as e: print "HPLMNAcT: Can't read file -- " + str(e) # EF.PLMNwAcT - try: - (res, sw) = scc.read_binary(EF['PLMNwAcT']) - if sw == '9000': - print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("PLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['PLMNwAcT']) + if sw == '9000': + print("PLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("PLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "PLMNwAcT: Can't read file -- " + str(e) # EF.OPLMNwAcT - try: - (res, sw) = scc.read_binary(EF['OPLMNwAcT']) - if sw == '9000': - print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['OPLMNwAcT']) + if sw == '9000': + print("OPLMNwAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("OPLMNwAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "OPLMNwAcT: Can't read file -- " + str(e) # EF.HPLMNAcT - try: - (res, sw) = scc.read_binary(EF['HPLMNAcT']) - if sw == '9000': - print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) - else: - print("HPLMNAcT: Can't read, response code = %s" % (sw,)) + try: + (res, sw) = scc.read_binary(EF['HPLMNAcT']) + if sw == '9000': + print("HPLMNAcT:\n%s" % (format_xplmn_w_act(res))) + else: + print("HPLMNAcT: Can't read, response code = %s" % (sw,)) except Exception as e: print "HPLMNAcT: Can't read file -- " + str(e) diff --git a/pySim/cards.py b/pySim/cards.py index cda337a..41723c4 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -85,11 +85,11 @@ def update_oplmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.OPLMNwAcT - data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['OPLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['OPLMNwAcT'], content + 'ffffff0000' * (size/5-1)) @@ -97,19 +97,19 @@ def update_plmn_act(self, mcc, mnc, access_tech='FFFF'): """ - See note in update_hplmn_act() + See note in update_hplmn_act() """ # get size and write EF.PLMNwAcT - data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) - size = len(data[0])/2 + data = self._scc.read_binary(EF['PLMNwAcT'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) content = hplmn + access_tech data, sw = self._scc.update_binary(EF['PLMNwAcT'], content + 'ffffff0000' * (size/5-1)) return sw - def update_plmnsel(self, mcc, mnc): - data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) - size = len(data[0])/2 + def update_plmnsel(self, mcc, mnc): + data = self._scc.read_binary(EF['PLMNsel'], length=None, offset=0) + size = len(data[0])/2 hplmn = enc_plmn(mcc, mnc) data, sw = self._scc.update_binary(EF['PLMNsel'], hplmn + 'ff' * (size-3)) return sw @@ -119,16 +119,16 @@ return sw def update_ad(self, mnc): - #See also: 3GPP TS 31.102, chapter 4.2.18 - mnclen = len(str(mnc)) - if mnclen == 1: - mnclen = 2 - if mnclen > 3: + #See also: 3GPP TS 31.102, chapter 4.2.18 + mnclen = len(str(mnc)) + if mnclen == 1: + mnclen = 2 + if mnclen > 3: raise RuntimeError('unable to calculate proper mnclen') - data = self._scc.read_binary(EF['AD'], length=None, offset=0) - size = len(data[0])/2 - content = data[0][0:6] + "%02X" % mnclen + data = self._scc.read_binary(EF['AD'], length=None, offset=0) + size = len(data[0])/2 + content = data[0][0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw @@ -394,7 +394,7 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # EF.SMSP - if p.get('smsp'): + if p.get('smsp'): r = self._scc.select_file(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) @@ -426,7 +426,7 @@ """ name = 'sysmosim-gr1' - @classmethod + @classmethod def autodetect(kls, scc): try: # Look for ATR @@ -536,7 +536,7 @@ r = self._scc.select_file(['3f00', '7f10']) # write EF.SMSP - if p.get('smsp'): + if p.get('smsp'): data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) def erase(self): @@ -592,25 +592,25 @@ data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) @@ -848,28 +848,28 @@ if sw != '9000': raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) - # EF.ICCID - # TODO: Add programming of the ICCID - if p.get('iccid'): + # EF.ICCID + # TODO: Add programming of the ICCID + if p.get('iccid'): print("Warning: Programming of the ICCID is not implemented for this type of card.") - # KI (Presumably a propritary file) - # TODO: Add programming of KI - if p.get('ki'): + # KI (Presumably a propritary file) + # TODO: Add programming of KI + if p.get('ki'): print("Warning: Programming of the KI is not implemented for this type of card.") - # OPc (Presumably a propritary file) - # TODO: Add programming of OPc - if p.get('opc'): + # OPc (Presumably a propritary file) + # TODO: Add programming of OPc + if p.get('opc'): print("Warning: Programming of the OPc is not implemented for this type of card.") - # EF.SMSP + # EF.SMSP if p.get('smsp'): sw = self.update_smsp(p['smsp']) if sw != '9000': print("Programming SMSP failed with code %s"%sw) - # EF.IMSI + # EF.IMSI if p.get('imsi'): sw = self.update_imsi(p['imsi']) if sw != '9000': @@ -882,30 +882,30 @@ print("Programming ACC failed with code %s"%sw) # EF.PLMNsel - if p.get('mcc') and p.get('mnc'): - sw = self.update_plmnsel(p['mcc'], p['mnc']) - if sw != '9000': + if p.get('mcc') and p.get('mnc'): + sw = self.update_plmnsel(p['mcc'], p['mnc']) + if sw != '9000': print("Programming PLMNsel failed with code %s"%sw) - # EF.PLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.PLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_plmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming PLMNwAcT failed with code %s"%sw) - # EF.OPLMNwAcT - if p.get('mcc') and p.get('mnc'): + # EF.OPLMNwAcT + if p.get('mcc') and p.get('mnc'): sw = self.update_oplmn_act(p['mcc'], p['mnc']) if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) - # EF.AD - if p.get('mcc') and p.get('mnc'): + # EF.AD + if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) if sw != '9000': print("Programming AD failed with code %s"%sw) - return None + return None def erase(self): return diff --git a/pySim/commands.py b/pySim/commands.py index 3d17903..03540b6 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -34,7 +34,7 @@ def __get_len_from_tlv(self, fcp): # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF - from pytlv.TLV import TLV + from pytlv.TLV import TLV tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) # pytlv is case sensitive! @@ -62,24 +62,24 @@ return int(tlv_parsed['80'], 16) - # Tell the length of a record by the card response - # USIMs respond with an FCP template, which is different - # from what SIMs responds. See also: - # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data - # SIM: GSM 11.11, chapter 9.2.1 SELECT + # Tell the length of a record by the card response + # USIMs respond with an FCP template, which is different + # from what SIMs responds. See also: + # USIM: ETSI TS 102 221, chapter 11.1.1.3 Response Data + # SIM: GSM 11.11, chapter 9.2.1 SELECT def __record_len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][28:30], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][28:30], 16) - # Tell the length of a binary file. See also comment - # above. + # Tell the length of a binary file. See also comment + # above. def __len(self, r): - if self.sel_ctrl == "0004": - return self.__get_len_from_tlv(r[-1]) - else: - return int(r[-1][4:8], 16) + if self.sel_ctrl == "0004": + return self.__get_len_from_tlv(r[-1]) + else: + return int(r[-1][4:8], 16) def get_atr(self): return self._tp.get_atr() diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 4b932cd..69e2fe9 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -28,7 +28,7 @@ timeout : Maximum wait time (None=no timeout) newcardonly : Should we wait for a new card, or an already - inserted one ? + inserted one ? """ pass @@ -52,8 +52,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ pass @@ -62,8 +62,8 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ data, sw = self.send_apdu_raw(pdu) @@ -84,15 +84,15 @@ pdu : string of hexadecimal characters (ex. "A0A40000023F00") sw : string of 4 hexadecimal characters (ex. "9000"). The - user may mask out certain digits using a '?' to add some - ambiguity if needed. + user may mask out certain digits using a '?' to add some + ambiguity if needed. return : tuple(data, sw), where - data : string (in hex) of returned data (ex. "074F4EFFFF") - sw : string (in hex) of status word (ex. "9000") + data : string (in hex) of returned data (ex. "074F4EFFFF") + sw : string (in hex) of status word (ex. "9000") """ rv = self.send_apdu(pdu) - # Create a masked version of the returned status word + # Create a masked version of the returned status word sw_masked = "" for i in range(0, 4): if sw.lower()[i] == '?': -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83f76a8e9b6e36098f16552a0135a8c22dde545f Gerrit-Change-Number: 15505 Gerrit-PatchSet: 2 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:45:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:45:36 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#5) to the change originally created by gnutoo. ( https://gerrit.osmocom.org/c/pysim/+/15503 ) Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... python3 conversion: Use python 2 and 3 compatible exceptions Without that we have: $ python3 pySim-read.py Using serial reader (port=/dev/ttyUSB0, baudrate=9600) interface Traceback (most recent call last): File "pySim-read.py", line 91, in from pySim.transport.serial import SerialSimLink File "/home/gnutoo/work/projects/osmocom/pysim/pySim/transport/serial.py", line 29, in from pySim.exceptions import NoCardError, ProtocolError File "/home/gnutoo/work/projects/osmocom/pysim/pySim/exceptions.py", line 26, in import exceptions ModuleNotFoundError: No module named 'exceptions' Signed-off-by: Denis 'GNUtoo' Carikli Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c --- M pySim/exceptions.py 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/15503/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 5 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:45:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:45:57 +0000 Subject: Change in ...pysim[master]: python3 conversion: Use python 2 and 3 compatible exceptions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15503 ) Change subject: python3 conversion: Use python 2 and 3 compatible exceptions ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie45dc7ccd72fe077ba3b424f221ff4ed02db436c Gerrit-Change-Number: 15503 Gerrit-PatchSet: 5 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Sat, 28 Sep 2019 12:45:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:46:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:46:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: add f_tc_lu_and_mt_sms_paging_repeated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 ) Change subject: msc: add f_tc_lu_and_mt_sms_paging_repeated ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 Gerrit-Change-Number: 15493 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 12:46:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:48:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:48:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: add f_tc_lu_and_mt_sms_paging_repeated In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 ) Change subject: msc: add f_tc_lu_and_mt_sms_paging_repeated ...................................................................... msc: add f_tc_lu_and_mt_sms_paging_repeated The testcase will ensure paging is repeated by the MSC. Repeating will improve the reachability of MS when a Paging is lost or not received because the MS is moving between states. Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 --- M msc/MSC_Tests.ttcn M msc/MSC_Tests_Iu.ttcn 2 files changed, 53 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 063105c..0d54405 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2060,6 +2060,48 @@ vc_conn.done; } +/* LU followed by MT SMS with repeated paging */ +friend function f_tc_lu_and_mt_sms_paging_repeated(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + var SmsParameters spars := valueof(t_SmsPars); + var OCT4 tmsi; + + f_init_handler(pars); + + /* Perform location update and call */ + f_perform_lu(); + + /* register an 'expect' for given IMSI (+TMSI) */ + if (isvalue(g_pars.tmsi)) { + tmsi := g_pars.tmsi; + } else { + tmsi := 'FFFFFFFF'O; + } + f_ran_register_imsi(g_pars.imsi, tmsi); + + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + /* Establish DTAP / BSSAP / SCCP connection */ + f_establish_fully(EST_TYPE_PAG_RESP); + + spars.tp.ud := 'C8329BFD064D9B53'O; + f_mt_sms(spars); + + f_expect_clear(); +} +testcase TC_lu_and_mt_sms_paging_repeated() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(); + pars := f_init_pars(1844); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars); + vc_conn.done; +} /* mobile originated SMS from MS/BTS/BSC side to SMPP */ friend function f_tc_smpp_mo_sms(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5845,6 +5887,7 @@ execute( TC_lu_and_mo_sms() ); execute( TC_lu_and_mt_sms() ); execute( TC_lu_and_mt_sms_paging_and_nothing() ); + execute( TC_lu_and_mt_sms_paging_repeated() ); execute( TC_smpp_mo_sms() ); execute( TC_smpp_mt_sms() ); diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index 6491e27..628fbcd 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -274,6 +274,15 @@ vc_conn.done; } +testcase TC_iu_lu_and_mt_sms_paging_repeated() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(3); + pars := f_init_pars(101844); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars); + vc_conn.done; +} + testcase TC_iu_smpp_mo_sms() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(3); @@ -432,6 +441,7 @@ execute( TC_iu_lu_and_mo_sms() ); execute( TC_iu_lu_and_mt_sms() ); execute( TC_iu_lu_and_mt_sms_paging_and_nothing() ); + execute( TC_iu_lu_and_mt_sms_paging_repeated() ); execute( TC_iu_smpp_mo_sms() ); execute( TC_iu_gsup_mo_sms() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873 Gerrit-Change-Number: 15493 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 12:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 12:48:59 +0000 Subject: Change in ...libosmocore[master]: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/12452 ) Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/12452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 Gerrit-Change-Number: 12452 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 28 Sep 2019 12:48:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 16:22:27 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Sep 2019 16:22:27 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Use API to get poweron state In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15610 ) Change subject: bts-trx: vty: Use API to get poweron state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 Gerrit-Change-Number: 15610 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 16:22:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 16:22:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Sep 2019 16:22:56 +0000 Subject: Change in ...osmo-bts[master]: bts.h: Remove non-existent function definitions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15611 ) Change subject: bts.h: Remove non-existent function definitions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 Gerrit-Change-Number: 15611 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 16:22:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 16:39:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Sep 2019 16:39:47 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... Patch Set 3: (4 comments) Agree with Harald: what do we benefit from this change? The current approach with union looks good to me, what's wrong with it? https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-oc2g/l1_if.h File src/osmo-bts-oc2g/l1_if.h: https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-oc2g/l1_if.h at 37 PS3, Line 37: Could you please use tabs for alignment? I know, you're just moving this definition 'as-is', but other blocks in this file already using tabs, so this one would also be consistent. https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/l1_if.h File src/osmo-bts-virtual/l1_if.h: https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/l1_if.h at 8 PS3, Line 8: specific to osmo-bts-virtual Actually, no. It's specific to both osmo-bts-trx and osmo-bts-virtual as the last one reuses some parts of the TDMA scheduler. https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/main.c File src/osmo-bts-virtual/main.c: https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/main.c at 60 PS3, Line 60: zero I would avoid using zero-initialization here. This structure is getting initialized in vbts_sched_start() anyway, and moreover it makes harder to catch uninitialized memory access. https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/scheduler_virtbts.c at 604 PS3, Line 604: Alignment. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 16:39:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 17:54:02 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 17:54:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 ) Change subject: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() ...................................................................... Patch Set 1: Code-Review-2 we already have this patch under a different change. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If80da5a94fd786b90f71121b51742c9f70a693eb Gerrit-Change-Number: 13905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sat, 28 Sep 2019 17:54:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 17:55:20 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 17:55:20 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: when receiving data PDU notify the Gb GMM fsm In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 ) Change subject: sgsn: when receiving data PDU notify the Gb GMM fsm ...................................................................... sgsn: when receiving data PDU notify the Gb GMM fsm When receiving a PDU, the GMM fsm will change to state MM_READY and will re-arm the T3314 Relates: OS#1941 Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 --- M include/osmocom/sgsn/gprs_gb.h M src/sgsn/gprs_gb.c M src/sgsn/gprs_sndcp.c 3 files changed, 21 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h index 3bc3676..47f2a31 100644 --- a/include/osmocom/sgsn/gprs_gb.h +++ b/include/osmocom/sgsn/gprs_gb.h @@ -3,7 +3,9 @@ #include #include -#include +#include int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable); +/* Has to be called whenever any PDU (signaling, data, ...) has been received */ +void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx); diff --git a/src/sgsn/gprs_gb.c b/src/sgsn/gprs_gb.c index 2d9c25a..9fa8e00 100644 --- a/src/sgsn/gprs_gb.c +++ b/src/sgsn/gprs_gb.c @@ -34,6 +34,12 @@ #include #include +/* Has to be called whenever any PDU (signaling, data, ...) has been received */ +void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx) { + if (mmctx->gb.llme) + osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_PDU_RECEPTION, NULL); +} + /* Main entry point for incoming 04.08 GPRS messages from Gb */ int gsm0408_gprs_rcvmsg_gb(struct msgb *msg, struct gprs_llc_llme *llme, bool drop_cipherable) @@ -50,7 +56,7 @@ msgid2mmctx(mmctx, msg); rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); mmctx->gb.llme = llme; - osmo_fsm_inst_dispatch(mmctx->gb.mm_state_fsm, E_MM_PDU_RECEPTION, NULL); + gprs_gb_recv_pdu(mmctx); } /* MMCTX can be NULL */ diff --git a/src/sgsn/gprs_sndcp.c b/src/sgsn/gprs_sndcp.c index d9aa1e5..01be57e 100644 --- a/src/sgsn/gprs_sndcp.c +++ b/src/sgsn/gprs_sndcp.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -745,6 +746,7 @@ struct sndcp_common_hdr *sch = (struct sndcp_common_hdr *)hdr; struct sndcp_comp_hdr *scomph = NULL; struct sndcp_udata_hdr *suh; + struct sgsn_mm_ctx *mmctx; uint8_t *npdu; uint16_t npdu_num __attribute__((unused)); int npdu_len; @@ -778,6 +780,15 @@ /* FIXME: move this RA_ID up to the LLME or even higher */ bssgp_parse_cell_id(&sne->ra_id, msgb_bcid(msg)); + mmctx = sgsn_mm_ctx_by_tlli(msgb_tlli(msg), &sne->ra_id); + if (!mmctx) { + LOGP(DSNDCP, LOGL_ERROR, "Message for non-existing MM ctx " + "(lle=%p, TLLI=%08x, SAPI=%u, NSAPI=%u)\n", + lle, lle->llme->tlli, lle->sapi, sch->nsapi); + return -EIO; + } + gprs_gb_recv_pdu(mmctx); + if (scomph) { sne->defrag.pcomp = scomph->pcomp; sne->defrag.dcomp = scomph->dcomp; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86 Gerrit-Change-Number: 15535 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 19:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 19:40:06 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 to look at the new patch set (#7). Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... gprs_ranap: release Iu UE Context when exiting PMM Connected PMM Connected defines a Iu signaling connection. The 2 other PMM states do not have an active Iu signaling connection. Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 --- M include/osmocom/sgsn/gprs_ranap.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/gprs_ranap.c 3 files changed, 52 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/82/15482/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 19:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 19:40:06 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 to look at the new patch set (#8). Change subject: Iu: implement a user inactivity timer ...................................................................... Iu: implement a user inactivity timer The user inactivity timer is similiar to the Gb READY timer and reduces the resources taken by an idle UE. Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 --- M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/sgsn_vty.c 3 files changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15483/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 19:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 19:40:06 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 to look at the new patch set (#5). Change subject: gprs_gmm: release Iu connection on RAU failures ...................................................................... gprs_gmm: release Iu connection on RAU failures When a RAU fails without an a GMM context, release the Iu connection after sending a response. Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b --- M src/sgsn/gprs_gmm.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/51/15551/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b Gerrit-Change-Number: 15551 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 19:40:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 19:40:06 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 to look at the new patch set (#5). Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... gprs_sgsn: always allocate Gb/Iu mm fsm When moving between RANs we need them at a later point. Allocate them always to not make the code (more) complex. Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 --- M src/sgsn/gprs_sgsn.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/52/15552/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 19:40:11 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 19:40:11 +0000 Subject: Change in ...osmo-sgsn[master]: Improve build without IU Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 Change subject: Improve build without IU ...................................................................... Improve build without IU Remove gprs_ranap.c and gprs_mm_state_iu_fsm.c from the Makefile when building without IU. Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 --- M src/sgsn/Makefile.am M src/sgsn/gprs_ranap.c M tests/sgsn/Makefile.am 3 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/18/15618/1 diff --git a/src/sgsn/Makefile.am b/src/sgsn/Makefile.am index 8bc1abb..31ea298 100644 --- a/src/sgsn/Makefile.am +++ b/src/sgsn/Makefile.am @@ -45,8 +45,6 @@ gprs_gmm.c \ gprs_gmm_fsm.c \ gprs_mm_state_gb_fsm.c \ - gprs_mm_state_iu_fsm.c \ - gprs_ranap.c \ gprs_sgsn.c \ gprs_sm.c \ gprs_sndcp.c \ @@ -87,4 +85,9 @@ $(LIBOSMORANAP_LIBS) \ $(LIBASN1C_LIBS) \ $(NULL) + +osmo_sgsn_SOURCES = \ + gprs_mm_state_iu_fsm.c \ + gprs_ranap.c + endif diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index b0d0f8d..28f72c9 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -21,10 +21,8 @@ * */ + #include "bscconfig.h" - -#ifdef BUILD_IU - #include #include @@ -220,4 +218,3 @@ return rc; } -#endif diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am index bdcd9b4..b72c446 100644 --- a/tests/sgsn/Makefile.am +++ b/tests/sgsn/Makefile.am @@ -44,13 +44,11 @@ sgsn_test_LDADD = \ $(top_builddir)/src/sgsn/gprs_llc.o \ $(top_builddir)/src/sgsn/gprs_gb.o \ - $(top_builddir)/src/sgsn/gprs_ranap.o \ $(top_builddir)/src/sgsn/gprs_sndcp.o \ $(top_builddir)/src/sgsn/gprs_gmm_attach.o \ $(top_builddir)/src/sgsn/gprs_gmm.o \ $(top_builddir)/src/sgsn/gprs_gmm_fsm.o \ $(top_builddir)/src/sgsn/gprs_mm_state_gb_fsm.o \ - $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \ $(top_builddir)/src/sgsn/gprs_sgsn.o \ $(top_builddir)/src/sgsn/sgsn_vty.o \ $(top_builddir)/src/sgsn/sgsn_libgtp.o \ @@ -82,6 +80,8 @@ if BUILD_IU sgsn_test_LDADD += \ + $(top_builddir)/src/sgsn/gprs_ranap.o \ + $(top_builddir)/src/sgsn/gprs_mm_state_iu_fsm.o \ $(LIBOSMORANAP_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBASN1C_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 Gerrit-Change-Number: 15618 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 20:14:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 20:14:46 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 to look at the new patch set (#9). Change subject: Iu: implement a user inactivity timer ...................................................................... Iu: implement a user inactivity timer The user inactivity timer is similiar to the Gb READY timer and reduces the resources taken by an idle UE. Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 --- M include/osmocom/sgsn/gprs_mm_state_iu_fsm.h M src/sgsn/gprs_mm_state_iu_fsm.c M src/sgsn/sgsn_vty.c M tests/test_nodes.vty 4 files changed, 29 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/83/15483/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 20:42:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 28 Sep 2019 20:42:03 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: introduce Iu helper to free the UE context In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 ) Change subject: gprs_ranap: introduce Iu helper to free the UE context ...................................................................... Abandoned squashed into https://gerrit.osmocom.org/c/osmo-sgsn/+/15482/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id1c1d453cf91f566a01ef9480ffffff3850a1031 Gerrit-Change-Number: 15481 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 20:58:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 20:58:10 +0000 Subject: Change in ...osmo-sgsn[master]: Improve build without IU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 ) Change subject: Improve build without IU ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/15618/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/15618/1//COMMIT_MSG at 7 PS1, Line 7: Improve build without IU Avoid compiling unneeded files when building without Iu https://gerrit.osmocom.org/#/c/15618/1/src/sgsn/Makefile.am File src/sgsn/Makefile.am: https://gerrit.osmocom.org/#/c/15618/1/src/sgsn/Makefile.am at 89 PS1, Line 89: osmo_sgsn_SOURCES = \ this will overwrite the variable set above, not append to it -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 Gerrit-Change-Number: 15618 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 20:58:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:00:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:00:20 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 ) Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 21:00:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:01:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:01:08 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 21:01:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:02:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:02:33 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 ) Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 28 Sep 2019 21:02:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:02:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:02:51 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: MM Gb Fsm: fix event handling for implicit detach In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 ) Change subject: sgsn: MM Gb Fsm: fix event handling for implicit detach ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3 Gerrit-Change-Number: 15553 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 28 Sep 2019 21:02:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:03:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:03:26 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Use API to get poweron state In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15610 ) Change subject: bts-trx: vty: Use API to get poweron state ...................................................................... bts-trx: vty: Use API to get poweron state Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 --- M src/osmo-bts-trx/trx_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index c52908e..250d180 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -71,7 +71,7 @@ vty_out(vty, "TRX %d %s%s", trx->nr, sname, VTY_NEWLINE); talloc_free(sname); vty_out(vty, " %s%s", - (l1h->config.poweron) ? "poweron":"poweroff", + trx_if_powered(l1h) ? "poweron":"poweroff", VTY_NEWLINE); if (l1h->config.arfcn_valid) vty_out(vty, " arfcn : %d%s%s", -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8b78e1ad34f19d8fe348b9c975742fc0f7112da2 Gerrit-Change-Number: 15610 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Sep 28 21:03:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 28 Sep 2019 21:03:26 +0000 Subject: Change in ...osmo-bts[master]: bts.h: Remove non-existent function definitions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/15611 ) Change subject: bts.h: Remove non-existent function definitions ...................................................................... bts.h: Remove non-existent function definitions Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 --- M include/osmo-bts/bts.h 1 file changed, 0 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 4d13214..5c719f9 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -30,16 +30,9 @@ int bts_trx_init(struct gsm_bts_trx *trx); void bts_shutdown(struct gsm_bts *bts, const char *reason); -struct gsm_bts *create_bts(uint8_t num_trx, char *id); -int create_ms(struct gsm_bts_trx *trx, int maskc, uint8_t *maskv_tx, - uint8_t *maskv_rx); -void destroy_bts(struct gsm_bts *bts); -int work_bts(struct gsm_bts *bts); int bts_link_estab(struct gsm_bts *bts); int trx_link_estab(struct gsm_bts_trx *trx); int trx_set_available(struct gsm_bts_trx *trx, int avail); -void bts_new_si(void *arg); -void bts_setup_slot(struct gsm_bts_trx_ts *slot, uint8_t comb); int bts_agch_enqueue(struct gsm_bts *bts, struct msgb *msg); struct msgb *bts_agch_dequeue(struct gsm_bts *bts); @@ -68,4 +61,3 @@ int32_t bts_get_avg_fn_advance(struct gsm_bts *bts); #endif /* _BTS_H */ - -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4d06e1cdea5970cbb493f29980b1c04e01c0e8a4 Gerrit-Change-Number: 15611 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Sep 29 01:42:37 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 29 Sep 2019 01:42:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d900c1dd5101_6cd92b1d301e46004557fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 238s] ar: `u' modifier ignored since `D' is the default (see `U') [ 238s] libtool: link: ranlib .libs/libtransceiver_common.a [ 238s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 238s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 238s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 238s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 238s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 238s] collect2: error: ld returned 1 exit status [ 238s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 238s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 238s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 238s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 238s] make[1]: *** [Makefile:444: all] Error 2 [ 238s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 238s] dh_auto_build: make -j1 returned exit code 2 [ 238s] make: *** [debian/rules:6: build] Error 255 [ 238s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 238s] [ 238s] build79 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 01:42:17 UTC 2019. [ 238s] [ 238s] ### VM INTERACTION START ### [ 241s] [ 230.485276] sysrq: SysRq : Power Off [ 241s] [ 230.487033] reboot: Power down [ 241s] ### VM INTERACTION END ### [ 241s] [ 241s] build79 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 01:42:21 UTC 2019. [ 241s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 29 01:45:28 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 29 Sep 2019 01:45:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d900cce36aff_6cd92b1d301e4600455839@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 410s] ar: `u' modifier ignored since `D' is the default (see `U') [ 410s] libtool: link: ranlib .libs/libtransceiver_common.a [ 410s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 410s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 411s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 411s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 411s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 411s] collect2: error: ld returned 1 exit status [ 411s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 411s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] make[1]: *** [Makefile:444: all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] make: *** [debian/rules:6: build] Error 255 [ 411s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 411s] [ 411s] lamb07 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 01:45:12 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 414s] [ 396.235853] sysrq: SysRq : Power Off [ 414s] [ 396.243848] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] lamb07 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 01:45:16 UTC 2019. [ 414s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 29 03:36:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 29 Sep 2019 03:36:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9026b644713_6cd92b1d301e4600464471@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 413s] ar: `u' modifier ignored since `D' is the default (see `U') [ 413s] libtool: link: ranlib .libs/libtransceiver_common.a [ 413s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 413s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 413s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 413s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 413s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 413s] collect2: error: ld returned 1 exit status [ 413s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 413s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 413s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 413s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 413s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 413s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 413s] make[1]: *** [Makefile:444: all] Error 2 [ 413s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 413s] dh_auto_build: make -j1 returned exit code 2 [ 413s] make: *** [debian/rules:6: build] Error 255 [ 413s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 413s] [ 413s] lamb13 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 03:36:06 UTC 2019. [ 413s] [ 413s] ### VM INTERACTION START ### [ 417s] [ 398.347726] sysrq: SysRq : Power Off [ 417s] [ 398.359276] reboot: Power down [ 417s] ### VM INTERACTION END ### [ 417s] [ 417s] lamb13 failed "build osmo-trx_1.1.1.29.e503.dsc" at Sun Sep 29 03:36:10 UTC 2019. [ 417s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Sep 29 03:36:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 29 Sep 2019 03:36:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d9026b5ec78e_6cd92b1d301e46004643a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 491s] ar: `u' modifier ignored since `D' is the default (see `U') [ 491s] libtool: link: ranlib .libs/libtransceiver_common.a [ 491s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 491s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 492s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 492s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 492s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 492s] collect2: error: ld returned 1 exit status [ 492s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 492s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 492s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 492s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 492s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 492s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 492s] make[1]: *** [Makefile:444: all] Error 2 [ 492s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 492s] dh_auto_build: make -j1 returned exit code 2 [ 492s] make: *** [debian/rules:6: build] Error 255 [ 492s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 492s] [ 492s] morla3 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 29 03:36:02 UTC 2019. [ 492s] [ 492s] ### VM INTERACTION START ### [ 495s] [ 471.321097] sysrq: SysRq : Power Off [ 495s] [ 471.339067] reboot: Power down [ 495s] ### VM INTERACTION END ### [ 495s] [ 495s] morla3 failed "build osmo-trx_1.1.1.dsc" at Sun Sep 29 03:36:06 UTC 2019. [ 495s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Sep 29 08:48:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 08:48:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 ) Change subject: sgsn: Use f_send_l3() instead of 2G speicific f_send_l3_gmm_llc() ...................................................................... Abandoned we already have this patch under a different change. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If80da5a94fd786b90f71121b51742c9f70a693eb Gerrit-Change-Number: 13905 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 09:19:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 09:19:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU compon... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 Change subject: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components ...................................................................... PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components This change is a step towards getting rid of the old test case infrastructure. Note that a call to f_bssgp_establish() is moved out of f_init_bssgp() to the test case's body. Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 --- M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 27 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/15619/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 838b6e1..4288061 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -692,7 +692,6 @@ bssgp_component.start(BssgpStart(mp_gb_cfg)); f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); } diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 7e6611d..15a9cf6 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -422,27 +422,6 @@ setverdict(pass); } -/* Test component with PCUIF + BSSGP/NS Emulation (no L1CTL) */ -type component bssgp_pcuif_CT extends bssgp_CT, RAW_PCU_CT { -} - -testcase TC_pcuif_suspend() runs on bssgp_pcuif_CT { - var OCT6 ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); - var GprsTlli tlli := 'FFFFFFFF'O; - - /* Initialize PCU interface side */ - f_init_pcuif(); - - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - f_sleep(1.0); - f_pcuif_tx(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); - BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)); - - setverdict(pass); -} - type component RAW_PCU_Test_CT extends bssgp_CT { /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; @@ -573,6 +552,33 @@ return false; } +testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { + var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + timer T; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + + T.start(2.0); + alt { + [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); + } + } +} + /* Test of correct Timing Advance at the time of TBF establishment * (derived from timing offset of the Access Burst). */ testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 Gerrit-Change-Number: 15619 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 12:48:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 12:48:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic As... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 Change subject: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment ...................................................................... PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/15620/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 15a9cf6..a12b198 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -631,7 +631,6 @@ } /* Make sure we received an UL TBF Assignment */ - /* TODO: check if we got single or dynamic assignment */ if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; log("Rx Uplink TBF assignment: ", ul_tbf_ass); @@ -641,6 +640,12 @@ mtc.stop; } + /* Make sure we have got a Dynamic Assignment */ + if (ischosen(ul_tbf_ass.single)) { + setverdict(fail, "Single block Assignment is not handled by ", testcasename()); + mtc.stop; + } + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, cv := 15, /* 15 UL blocks to be sent (to be overridden in loop) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 Gerrit-Change-Number: 15620 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:17:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 13:17:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic As... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 to look at the new patch set (#2). Change subject: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment ...................................................................... PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment According to 3GPP TS 44.018, section 10.5.2.16 "IA Rest Octets", Packet Uplink Assignment can be either of the following types: - single block allocation, - dynamic allocation. The current version of TC_cs_lqual_ul_tbf does not handle single block allocation, so we need to make sure we got a TBF with dynamic allocation. Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/15620/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 Gerrit-Change-Number: 15620 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:17:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 13:17:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 Change subject: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign ...................................................................... library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign According to 3GPP TS 44.018, section 10.5.2.16 "IA Rest Octets", the first bit of Packet Uplink Assignment defines whether it is a dynamic (1) or single block (0) allocation. Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/15621/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 70009ac..7351cdf 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -805,7 +805,7 @@ }; template PacketUlAssign tr_PacketUlSglAssign := { - presence := '1'B, /* Single Block Assignment */ + presence := '0'B, /* Single Block Assignment */ dynamic := omit, single := { alpha_present := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5 Gerrit-Change-Number: 15621 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:17:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 13:17:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 Change subject: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion ...................................................................... library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/15622/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 7351cdf..965708f 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -780,11 +780,11 @@ template uint3_t usf := ?, template BIT1 usf_granularity := ?, template ChCodingCommand cs := ?) := { - presence := '1'B, /* Dynamic Assignment */ + presence := '1'B, /* Dynamic Block Allocation */ dynamic := { tfi_assignment := tfi, polling := polling, - spare := '0'B, /* Dynamic Assignment (mandatory after Rel-4) */ + spare := '0'B, /* Dynamic Block Allocation (mandatory after Rel-4) */ usf := usf, usf_granularity := usf_granularity, p0_present := ?, @@ -805,7 +805,7 @@ }; template PacketUlAssign tr_PacketUlSglAssign := { - presence := '0'B, /* Single Block Assignment */ + presence := '0'B, /* Single Block Allocation */ dynamic := omit, single := { alpha_present := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e Gerrit-Change-Number: 15622 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU compon... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 ) Change subject: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 Gerrit-Change-Number: 15619 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Sep 2019 13:36:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic As... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 ) Change subject: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 Gerrit-Change-Number: 15620 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Sep 2019 13:36:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 ) Change subject: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5 Gerrit-Change-Number: 15621 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Sep 2019 13:36:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 ) Change subject: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e Gerrit-Change-Number: 15622 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Sep 2019 13:36:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic As... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 ) Change subject: PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment ...................................................................... PCU_Tests_RAW.ttcn: TC_cs_lqual_ul_tbf: properly check for Dynamic Assignment According to 3GPP TS 44.018, section 10.5.2.16 "IA Rest Octets", Packet Uplink Assignment can be either of the following types: - single block allocation, - dynamic allocation. The current version of TC_cs_lqual_ul_tbf does not handle single block allocation, so we need to make sure we got a TBF with dynamic allocation. Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 15a9cf6..6b45af2 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -631,7 +631,6 @@ } /* Make sure we received an UL TBF Assignment */ - /* TODO: check if we got single or dynamic assignment */ if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; log("Rx Uplink TBF assignment: ", ul_tbf_ass); @@ -641,6 +640,12 @@ mtc.stop; } + /* Make sure we have got a TBF with Dynamic Block Allocation */ + if (ul_tbf_ass.dynamic == omit) { + setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); + mtc.stop; + } + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, cv := 15, /* 15 UL blocks to be sent (to be overridden in loop) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05cf0c62d21094fb53a9e5e54b404f3cf972a182 Gerrit-Change-Number: 15620 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 ) Change subject: library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign ...................................................................... library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssign According to 3GPP TS 44.018, section 10.5.2.16 "IA Rest Octets", the first bit of Packet Uplink Assignment defines whether it is a dynamic (1) or single block (0) allocation. Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5 --- M library/GSM_RR_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 70009ac..7351cdf 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -805,7 +805,7 @@ }; template PacketUlAssign tr_PacketUlSglAssign := { - presence := '1'B, /* Single Block Assignment */ + presence := '0'B, /* Single Block Assignment */ dynamic := omit, single := { alpha_present := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5 Gerrit-Change-Number: 15621 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU compon... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 ) Change subject: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 Gerrit-Change-Number: 15619 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 29 Sep 2019 13:36:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 ) Change subject: library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion ...................................................................... library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusion Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e --- M library/GSM_RR_Types.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 7351cdf..965708f 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -780,11 +780,11 @@ template uint3_t usf := ?, template BIT1 usf_granularity := ?, template ChCodingCommand cs := ?) := { - presence := '1'B, /* Dynamic Assignment */ + presence := '1'B, /* Dynamic Block Allocation */ dynamic := { tfi_assignment := tfi, polling := polling, - spare := '0'B, /* Dynamic Assignment (mandatory after Rel-4) */ + spare := '0'B, /* Dynamic Block Allocation (mandatory after Rel-4) */ usf := usf, usf_granularity := usf_granularity, p0_present := ?, @@ -805,7 +805,7 @@ }; template PacketUlAssign tr_PacketUlSglAssign := { - presence := '0'B, /* Single Block Assignment */ + presence := '0'B, /* Single Block Allocation */ dynamic := omit, single := { alpha_present := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e Gerrit-Change-Number: 15622 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 13:36:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 13:36:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU compon... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 ) Change subject: PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components ...................................................................... PCU_Tests_RAW.ttcn: refactor TC_pcuif_suspend: use the RAW PCU components This change is a step towards getting rid of the old test case infrastructure. Note that a call to f_bssgp_establish() is moved out of f_init_bssgp() to the test case's body. Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 --- M pcu/PCU_Tests.ttcn M pcu/PCU_Tests_RAW.ttcn 2 files changed, 27 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 838b6e1..4288061 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -692,7 +692,6 @@ bssgp_component.start(BssgpStart(mp_gb_cfg)); f_bssgp_client_register(mmctx.imsi, mmctx.tlli, mp_gb_cfg.cell_id); - f_bssgp_establish(); } diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 7e6611d..15a9cf6 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -422,27 +422,6 @@ setverdict(pass); } -/* Test component with PCUIF + BSSGP/NS Emulation (no L1CTL) */ -type component bssgp_pcuif_CT extends bssgp_CT, RAW_PCU_CT { -} - -testcase TC_pcuif_suspend() runs on bssgp_pcuif_CT { - var OCT6 ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); - var GprsTlli tlli := 'FFFFFFFF'O; - - /* Initialize PCU interface side */ - f_init_pcuif(); - - /* Initialize NS/BSSGP side */ - f_init_bssgp(); - - f_sleep(1.0); - f_pcuif_tx(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); - BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)); - - setverdict(pass); -} - type component RAW_PCU_Test_CT extends bssgp_CT { /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; @@ -573,6 +552,33 @@ return false; } +testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { + var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); + var GprsTlli tlli := 'FFFFFFFF'O; + timer T; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + BTS.send(ts_PCUIF_SUSP_REQ(0, tlli, ra_id, 0)); + + T.start(2.0); + alt { + [] BSSGP_SIG[0].receive(tr_BSSGP_SUSPEND(tlli, mp_gb_cfg.cell_id.ra_id)) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); + } + } +} + /* Test of correct Timing Advance at the time of TBF establishment * (derived from timing offset of the Access Burst). */ testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If15339f02c5188e60fcb47ae6dc0ac289efa2896 Gerrit-Change-Number: 15619 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 17:55:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 17:55:04 +0000 Subject: Change in ...osmo-hlr[master]: change format of 'last LU seen' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15359 ) Change subject: change format of 'last LU seen' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a Gerrit-Change-Number: 15359 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 17:55:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 17:56:51 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 29 Sep 2019 17:56:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... pcu: add TC_paging_cs_from_bts 1. BTS send a CS paging Request over pcu socket 2. Expect a CS paging frame Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/15623/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 7e6611d..6ac539c 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -696,6 +696,67 @@ } } +/* Test CS paging over the BTS socket. + * When a MS has an active TBF (or is on the PDCH), the MS + * can not react on CS paging over CCCH. + * Paging should be send on the AGCH. + * + * 1. Establish a UL TBF. + * 2. Send a Paging Request over PCU socket. + * 3. Send a Ready-To-Send message over PCU socket + * 4. Expect a Paging Frame + */ +testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; + var boolean ok; + var uint8_t bts_nr := 0; + var OCT9 id_lv := '012345678901234567'O; + var uint8_t chan_needed := 0; + var PCUIF_Sapi sapi := PCU_IF_SAPI_PDTCH; + var PCUIF_Message pcu_msg; + timer T := 4.0; + timer R := 0.1; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_msg); + + if (not ok) { + setverdict(fail, "Failed to establish an Uplink TBF"); + mtc.stop; + } + + /* Send paging request */ + BTS.send(ts_PCUIF_PAG_REQ(bts_nr, id_lv, chan_needed, sapi)); + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + + /* Expect paging on TS7/PDCH */ + T.start; + R.start; + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 7, sapi:= sapi)) + -> value pcu_msg { + /* FIXME: this never arrives! */ + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for paging request"); + } + [] R.timeout { + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + R.start; + repeat; + } + } +} + + control { execute( TC_ns_reset() ); @@ -710,6 +771,7 @@ execute( TC_pcuif_suspend() ); execute( TC_ta_rach_imm_ass() ); execute( TC_cs_lqual_ul_tbf() ); + execute( TC_paging_cs_from_bts() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 17:57:56 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 29 Sep 2019 17:57:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 ) Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... Patch Set 1: Oliver's work. I only added the RTS frame to complete it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 17:57:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:00:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:00:24 +0000 Subject: Change in ...libosmocore[master]: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/12452 ) Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/12452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 Gerrit-Change-Number: 12452 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:00:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:03:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:03:16 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_gmm: release Iu connection on RAU failures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 ) Change subject: gprs_gmm: release Iu connection on RAU failures ...................................................................... Patch Set 6: In here the code comment was removed but the code was not changed as asked in the gerrit comment? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b Gerrit-Change-Number: 15551 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:03:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:07:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:07:12 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_ranap: release Iu UE Context when exiting PMM Connected In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 ) Change subject: gprs_ranap: release Iu UE Context when exiting PMM Connected ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119 Gerrit-Change-Number: 15482 Gerrit-PatchSet: 7 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:07:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:08:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:08:15 +0000 Subject: Change in ...osmo-sgsn[master]: Iu: implement a user inactivity timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 ) Change subject: Iu: implement a user inactivity timer ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3 Gerrit-Change-Number: 15483 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:08:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:08:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:08:39 +0000 Subject: Change in ...osmo-sgsn[master]: gprs_sgsn: always allocate Gb/Iu mm fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 ) Change subject: gprs_sgsn: always allocate Gb/Iu mm fsm ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9 Gerrit-Change-Number: 15552 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:08:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:09:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:09:13 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: MM Gb Fsm: fix event handling for implicit detach In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 ) Change subject: sgsn: MM Gb Fsm: fix event handling for implicit detach ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3 Gerrit-Change-Number: 15553 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:09:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 18:12:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 29 Sep 2019 18:12:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 ) Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 699 PS1, Line 699: /* Test CS paging over the BTS socket. BTS<->PCU socket https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 702 PS1, Line 702: * Paging should be send on the AGCH. on the PACCH? https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 743 PS1, Line 743: /* FIXME: this never arrives! */ FIXME? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 18:12:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 19:17:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 29 Sep 2019 19:17:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 ) Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... Patch Set 1: Code-Review-1 Either I'm blind, or too tired, or there is no code to actually verify that whatever we receive is a CS paging message? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 19:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 19:48:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 19:48:25 +0000 Subject: Change in ...libosmocore[master]: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/12452 ) Change subject: gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE ...................................................................... Patch Set 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/12452/4/include/osmocom/gsm/gsup.h File include/osmocom/gsm/gsup.h: https://gerrit.osmocom.org/#/c/12452/4/include/osmocom/gsm/gsup.h at 381 PS4, Line 381: supported_rat_types I just realized that this field could be a bitmask, e.g. uint8_t (hopefully, 6G and 7G are not coming any time soon). Just an idea, not a merge blocker. https://gerrit.osmocom.org/#/c/12452/4/src/gsm/gsup.c File src/gsm/gsup.c: https://gerrit.osmocom.org/#/c/12452/4/src/gsm/gsup.c at 880 PS4, Line 880: if (!gsup_msg->supported_rat_types[i] || I think this check makes more sense for decoding rather than for encoding, where a compiler would warn on setting a value which is not a part of the enumerated type. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/12452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1 Gerrit-Change-Number: 12452 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 29 Sep 2019 19:48:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 20:17:35 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Sep 2019 20:17:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 ) Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... Patch Set 1: (6 comments) Looks like this is a WIP change. https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 700 PS1, Line 700: a MS AFAIR, it depends on the class of a mobile (which defines the multi-slot capability). Modern phones can listen to CCCH/BCCH on TS0 while having an active TBF, older ones don't. Let's clarify that class here (class B and C?). https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 707 PS1, Line 707: a Paging Frame Any spec. references, e.g. coding of this message? https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 713 PS1, Line 713: 012345678901234567 Is there a send template or an encoding function for that? https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 714 PS1, Line 714: chan_needed Is there an enumerated type for that? https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 715 PS1, Line 715: sapi 2/3 times you're passing 'sapi := PCU_IF_SAPI_PDTCH' directly. Looks like this variable is not really needed. https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 743 PS1, Line 743: never arrives I guess I know why. You're establishing an Uplink TBF, but OsmoPCU also needs to know IMSI of the subscriber this TBF belongs to. Just send a DATA.ind and you will see something like that in the logs of OsmoPCU: DRLCMACMEAS INFO MS (IMSI ): Link quality 0dB (0dB) left window [5, 8]... I don't know how exactly OsmoPCU assigns an IMSI to a TBF, but this should be the way to go. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 29 Sep 2019 20:17:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Sep 29 21:26:00 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 29 Sep 2019 21:26:00 +0000 Subject: Change in ...osmo-sgsn[master]: Avoid compiling unneeded files when building without Iu In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 to look at the new patch set (#2). Change subject: Avoid compiling unneeded files when building without Iu ...................................................................... Avoid compiling unneeded files when building without Iu Remove gprs_ranap.c and gprs_mm_state_iu_fsm.c from the Makefile when building without IU. Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 --- M src/sgsn/Makefile.am M src/sgsn/gprs_ranap.c M tests/sgsn/Makefile.am 3 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/18/15618/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 Gerrit-Change-Number: 15618 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Sep 30 01:48:30 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 30 Sep 2019 01:48:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d915ef59e3b9_6cd92b1d301e4600649368@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 400s] ar: `u' modifier ignored since `D' is the default (see `U') [ 400s] libtool: link: ranlib .libs/libtransceiver_common.a [ 400s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 400s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 400s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 400s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 400s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 400s] collect2: error: ld returned 1 exit status [ 400s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 400s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 400s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 400s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 400s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 400s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 400s] make[1]: *** [Makefile:444: all] Error 2 [ 400s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 400s] dh_auto_build: make -j1 returned exit code 2 [ 400s] make: *** [debian/rules:6: build] Error 255 [ 400s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 400s] [ 400s] morla5 failed "build osmo-trx_1.1.1.29.e503.dsc" at Mon Sep 30 01:48:13 UTC 2019. [ 400s] [ 400s] ### VM INTERACTION START ### [ 403s] [ 385.193034] sysrq: SysRq : Power Off [ 403s] [ 385.200259] reboot: Power down [ 403s] ### VM INTERACTION END ### [ 403s] [ 403s] morla5 failed "build osmo-trx_1.1.1.29.e503.dsc" at Mon Sep 30 01:48:16 UTC 2019. [ 403s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Sep 30 01:50:30 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 30 Sep 2019 01:50:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d915f6f7d9e_6cd92b1d301e4600649454@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 238s] ar: `u' modifier ignored since `D' is the default (see `U') [ 238s] libtool: link: ranlib .libs/libtransceiver_common.a [ 238s] libtool: link: ( cd ".libs" && rm -f "libtransceiver_common.la" && ln -s "../libtransceiver_common.la" "libtransceiver_common.la" ) [ 238s] /bin/bash ../libtool --tag=CXX --mode=link g++ -lpthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/libdevice.la libtransceiver_common.la ../Transceiver52M/arch/x86/libarch.la ../GSM/libGSM.la ../CommonLibs/libcommon.la -lfftw3f -ltalloc -losmocore -ltalloc -losmoctrl -losmogsm -losmocore -ltalloc -losmovty -losmocore -luhd [ 238s] libtool: link: g++ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o osmo-trx-uhd osmo_trx_uhd-osmo-trx.o ./device/uhd/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f /usr/lib/x86_64-linux-gnu/libosmoctrl.so /usr/lib/x86_64-linux-gnu/libosmogsm.so -ltalloc /usr/lib/x86_64-linux-gnu/libosmovty.so /usr/lib/x86_64-linux-gnu/libosmocore.so -luhd [ 238s] /usr/bin/ld: ./device/uhd/.libs/libdevice.a(UHDDevice.o): undefined reference to symbol '_ZN5boost6system16generic_categoryEv' [ 238s] /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0: error adding symbols: DSO missing from command line [ 238s] collect2: error: ld returned 1 exit status [ 238s] make[4]: *** [Makefile:681: osmo-trx-uhd] Error 1 [ 238s] make[4]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[3]: *** [Makefile:820: all-recursive] Error 1 [ 238s] make[3]: Leaving directory '/usr/src/packages/BUILD/Transceiver52M' [ 238s] make[2]: *** [Makefile:513: all-recursive] Error 1 [ 238s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 238s] make[1]: *** [Makefile:444: all] Error 2 [ 238s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 238s] dh_auto_build: make -j1 returned exit code 2 [ 238s] make: *** [debian/rules:6: build] Error 255 [ 238s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 238s] [ 238s] build73 failed "build osmo-trx_1.1.1.29.e503.dsc" at Mon Sep 30 01:50:11 UTC 2019. [ 238s] [ 238s] ### VM INTERACTION START ### [ 241s] [ 229.524166] sysrq: SysRq : Power Off [ 241s] [ 229.526487] reboot: Power down [ 241s] ### VM INTERACTION END ### [ 241s] [ 241s] build73 failed "build osmo-trx_1.1.1.29.e503.dsc" at Mon Sep 30 01:50:15 UTC 2019. [ 241s] -- Configure notifications at https://build.opensuse.org/my/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Sep 30 02:12:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 02:12:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: pcu: add TC_paging_cs_from_bts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 ) Change subject: pcu: add TC_paging_cs_from_bts ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn File pcu/PCU_Tests_RAW.ttcn: https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 724 PS1, Line 724: f_establish_tbf Looks like you don't need to establish a TBF here at all. https://gerrit.osmocom.org/#/c/15623/1/pcu/PCU_Tests_RAW.ttcn at 743 PS1, Line 743: never arrives > I guess I know why. [?] Oh, no. I was so confused. Nevermind. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3 Gerrit-Change-Number: 15623 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Sep 2019 02:12:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 08:26:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 08:26:27 +0000 Subject: Change in ...osmo-sgsn[master]: Avoid compiling unneeded files when building without Iu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 ) Change subject: Avoid compiling unneeded files when building without Iu ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15618/2/src/sgsn/gprs_ranap.c File src/sgsn/gprs_ranap.c: https://gerrit.osmocom.org/#/c/15618/2/src/sgsn/gprs_ranap.c at 24 PS2, Line 24: non-related and unneeded whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/15618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69 Gerrit-Change-Number: 15618 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 08:26:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 08:48:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 08:48:30 +0000 Subject: Change in ...libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13338 ) Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... Patch Set 14: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/13338/14/src/ctrl/control_vty.c File src/ctrl/control_vty.c: https://gerrit.osmocom.org/#/c/13338/14/src/ctrl/control_vty.c at 31 PS14, Line 31: static void *ctrl_vty_ctx = NULL; Should be per-thread? https://gerrit.osmocom.org/#/c/13338/14/src/gb/gprs_bssgp.c File src/gb/gprs_bssgp.c: https://gerrit.osmocom.org/#/c/13338/14/src/gb/gprs_bssgp.c at 45 PS14, Line 45: void *bssgp_tall_ctx = NULL; Since bssgp_tall_ctx becomes now a child of OTC_GLOBAL (osmo_ctx->global), being osmo_ctx a per-thread variable. now the application has no real control over the talloc context being used, which means bssgp_tall_ctx should be per thread too. Otherwise if _alloc() is called through different threads, thread B may end up using bssgp_tall_ctx allocated under thread A's osmo_ctx. https://gerrit.osmocom.org/#/c/13338/14/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/13338/14/src/logging.c at 63 PS14, Line 63: void *tall_log_ctx = NULL; Should be per thread? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 Gerrit-Change-Number: 13338 Gerrit-PatchSet: 14 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 08:48:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 09:51:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 09:51:25 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... Patch Set 3: WHY: because I have to add new per-bts data which is specific to bts-trx WHY2: because currently we already have bts-trx specific data in there which is not used by other models as shown by this patch. An alternative would be having a union with different structs for each model, but since we already have the bts_model abstraction, in this case it makes more sense to use that abstraction instead of filling code with preprocessor ifdefs to guard against not-defined types, etc. So unless you strongly prefer the alternative, I'll keep it this way. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Sep 2019 09:51:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 09:55:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 09:55:24 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/l1_if.h File src/osmo-bts-virtual/l1_if.h: https://gerrit.osmocom.org/#/c/15613/3/src/osmo-bts-virtual/l1_if.h at 8 PS3, Line 8: specific to osmo-bts-virtual > Actually, no. [?] How it comes it compiles fine for osmo-bts-trx then? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Sep 2019 09:55:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 10:09:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 10:09:54 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15613 ) Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... Patch Set 3: The reason why I am doing these changes is because I'm working to solve OS#4215, which relates to how some states are managed and identified in osmo-bts. Looking at related code (variables managing state), it can be seen that some of them are not entirely well defined or scoped, and it's really difficult to understand exactly what do they mean, so I'm reworking them. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 30 Sep 2019 10:09:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 10:12:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 10:12:46 +0000 Subject: Change in ...osmo-bts[master]: struct gsm_bts: Add model_priv pointer handing bts_model specific data In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 to look at the new patch set (#4). Change subject: struct gsm_bts: Add model_priv pointer handing bts_model specific data ...................................................................... struct gsm_bts: Add model_priv pointer handing bts_model specific data Currently there's bts-virtual specific fields in gsm_bts which is not used by other models and are always allocated. An alternative would be having a union with different structs inside, one per model, but since we already have the bts_model abstraction, in this case it makes more sense to use that abstraction instead of filling code with preprocessor ifdefs to guard against non-defined types, etc. Existing model specific data is moved there. This new infra will be user further in forthcoming commits. Related: OS#4215 Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e --- M include/osmo-bts/gsm_data_shared.h M src/osmo-bts-oc2g/l1_if.h M src/osmo-bts-oc2g/main.c M src/osmo-bts-virtual/l1_if.h M src/osmo-bts-virtual/main.c M src/osmo-bts-virtual/scheduler_virtbts.c 6 files changed, 33 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/15613/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib17a752cdbaa7d5eb8c5dfa0b197f80a4f38b38e Gerrit-Change-Number: 15613 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 10:12:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 10:12:46 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx priv... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15614 to look at the new patch set (#4). Change subject: bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data ...................................................................... bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data Related: OS#4215 Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f --- M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c 3 files changed, 52 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/14/15614/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9b7ffb51423ada74b8be347c57eade08f307f88f Gerrit-Change-Number: 15614 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 10:12:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 10:12:46 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Move transceiver_available as part of bts-trx private data In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/15615 to look at the new patch set (#4). Change subject: bts-trx: Move transceiver_available as part of bts-trx private data ...................................................................... bts-trx: Move transceiver_available as part of bts-trx private data related: OS#4215 Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 6 files changed, 37 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/15615/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 Gerrit-Change-Number: 15615 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 10:18:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 10:18:42 +0000 Subject: Change in ...osmo-trx[master]: radioInterfaceMulti: write frequency offset direction (rx/tx) in log ... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/15624 Change subject: radioInterfaceMulti: write frequency offset direction (rx/tx) in log line ...................................................................... radioInterfaceMulti: write frequency offset direction (rx/tx) in log line Change-Id: I7b89426e5d7d5e7570d4ef800a30c7b74bd09b82 --- M Transceiver52M/radioInterfaceMulti.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/24/15624/1 diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index 92e31e1..668305c 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -374,7 +374,7 @@ double center = mDevice->getTxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { - LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " + LOG(NOTICE) << "Channel " << chan << " RF Tx frequency offset is " << freq / 1e6 << " MHz"; } @@ -393,7 +393,7 @@ double center = mDevice->getRxFreq(); if (!fltcmp(freq, center + (double) (chan - shift) * MCBTS_SPACING)) { - LOG(NOTICE) << "Channel " << chan << " RF frequency offset is " + LOG(NOTICE) << "Channel " << chan << " RF Rx frequency offset is " << freq / 1e6 << " MHz"; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7b89426e5d7d5e7570d4ef800a30c7b74bd09b82 Gerrit-Change-Number: 15624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:29:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 14:29:07 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix comment in description of PDTCH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15625 Change subject: trxcon/scheduler: fix comment in description of PDTCH ...................................................................... trxcon/scheduler: fix comment in description of PDTCH Change-Id: Ifd4197b64e89ae6da93ef32189f437a6e297b03f --- M src/host/trxcon/sched_lchan_desc.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/25/15625/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 667a88d..5b9d676 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -503,7 +503,7 @@ .desc = "Packet data traffic & control channel", .chan_nr = RSL_CHAN_OSMO_PDCH, - /* Rx and Tx, multiple coding schemes: CS-2..4 and MCS-1..9 (3GPP TS + /* Rx and Tx, multiple coding schemes: CS-1..4 and MCS-1..9 (3GPP TS * 05.03, chapter 5), regular interleaving as specified for xCCH. * NOTE: the burst buffer is three times bigger because the * payload of EDGE bursts is three times longer. */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifd4197b64e89ae6da93ef32189f437a6e297b03f Gerrit-Change-Number: 15625 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:29:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 14:29:07 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix handling of PTCCH logical channel Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15626 Change subject: trxcon/scheduler: fix handling of PTCCH logical channel ...................................................................... trxcon/scheduler: fix handling of PTCCH logical channel According to 3GPP TS 45.010, section 5.6.2, for packet-switched channels the BTS shall monitor the delay of the Access Bursts sent by the MS on PTCCH and respond with timing advance values for all MS performing the procedure on that PDCH. According to 3GPP TS 45.002, section 3.3.4.2, PTCCH (Packet Timing advance control channel) is a packet dedicated channel, that is used for continuous Timing Advance control (mentioned above). There are two sub-types of that logical channel: - PTCCH/U (Uplink): used to transmit random Access Bursts to allow estimation of the Timing Advance for one MS in packet transfer mode. - PTCCH/D (Downlink): used by the network to transmit Timing Advance updates for several MS. As per 3GPP TS 45.003, section 5.2, the coding scheme used for PTCCH/U is the same as for PRACH as specified in subclause 5.3, while the coding scheme used for PTCCH/D is the same as for CS-1 as specified in subclause 5.1.1. The way we used to handle both PTCCH/U and PTCCH/D is absolutely wrong - it has nothing to do with xCCH coding. Instead, we need to use rx_pdtch_fn() for Downlink and tx_rach_fn() for Uplink. Also, since we only have a shared RSL channel number for PDCH (Osmocom-specific RSL_CHAN_OSMO_PDCH), there should be a way to distinguish both PDTCH and PTCCH logical channels. Let's introduce TRX_CH_LID_PTCCH for that. Change-Id: I2d1e9b8a66f027047f8d7bdc3f82ff9d8ebcc25e --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_trx.h 2 files changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/26/15626/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 5b9d676..67f770c 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -516,12 +516,17 @@ .name = "PTCCH", /* 3GPP TS 05.02, section 3.3.4.2 */ .desc = "Packet Timing advance control channel", .chan_nr = RSL_CHAN_OSMO_PDCH, + .link_id = TRX_CH_LID_PTCCH, - /* Same as for TRXC_BCCH (xCCH), see above. */ + /* On the Uplink, mobile stations transmit random Access Bursts + * to allow estimation of the timing advance for one MS in packet + * transfer mode. On Downlink, the network sends timing advance + * updates for several mobile stations. The coding scheme used + * for PTCCH/D messages is the same as for PDTCH CS-1. */ .burst_buf_size = 4 * GSM_BURST_PL_LEN, .flags = TRX_CH_FLAG_PDCH, - .rx_fn = rx_data_fn, - .tx_fn = tx_data_fn, + .rx_fn = rx_pdtch_fn, + .tx_fn = tx_rach_fn, }, [TRXC_SDCCH4_CBCH] = { .name = "SDCCH/4(CBCH)", /* 3GPP TS 05.02, section 3.3.5 */ diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index 6ef9ce4..0d42499 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -23,6 +23,10 @@ #define TRX_CH_LID_DEDIC 0x00 #define TRX_CH_LID_SACCH 0x40 +/* Osmocom-specific extension for PTCCH (see 3GPP TS 45.002, section 3.3.4.2). + * Shall be used to distinguish PTCCH and PDTCH channels on a PDCH time-slot. */ +#define TRX_CH_LID_PTCCH 0x80 + /* Is a channel related to PDCH (GPRS) */ #define TRX_CH_FLAG_PDCH (1 << 0) /* Should a channel be activated automatically */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2d1e9b8a66f027047f8d7bdc3f82ff9d8ebcc25e Gerrit-Change-Number: 15626 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:40:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:40:07 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix handling of PTCCH logical channel In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15626 ) Change subject: trxcon/scheduler: fix handling of PTCCH logical channel ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/15626/1/src/host/trxcon/sched_trx.h File src/host/trxcon/sched_trx.h: https://gerrit.osmocom.org/#/c/15626/1/src/host/trxcon/sched_trx.h at 26 PS1, Line 26: /* Osmocom-specific extension for PTCCH (see 3GPP TS 45.002, section 3.3.4.2). is this extension available in libosmocore? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2d1e9b8a66f027047f8d7bdc3f82ff9d8ebcc25e Gerrit-Change-Number: 15626 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 14:40:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:40:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:40:32 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix comment in description of PDTCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15625 ) Change subject: trxcon/scheduler: fix comment in description of PDTCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifd4197b64e89ae6da93ef32189f437a6e297b03f Gerrit-Change-Number: 15625 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 14:40:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:53:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:53:58 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: vty: Print phy link state in cmd 'show transceiver' Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15627 Change subject: bts-trx: vty: Print phy link state in cmd 'show transceiver' ...................................................................... bts-trx: vty: Print phy link state in cmd 'show transceiver' Change-Id: I8e49f8edad9f9c68d110dbb7faeea5143aa91022 --- M include/osmo-bts/phy_link.h M src/common/phy_link.c M src/osmo-bts-trx/trx_vty.c 3 files changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/27/15627/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 3bf5159..a06cf3f 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -157,6 +157,8 @@ struct phy_link *phy_link_create(void *ctx, int num); void phy_link_destroy(struct phy_link *plink); void phy_link_state_set(struct phy_link *plink, enum phy_link_state state); +enum phy_link_state phy_link_state_get(struct phy_link *plink); +const char *phy_link_state_name(enum phy_link_state state); int phy_links_open(void); struct phy_instance *phy_instance_by_num(struct phy_link *plink, int num); diff --git a/src/common/phy_link.c b/src/common/phy_link.c index 588fcc9..85f9e14 100644 --- a/src/common/phy_link.c +++ b/src/common/phy_link.c @@ -81,6 +81,16 @@ plink->state = state; } +enum phy_link_state phy_link_state_get(struct phy_link *plink) +{ + return plink->state; +} + +const char *phy_link_state_name(enum phy_link_state state) +{ + return get_value_string(phy_link_state_vals, state); +} + struct phy_instance *phy_instance_by_num(struct phy_link *plink, int num) { struct phy_instance *pinst; diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 250d180..f554ae5 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -66,13 +66,16 @@ llist_for_each_entry(trx, &bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); - char *sname = osmo_sock_get_name(NULL, pinst->phy_link->u.osmotrx.trx_ofd_clk.fd); + struct phy_link *plink = pinst->phy_link; + char *sname = osmo_sock_get_name(NULL, plink->u.osmotrx.trx_ofd_clk.fd); l1h = pinst->u.osmotrx.hdl; vty_out(vty, "TRX %d %s%s", trx->nr, sname, VTY_NEWLINE); talloc_free(sname); vty_out(vty, " %s%s", trx_if_powered(l1h) ? "poweron":"poweroff", VTY_NEWLINE); + vty_out(vty, "phy link state: %s%s", + phy_link_state_name(phy_link_state_get(plink)), VTY_NEWLINE); if (l1h->config.arfcn_valid) vty_out(vty, " arfcn : %d%s%s", (l1h->config.arfcn & ~ARFCN_PCS), -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8e49f8edad9f9c68d110dbb7faeea5143aa91022 Gerrit-Change-Number: 15627 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:53:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:53:59 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_set_bts(): Avoid double loop by checking current trx Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15628 Change subject: bts-trx: trx_set_bts(): Avoid double loop by checking current trx ...................................................................... bts-trx: trx_set_bts(): Avoid double loop by checking current trx check_transceiver_availability() is a loop over every trx, same to what trx_set_bts() does, so let's call the per-trx version directly. Change-Id: I8843c1438c6af700631aba7b7e72aae0bdb7ec3a --- M src/osmo-bts-trx/l1_if.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/28/15628/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index cd2a03c..9de0abc 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -383,9 +383,8 @@ l1h->config.bsic_sent = 0; l1if_provision_transceiver_trx(l1h); } + check_transceiver_availability_trx(l1h, transceiver_available); } - check_transceiver_availability(bts, transceiver_available); - return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8843c1438c6af700631aba7b7e72aae0bdb7ec3a Gerrit-Change-Number: 15628 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:53:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:53:59 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Rework code handling poweron state Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15629 Change subject: bts-trx: Rework code handling poweron state ...................................................................... bts-trx: Rework code handling poweron state Use of variables in each code is confusing and mixing configuration with POWERON/POWEROFF state (which is at least per phy inst and not per TRX, since those commands are only expected on the 1st phy inst). * field "poweron" becomes "enabled", and is used as an indicator for actions to take during TRX provisioning (hether to power it on and configure it or to power it off). * poweron/poweroff state becomes "powered", and it is shared by all trx in same phy_link, and is updated only after confirmation by TRX. * poweron_set becomes poweronoff_set (because it's used by both POWERON and POWEROFF), and becomes shared by all trx in same phy_link, since those CMDs are usually sent by first phy instance of the link (the first trx). Related: OS#4215 Change-Id: Icd0b482f1454236432e1952220bbec9d178b8607 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 6 files changed, 78 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/29/15629/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index a06cf3f..316a1ba 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -51,6 +51,8 @@ uint32_t rts_advance; bool use_legacy_setbsic; uint8_t trxd_hdr_ver_max; /* Maximum TRXD header version to negotiate */ + bool powered; /* last POWERON (true) or POWEROFF (false) confirmed */ + bool poweronoff_sent; /* is there a POWERON/POWEROFF in transit? (one or the other based on ->powered) */ } osmotrx; struct { char *mcast_dev; /* Network device for multicast */ diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 9de0abc..f564dc5 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -179,6 +179,21 @@ cb_ts_connected(ts, rc); } +static void l1if_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc) +{ + struct phy_instance *pinst = l1h->phy_inst; + struct phy_link *plink = pinst->phy_link; + + plink->u.osmotrx.powered = poweronoff; + plink->u.osmotrx.poweronoff_sent = false; + + if (poweronoff) { + if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) + phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); + else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) + phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); + } +} /* * transceiver provisioning @@ -192,7 +207,7 @@ if (!transceiver_available) return -EIO; - if (l1h->config.poweron + if (l1h->config.enabled && l1h->config.tsc_valid && l1h->config.bsic_valid && l1h->config.arfcn_valid) { @@ -225,9 +240,9 @@ l1h->config.setformat_sent = 1; } - if (!l1h->config.poweron_sent) { - trx_if_cmd_poweron(l1h); - l1h->config.poweron_sent = 1; + if (pinst->num == 0 && !plink->u.osmotrx.powered && !plink->u.osmotrx.poweronoff_sent) { + trx_if_cmd_poweron(l1h, l1if_poweronoff_cb); + plink->u.osmotrx.poweronoff_sent = true; } /* after power on */ @@ -259,9 +274,11 @@ return 0; } - if (!l1h->config.poweron && !l1h->config.poweron_sent) { - trx_if_cmd_poweroff(l1h); - l1h->config.poweron_sent = 1; + if (!l1h->config.enabled) { + if (pinst->num == 0 && plink->u.osmotrx.powered && !plink->u.osmotrx.poweronoff_sent) { + trx_if_cmd_poweroff(l1h, l1if_poweronoff_cb); + plink->u.osmotrx.poweronoff_sent = true; + } l1h->config.rxgain_sent = 0; l1h->config.power_sent = 0; l1h->config.maxdly_sent = 0; @@ -287,7 +304,6 @@ l1h->config.arfcn_sent = 0; l1h->config.tsc_sent = 0; l1h->config.bsic_sent = 0; - l1h->config.poweron_sent = 0; l1h->config.rxgain_sent = 0; l1h->config.power_sent = 0; l1h->config.maxdly_sent = 0; @@ -310,9 +326,8 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; /* power on transceiver, if not already */ - if (!l1h->config.poweron) { - l1h->config.poweron = 1; - l1h->config.poweron_sent = 0; + if (!l1h->config.enabled) { + l1h->config.enabled = true; l1if_provision_transceiver_trx(l1h); } @@ -343,9 +358,8 @@ } /* power off transceiver, if not already */ - if (l1h->config.poweron) { - l1h->config.poweron = 0; - l1h->config.poweron_sent = 0; + if (l1h->config.enabled) { + l1h->config.enabled = false; l1if_provision_transceiver_trx(l1h); } diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 29bd246..a8d40e1 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -54,8 +54,8 @@ uint8_t trxd_hdr_ver_use; /* actual TRXD header version in use */ int setformat_sent; - uint8_t poweron; /* poweron(1) or poweroff(0) */ - int poweron_sent; + bool enabled; + int arfcn_valid; uint16_t arfcn; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 166cfe6..a260919 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -250,23 +250,15 @@ #define trx_ctrl_cmd(l1h, critical, cmd, fmt, ...) trx_ctrl_cmd_cb(l1h, critical, NULL, cmd, fmt, ##__VA_ARGS__) /*! Send "POWEROFF" command to TRX */ -int trx_if_cmd_poweroff(struct trx_l1h *l1h) +int trx_if_cmd_poweroff(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb) { - struct phy_instance *pinst = l1h->phy_inst; - if (pinst->num == 0) - return trx_ctrl_cmd(l1h, 1, "POWEROFF", ""); - else - return 0; + return trx_ctrl_cmd_cb(l1h, 1, cb, "POWEROFF", ""); } /*! Send "POWERON" command to TRX */ -int trx_if_cmd_poweron(struct trx_l1h *l1h) +int trx_if_cmd_poweron(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb) { - struct phy_instance *pinst = l1h->phy_inst; - if (pinst->num == 0) - return trx_ctrl_cmd(l1h, 1, "POWERON", ""); - else - return 0; + return trx_ctrl_cmd_cb(l1h, 1, cb, "POWERON", ""); } /*! Send "SETFORMAT" command to TRX: change TRXD header format version */ @@ -448,6 +440,35 @@ return true; } +static int trx_ctrl_rx_rsp_poweron(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) +{ + trx_if_cmd_poweronoff_cb *cb = (trx_if_cmd_poweronoff_cb*) rsp->cb; + + if (rsp->status != 0) + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + "transceiver rejected POWERON command (%d), re-trying in a few seconds\n", + rsp->status); + + if (cb) + cb(l1h, true, rsp->status); + + /* If TRX fails, try again after 5 sec */ + return rsp->status == 0 ? 0 : 5; +} + +static int trx_ctrl_rx_rsp_poweroff(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) +{ + trx_if_cmd_poweronoff_cb *cb = (trx_if_cmd_poweronoff_cb*) rsp->cb; + + if (rsp->status == 0) { + if (cb) + cb(l1h, false, rsp->status); + return 0; + } + + return -EINVAL; +} + static int trx_ctrl_rx_rsp_setslot(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) { trx_if_cmd_setslot_cb *cb = (trx_if_cmd_setslot_cb*) rsp->cb; @@ -525,22 +546,10 @@ struct trx_ctrl_rsp *rsp, struct trx_ctrl_msg *tcm) { - struct phy_instance *pinst = l1h->phy_inst; - - /* If TRX fails, try again after 1 sec */ if (strcmp(rsp->cmd, "POWERON") == 0) { - if (rsp->status == 0) { - if (pinst->phy_link->state != PHY_LINK_CONNECTED) - phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); - return 0; - } else { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, - "transceiver rejected POWERON command (%d), re-trying in a few seconds\n", - rsp->status); - if (pinst->phy_link->state != PHY_LINK_SHUTDOWN) - phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); - return 5; - } + return trx_ctrl_rx_rsp_poweron(l1h, rsp); + } else if (strcmp(rsp->cmd, "POWEROFF") == 0) { + return trx_ctrl_rx_rsp_poweroff(l1h, rsp); } else if (strcmp(rsp->cmd, "SETSLOT") == 0) { return trx_ctrl_rx_rsp_setslot(l1h, rsp); /* We may get 'RSP ERR 1' if 'SETFORMAT' is not supported, @@ -1176,9 +1185,8 @@ /* enable all slots */ l1h->config.slotmask = 0xff; - /* FIXME: why was this only for TRX0 ? */ - //if (l1h->trx->nr == 0) - trx_if_cmd_poweroff(l1h); + if (pinst->num == 0) + trx_if_cmd_poweroff(l1h, NULL); return 0; @@ -1266,5 +1274,7 @@ /*! determine if the TRX for given handle is powered up */ int trx_if_powered(struct trx_l1h *l1h) { - return l1h->config.poweron; + struct phy_instance *pinst = l1h->phy_inst; + struct phy_link *plink = pinst->phy_link; + return plink->u.osmotrx.powered; } diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index dda7116..3325c62 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -15,11 +15,12 @@ void *cb; }; +typedef void trx_if_cmd_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc); typedef void trx_if_cmd_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc); void trx_if_init(struct trx_l1h *l1h); -int trx_if_cmd_poweroff(struct trx_l1h *l1h); -int trx_if_cmd_poweron(struct trx_l1h *l1h); +int trx_if_cmd_poweroff(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb); +int trx_if_cmd_poweron(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb); int trx_if_cmd_settsc(struct trx_l1h *l1h, uint8_t tsc); int trx_if_cmd_setbsic(struct trx_l1h *l1h, uint8_t bsic); int trx_if_cmd_setrxgain(struct trx_l1h *l1h, int db); diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index f554ae5..993c780 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -290,9 +290,9 @@ struct trx_l1h *l1h = pinst->u.osmotrx.hdl; if (strcmp(argv[0], "on")) - vty_out(vty, "OFF: %d%s", trx_if_cmd_poweroff(l1h), VTY_NEWLINE); + vty_out(vty, "OFF: %d%s", trx_if_cmd_poweroff(l1h, NULL), VTY_NEWLINE); else { - vty_out(vty, "ON: %d%s", trx_if_cmd_poweron(l1h), VTY_NEWLINE); + vty_out(vty, "ON: %d%s", trx_if_cmd_poweron(l1h, NULL), VTY_NEWLINE); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icd0b482f1454236432e1952220bbec9d178b8607 Gerrit-Change-Number: 15629 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:54:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:54:00 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Don't reset transceiver_available in scheduler_trx.c Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15630 Change subject: bts-trx: Don't reset transceiver_available in scheduler_trx.c ...................................................................... bts-trx: Don't reset transceiver_available in scheduler_trx.c It can be dropped since bts_shutdown() ends up calling immediatelly bts_model_trx_close() which in turn calls bts_model_trx_close() which sets enabled = false and calls l1if_provision_transceiver_trx() to power off the TRX. Related: OS#4215 Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/30/15630/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 6c3a8ff..967e887 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1677,10 +1677,7 @@ no_clock: osmo_timerfd_disable(&tcs->fn_timer_ofd); - transceiver_available = 0; - bts_shutdown(bts, "No clock from osmo-trx"); - return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If8b3d2379d7ae102e1c338f4558ac1352de761cc Gerrit-Change-Number: 15630 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:54:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:54:00 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Drop unused func check_transceiver_availability() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/15631 Change subject: bts-trx: Drop unused func check_transceiver_availability() ...................................................................... bts-trx: Drop unused func check_transceiver_availability() After getting rid of transceiver_available, this function is not used anymore by any code, since its per-trx counterpart l1if_provision_transceiver_trx() is the one used by other code. Change-Id: If5a988eb14658a78dd46234dccc052dc12fb872a --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h 2 files changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/31/15631/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 221d88b..1079128 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -114,18 +114,6 @@ } } -int check_transceiver_availability(struct gsm_bts *bts, int avail) -{ - struct gsm_bts_trx *trx; - - llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; - check_transceiver_availability_trx(l1h, avail); - } - return 0; -} - int bts_model_lchan_deactivate(struct gsm_lchan *lchan) { struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx); diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index a8d40e1..4ff1f97 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -112,7 +112,6 @@ }; struct trx_l1h *trx_l1h_alloc(void *tall_ctx, struct phy_instance *pinst); -int check_transceiver_availability(struct gsm_bts *bts, int avail); int l1if_provision_transceiver_trx(struct trx_l1h *l1h); int l1if_provision_transceiver(struct gsm_bts *bts); int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If5a988eb14658a78dd46234dccc052dc12fb872a Gerrit-Change-Number: 15631 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 14:54:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 14:54:08 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: Get rid of messy transceiver_available state handler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/15615 ) Change subject: bts-trx: Get rid of messy transceiver_available state handler ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/15615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I35f4697bd33dbe8a4c76c9500b82c16589c701d4 Gerrit-Change-Number: 15615 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 14:54:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 15:02:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 15:02:12 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix handling of PTCCH logical channel In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/15626 ) Change subject: trxcon/scheduler: fix handling of PTCCH logical channel ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/15626/1/src/host/trxcon/sched_trx.h File src/host/trxcon/sched_trx.h: https://gerrit.osmocom.org/#/c/15626/1/src/host/trxcon/sched_trx.h at 26 PS1, Line 26: /* Osmocom-specific extension for PTCCH (see 3GPP TS 45.002, section 3.3.4.2). > is this extension available in libosmocore? Nope, this is actually more a trxcon-specific extension for now. But since we need a similar patch for OsmoBTS (it also implements PTCCH handling in a wrong way), we may probably want to share this macro in libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/15626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I2d1e9b8a66f027047f8d7bdc3f82ff9d8ebcc25e Gerrit-Change-Number: 15626 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 15:02:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 17:52:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 17:52:24 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15633 Change subject: Log AGCH and PCH blocks using GSMTAP ...................................................................... Log AGCH and PCH blocks using GSMTAP Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 --- M src/bts.h M src/pcu_l1_if.cpp M src/pcu_vty.c 3 files changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/15633/1 diff --git a/src/bts.h b/src/bts.h index ad94ef3..ad19330 100644 --- a/src/bts.h +++ b/src/bts.h @@ -58,6 +58,8 @@ PCU_GSMTAP_C_DL_DATA_GPRS = 3, /* downlink GPRS data blocks */ PCU_GSMTAP_C_DL_DATA_EGPRS = 4, /* downlink EGPRS data blocks */ PCU_GSMTAP_C_DL_PTCCH = 5, /* downlink PTCCH blocks */ + PCU_GSMTAP_C_DL_AGCH = 6, /* downlink PTCCH blocks */ + PCU_GSMTAP_C_DL_PCH = 7, /* downlink PTCCH blocks */ PCU_GSMTAP_C_UL_UNKNOWN = 15, /* unknown or undecodable uplink blocks */ PCU_GSMTAP_C_UL_DUMMY = 16, /* uplink dummy blocks */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 8901ce6..c7913d5 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -207,16 +207,22 @@ void pcu_l1if_tx_agch(bitvec * block, int plen) { + struct gprs_rlcmac_bts *bts = bts_main_data(); uint8_t data[23]; /* prefix PLEN */ /* FIXME: why does OpenBTS has no PLEN and no fill in message? */ bitvec_pack(block, data + 1); data[0] = (plen << 2) | 0x01; + + if (bts->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_AGCH)) + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_AGCH, 0, 0, 0, 0, data, 23); + pcu_tx_data_req(0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, 23); } void pcu_l1if_tx_pch(bitvec * block, int plen, const char *imsi) { + struct gprs_rlcmac_bts *bts = bts_main_data(); uint8_t data[3+1+23]; /* prefix PLEN */ /* paging group */ @@ -230,6 +236,11 @@ OSMO_ASSERT(block->data_len <= sizeof(data) - (3+1)); bitvec_pack(block, data + 3+1); data[3] = (plen << 2) | 0x01; + + if (bts->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_PCH)) + gsmtap_send(bts->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data, 23+3); + + pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); } diff --git a/src/pcu_vty.c b/src/pcu_vty.c index dbde374..ccd3e81 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -28,6 +28,8 @@ { PCU_GSMTAP_C_DL_DATA_GPRS, "dl-data-gprs" }, { PCU_GSMTAP_C_DL_DATA_EGPRS, "dl-data-egprs" }, { PCU_GSMTAP_C_DL_PTCCH, "dl-ptcch" }, + { PCU_GSMTAP_C_DL_AGCH, "dl-agch" }, + { PCU_GSMTAP_C_DL_PCH, "dl-pch" }, { PCU_GSMTAP_C_UL_UNKNOWN, "ul-unknown" }, { PCU_GSMTAP_C_UL_DUMMY, "ul-dummy" }, @@ -46,6 +48,8 @@ { PCU_GSMTAP_C_DL_DATA_GPRS, "Downlink Data Blocks (GPRS)" }, { PCU_GSMTAP_C_DL_DATA_EGPRS, "Downlink Data Blocks (EGPRS)" }, { PCU_GSMTAP_C_DL_PTCCH, "Downlink PTCCH Blocks" }, + { PCU_GSMTAP_C_DL_AGCH, "Downlink AGCH Blocks" }, + { PCU_GSMTAP_C_DL_PCH, "Downlink PCH Blocks" }, { PCU_GSMTAP_C_UL_UNKNOWN, "Unknown / Unparseable / Erroneous Downlink Blocks" }, { PCU_GSMTAP_C_UL_DUMMY, "Uplink Dummy Blocks" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 Gerrit-Change-Number: 15633 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 17:52:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 17:52:23 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15632 Change subject: Log RACH Requests using GSMTAP ...................................................................... Log RACH Requests using GSMTAP Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a --- M src/bts.cpp M src/bts.h M src/pcu_vty.c 3 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/15632/1 diff --git a/src/bts.cpp b/src/bts.cpp index df58494..0d33d81 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -750,6 +750,8 @@ /* Determine full frame number */ Fn = rfn_to_fn(Fn); + send_gsmtap(PCU_GSMTAP_C_UL_RACH, true, 0, ts_no, GSMTAP_CHANNEL_RACH, Fn, (uint8_t*)&ra, sizeof(ra)); + LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF on RACH, " "so we provide one: ra=0x%02x Fn=%u qta=%d is_11bit=%d:\n", ra, Fn, qta, is_11bit); diff --git a/src/bts.h b/src/bts.h index fab9bcb..ad94ef3 100644 --- a/src/bts.h +++ b/src/bts.h @@ -64,6 +64,7 @@ PCU_GSMTAP_C_UL_CTRL = 17, /* uplink control blocks */ PCU_GSMTAP_C_UL_DATA_GPRS = 18, /* uplink GPRS data blocks */ PCU_GSMTAP_C_UL_DATA_EGPRS = 19, /* uplink EGPRS data blocks */ + PCU_GSMTAP_C_UL_RACH = 20, /* uplink RACH blocks */ }; struct BTS; diff --git a/src/pcu_vty.c b/src/pcu_vty.c index c47c896..dbde374 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -34,6 +34,7 @@ { PCU_GSMTAP_C_UL_CTRL, "ul-ctrl" }, { PCU_GSMTAP_C_UL_DATA_GPRS, "ul-data-gprs" }, { PCU_GSMTAP_C_UL_DATA_EGPRS, "ul-data-egprs" }, + { PCU_GSMTAP_C_UL_RACH, "ul-rach" }, { 0, NULL } }; @@ -51,6 +52,7 @@ { PCU_GSMTAP_C_UL_CTRL, "Uplink Control Blocks" }, { PCU_GSMTAP_C_UL_DATA_GPRS, "Uplink Data Blocks (GPRS)" }, { PCU_GSMTAP_C_UL_DATA_EGPRS, "Uplink Data Blocks (EGPRS)" }, + { PCU_GSMTAP_C_UL_RACH, "Uplink RACH Blocks" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a Gerrit-Change-Number: 15632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 17:54:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 17:54:23 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15633 ) Change subject: Log AGCH and PCH blocks using GSMTAP ...................................................................... Patch Set 1: For some reason I'm unable to find out why GSMTAP messages added in this commit do not end up recorded in the pcap file. I added code to log to file and make sure the path is being called and gsmtap runs fine, and everything looks fine, but finally I only see the RACH messages in the pcap file. Same issue happens with gsmtap logging. It is enabled but logging doesn't show up in pcap file... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 Gerrit-Change-Number: 15633 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 30 Sep 2019 17:54:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 17:57:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 17:57:26 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable logging color in osmo-pcu.log Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15634 Change subject: ttcn3-pcu: Enable logging color in osmo-pcu.log ...................................................................... ttcn3-pcu: Enable logging color in osmo-pcu.log Change-Id: I209b03e493bb6b047a46eadd80712259f1d1474d --- M ttcn3-pcu-test/osmo-pcu.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/34/15634/1 diff --git a/ttcn3-pcu-test/osmo-pcu.cfg b/ttcn3-pcu-test/osmo-pcu.cfg index ed31269..cf13ed8 100644 --- a/ttcn3-pcu-test/osmo-pcu.cfg +++ b/ttcn3-pcu-test/osmo-pcu.cfg @@ -3,7 +3,7 @@ log file /data/osmo-pcu.log logging filter all 1 - logging color 0 + logging color 1 logging print level 1 logging print category 1 logging print category-hex 0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I209b03e493bb6b047a46eadd80712259f1d1474d Gerrit-Change-Number: 15634 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 17:57:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 17:57:26 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/15635 Change subject: ttcn3-pcu: Enable GSMTAP ...................................................................... ttcn3-pcu: Enable GSMTAP Depends on recent commit adding RACH, AGCH and PCH gsmtap categories. Depends: osmo-pcui.git I4d62f98801af1b0a290d3dd35bd213ccf3151035 Change-Id: I24782f5403266d29aea46ef1d94a431077b194b3 --- M ttcn3-pcu-test/jenkins.sh M ttcn3-pcu-test/osmo-pcu.cfg 2 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/35/15635/1 diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index e78dca0..17d76b5 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -27,7 +27,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu -d \ $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ - /usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg + /usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.13.10 echo Starting container with PCU testsuite docker run --rm \ diff --git a/ttcn3-pcu-test/osmo-pcu.cfg b/ttcn3-pcu-test/osmo-pcu.cfg index cf13ed8..c1ed139 100644 --- a/ttcn3-pcu-test/osmo-pcu.cfg +++ b/ttcn3-pcu-test/osmo-pcu.cfg @@ -21,3 +21,17 @@ alpha 0 gamma 0 pcu-socket /data/unix/pcu_bts + gsmtap-category dl-unknown + gsmtap-category dl-dummy + gsmtap-category dl-ctrl + gsmtap-category dl-data-gprs + gsmtap-category dl-data-egprs + gsmtap-category dl-ptcch + gsmtap-category dl-agch + gsmtap-category dl-pch + gsmtap-category ul-unknown + gsmtap-category ul-dummy + gsmtap-category ul-ctrl + gsmtap-category ul-data-gprs + gsmtap-category ul-data-egprs + gsmtap-category ul-rach -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I24782f5403266d29aea46ef1d94a431077b194b3 Gerrit-Change-Number: 15635 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 18:01:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 18:01:13 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15633 ) Change subject: Log AGCH and PCH blocks using GSMTAP ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/15633/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/15633/1/src/bts.h at 61 PS1, Line 61: PTCCH copy-paste, please fix https://gerrit.osmocom.org/#/c/15633/1/src/bts.h at 62 PS1, Line 62: PTCCH copy-paste, please fix https://gerrit.osmocom.org/#/c/15633/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15633/1/src/pcu_l1_if.cpp at 241 PS1, Line 241: data, 23+3 We need to send a MAC block to Wireshark without the prefix, so: ..., data + 4, 23); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 Gerrit-Change-Number: 15633 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 18:01:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 18:05:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 18:05:47 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15632 ) Change subject: Log RACH Requests using GSMTAP ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/15632/1/src/bts.h File src/bts.h: https://gerrit.osmocom.org/#/c/15632/1/src/bts.h at 67 PS1, Line 67: blocks bursts https://gerrit.osmocom.org/#/c/15632/1/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/#/c/15632/1/src/bts.cpp at 753 PS1, Line 753: sizeof(ra) sizeof(uint16_t) is always 2, while we should pass 1 for 8-bit RA and 2 for 11-bit RA. https://gerrit.osmocom.org/#/c/15632/1/src/pcu_vty.c File src/pcu_vty.c: https://gerrit.osmocom.org/#/c/15632/1/src/pcu_vty.c at 55 PS1, Line 55: Blocks Bursts, RACH has no blocks. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a Gerrit-Change-Number: 15632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Sep 2019 18:05:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 18:20:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 18:20:47 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15632 to look at the new patch set (#2). Change subject: Log RACH Requests using GSMTAP ...................................................................... Log RACH Requests using GSMTAP Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a --- M src/bts.cpp M src/bts.h M src/pcu_vty.c 3 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/15632/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a Gerrit-Change-Number: 15632 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 18:20:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Sep 2019 18:20:47 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: Hello fixeria, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 to look at the new patch set (#2). Change subject: Log AGCH and PCH blocks using GSMTAP ...................................................................... Log AGCH and PCH blocks using GSMTAP Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 --- M src/bts.h M src/pcu_l1_if.cpp M src/pcu_vty.c 3 files changed, 18 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/15633/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 Gerrit-Change-Number: 15633 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 21:35:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 21:35:40 +0000 Subject: Change in ...osmo-pcu[master]: Log RACH Requests using GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15632 ) Change subject: Log RACH Requests using GSMTAP ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib686a49e8c630808c30bede5810cd65fc045954a Gerrit-Change-Number: 15632 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 30 Sep 2019 21:35:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 21:38:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 21:38:33 +0000 Subject: Change in ...osmo-pcu[master]: Log AGCH and PCH blocks using GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/15633 ) Change subject: Log AGCH and PCH blocks using GSMTAP ...................................................................... Patch Set 2: Code-Review-1 (1 comment) Fine by me, excluding the gsmtap_send() / pcu_tx_data_req() confusion. https://gerrit.osmocom.org/#/c/15633/2/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/#/c/15633/2/src/pcu_l1_if.cpp at 244 PS2, Line 244: data + 4, 23 This should have been done for gsmtap_send(), not here. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/15633 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4d62f98801af1b0a290d3dd35bd213ccf3151035 Gerrit-Change-Number: 15633 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Sep 2019 21:38:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 21:39:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 21:39:30 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable logging color in osmo-pcu.log In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15634 ) Change subject: ttcn3-pcu: Enable logging color in osmo-pcu.log ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15634 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I209b03e493bb6b047a46eadd80712259f1d1474d Gerrit-Change-Number: 15634 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 30 Sep 2019 21:39:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 21:40:34 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 21:40:34 +0000 Subject: Change in ...docker-playground[master]: ttcn3-pcu: Enable GSMTAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/15635 ) Change subject: ttcn3-pcu: Enable GSMTAP ...................................................................... Patch Set 1: Code-Review+1 Let's keep it WIP until your OsmoPCU changes are merged. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/15635 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I24782f5403266d29aea46ef1d94a431077b194b3 Gerrit-Change-Number: 15635 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 30 Sep 2019 21:40:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 23:00:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 23:00:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15636 Change subject: library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing Advance ...................................................................... library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing Advance This message is sent on PACCH by the network to the mobile station in order to update the mobile station timing advance or power control parameters. See 3GPP TS 44.060, section 11.2.13. Change-Id: Ie07000b08918501a99962ad760932a27eacae678 --- M library/RLCMAC_CSN1_Types.ttcn 1 file changed, 59 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/15636/1 diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 918cbff..29ec07b 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -26,6 +26,7 @@ PACKET_PAGING_REQUEST ('100010'B), PACKET_PDCH_RELEASE ('100011'B), PACKET_POLLING_REQUEST ('000100'B), + PACKET_PWR_CONTROL_TA ('000101'B), /* TODO */ PACKET_TBF_RELEASE ('001000'B), PACKET_UL_ACK_NACK ('001001'B), @@ -282,6 +283,62 @@ variant (persistence_levels) "PRESENCE(persistence_levels_present = '1'B)" }; + /* 11.9 Global Power Control Parameters */ + type record GlobalPwrCtrlParams { + uint4_t alpha, + uint5_t t_avg_v, + uint5_t t_avg_t, + uint4_t pb, + BIT1 pc_meas_chan, + BIT1 spare ('0'B), + uint4_t n_avg_i + }; + + /* 12.12a Global Packet Timing Advance */ + type record TimingAdvanceIdxTN { + uint4_t ta_idx, + uint3_t ts_num + }; + type record GlobalPacketTA { + BIT1 ta_val_presence, + uint4_t ta_val optional, + BIT1 ul_presence, + TimingAdvanceIdxTN ul optional, + BIT1 dl_presence, + TimingAdvanceIdxTN dl optional + } with { + variant (ta_val) "PRESENCE(ta_val_presence = '1'B)" + variant (ul) "PRESENCE(ul_presence = '1'B)" + variant (dl) "PRESENCE(dl_presence = '1'B)" + }; + + /* 11.2.13 Packet Power Control/Timing Advance */ + type record PacketPwrControlTAMsg { + BIT1 g_pwr_ctrl_presence, + GlobalPwrCtrlParams g_pwr_ctrl optional, + BIT1 split, + BIT1 split_desc optional, + GlobalPacketTA g_pkt_ta optional, + PowerControlParameters pwr_ctrl optional + /* TODO: additions for R99, REL-7, REL-12 */ + } with { + variant (g_pwr_ctrl) "PRESENCE(g_pwr_ctrl_presence = '1'B)" + variant (split_desc) "PRESENCE(split = '1'B)" + /* FIXME: Fancy coding: either both IEs together, or one of them */ + variant (g_pkt_ta) "PRESENCE(split = '0'B, split_desc = '0'B)" + variant (pwr_ctrl) "PRESENCE(split = '0'B, split_desc = '1'B)" + }; + type record PacketPwrControlTA { + PageMode page_mode, + NullGlobalTfi global_tfi, + /* See 11.1.3.3 'Message escape' error label + * 0 < Message body > ! < Message escape : 1 bit (*) = > */ + BIT1 msg_escape, + PacketPwrControlTAMsg msg optional + } with { + variant (msg) "PRESENCE(msg_escape = '0'B)" + }; + /* 11.2.0.1 */ type union RlcmacDlCtrlUnion { PacketDlAssignment dl_assignment, @@ -289,6 +346,7 @@ PacketPagingReq paging, PacketUlAckNack ul_ack_nack, PacketDlDummy dl_dummy, + PacketPwrControlTA pwr_ta, octetstring other } with { variant "" }; @@ -301,6 +359,7 @@ paging, msg_type = PACKET_PAGING_REQUEST; ul_ack_nack, msg_type = PACKET_UL_ACK_NACK; dl_dummy, msg_type = PACKET_DL_DUMMY_CTRL; + pwr_ta, msg_type = PACKET_PWR_CONTROL_TA; other, OTHERWISE )" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15636 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie07000b08918501a99962ad760932a27eacae678 Gerrit-Change-Number: 15636 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 23:00:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 23:00:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637 Change subject: library/RLCMAC_Types.ttcn: implement PTCCH/D message coding ...................................................................... library/RLCMAC_Types.ttcn: implement PTCCH/D message coding Change-Id: I0e3dc3f4853799f1467a5f6726dac0d43c2eb93d Related: SYS#4606 --- M library/RLCMAC_Types.ttcn 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/37/15637/1 diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 39c0c97..ad9d8f4 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -385,5 +385,61 @@ payload := data } + /* PTCCH/D (Packet Timing Advance Control Channel) message. + * TODO: add a spec. reference to the message format definition. */ + type record PTCCHTimingAdvanceIE { + BIT1 spare ('0'B), + uint7_t ta_val + } with { variant "" }; + type record of PTCCHTimingAdvanceIE PTCCHTimingAdvanceIEs; + type record PTCCHDownlinkMsg { + PTCCHTimingAdvanceIEs ta_idx length(16), + octetstring padding length(7) + } with { variant "" }; + + external function enc_PTCCHDownlinkMsg(in PTCCHDownlinkMsg si) return octetstring + with { extension "prototype(convert) encode(RAW)" }; + external function dec_PTCCHDownlinkMsg(in octetstring stream) return PTCCHDownlinkMsg + with { extension "prototype(convert) decode(RAW)" }; + + template PTCCHDownlinkMsg tr_PTCCHDownlinkMsg( + template (present) uint7_t tai0_ta := ?, + template (present) uint7_t tai1_ta := ?, + template (present) uint7_t tai2_ta := ?, + template (present) uint7_t tai3_ta := ?, + template (present) uint7_t tai4_ta := ?, + template (present) uint7_t tai5_ta := ?, + template (present) uint7_t tai6_ta := ?, + template (present) uint7_t tai7_ta := ?, + template (present) uint7_t tai8_ta := ?, + template (present) uint7_t tai9_ta := ?, + template (present) uint7_t tai10_ta := ?, + template (present) uint7_t tai11_ta := ?, + template (present) uint7_t tai12_ta := ?, + template (present) uint7_t tai13_ta := ?, + template (present) uint7_t tai14_ta := ?, + template (present) uint7_t tai15_ta := ? + ) := { + ta_idx := { + { spare := '0'B, ta_val := tai0_ta }, + { spare := '0'B, ta_val := tai1_ta }, + { spare := '0'B, ta_val := tai2_ta }, + { spare := '0'B, ta_val := tai3_ta }, + { spare := '0'B, ta_val := tai4_ta }, + { spare := '0'B, ta_val := tai5_ta }, + { spare := '0'B, ta_val := tai6_ta }, + { spare := '0'B, ta_val := tai7_ta }, + { spare := '0'B, ta_val := tai8_ta }, + { spare := '0'B, ta_val := tai9_ta }, + { spare := '0'B, ta_val := tai10_ta }, + { spare := '0'B, ta_val := tai11_ta }, + { spare := '0'B, ta_val := tai12_ta }, + { spare := '0'B, ta_val := tai13_ta }, + { spare := '0'B, ta_val := tai14_ta }, + { spare := '0'B, ta_val := tai15_ta } + }, + padding := '2B2B2B2B2B2B2B'O + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0e3dc3f4853799f1467a5f6726dac0d43c2eb93d Gerrit-Change-Number: 15637 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Sep 30 23:00:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Sep 2019 23:00:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 Change subject: PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding ...................................................................... PCU_Tests_RAW.ttcn: introduce a test case for PTCCH/D coding Change-Id: I887c8922446d0c1a959e6f2678f50e5754f55e83 Related: SYS#4606 --- M pcu/PCU_Tests_RAW.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/15638/1 diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 6b45af2..5bd966d 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -605,6 +605,45 @@ } } +/* Verify that the PCU generates valid PTCCH/D messages + * while neither Uplink nor Downlink TBF is established. */ +testcase TC_ta_ptcch_idle() runs on RAW_PCU_Test_CT { + var PTCCHDownlinkMsg ptcch_msg; + var PCUIF_Message pcu_msg; + timer T; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Sent an RTS.req for PTCCH/D */ + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH, fn := 0, + arfcn := 871, block_nr := 0)); + T.start(5.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PTCCH)) -> value pcu_msg { + log("Rx DATA.req message: ", pcu_msg); + setverdict(pass); + } + [] BTS.receive(PCUIF_Message:?) { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for a PTCCH/D block"); + mtc.stop; + } + } + + ptcch_msg := dec_PTCCHDownlinkMsg(pcu_msg.u.data_req.data); + log("Decoded PTCCH/D message: ", ptcch_msg); + + /* Make sure the message is encoded correctly + * TODO: do we expect all TA values to be equal '1111111'B? */ + if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { + setverdict(fail, "Malformed PTCCH/D message"); + mtc.stop; + } +} + /* Default link quality adaptation (Coding Scheme) ranges: /* CS1: ... 6 dB, CS2: 5 .. 8 dB, CS3: 7 .. 13 db, CS4: 12 ... dB */ private template integer CS1_lqual_dB_range := (-infinity .. 6); @@ -719,6 +758,7 @@ execute( TC_ns_so_block() ); execute( TC_pcuif_suspend() ); + execute( TC_ta_ptcch_idle() ); execute( TC_ta_rach_imm_ass() ); execute( TC_cs_lqual_ul_tbf() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I887c8922446d0c1a959e6f2678f50e5754f55e83 Gerrit-Change-Number: 15638 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: